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);
}
}