C#: сохранить встроенное изображение из Outlook MailItem

Я пытаюсь сохранить встроенное изображение из Outlook MailItem (HTML-Body), но не могу найти, в каком свойстве хранится встроенное изображение и как его сохранить.

Я попытался получить изображение из свойства.Attachments (я пробовал индекс 0), но затем выдается исключение, что индекс массива находится вне диапазона. Это означает, что в E-Mail нет вложений.

Но если изображение не хранится в "Attachments", где хранится изображение и как я могу сохранить его в файловой системе?

Заранее большое спасибо за ваши ответы!

С наилучшими пожеланиями Матиас

1 ответ

Я нашел решение сам.

Проблема была в том, что я обращался к MailItem другим потоком. Я не знаю почему, но из этой темы вы не можете видеть вложения. После помещения части для чтения почты внутрь

this.Dispatcher.Invoke(new Action(() => { ... }));

это работает отлично. Затем вы можете получить доступ к встроенному изображению с помощью этого кода...

if (mail.Attachments.Count > 0)
{
    for (int i = 1; i <= mail.Attachments.Count; i++)
    {
        mail.Attachments[i].SaveAsFile(@"C:\Test\" + mail.Attachments[i].FileName);
    }
}
Другие вопросы по тегам