C#:从Outlook MailItem保存嵌入的图像

时间:2016-06-28 09:35:06

标签: c# image outlook save mailitem

我尝试从Outlook MailItem(HTML-Body)保存嵌入的图像,但我找不到嵌入图像存储在哪个属性以及如何保存它。

我试图从属性中获取图像。附件(我已经尝试了索引0),但随后抛出异常,表明Array-index超出范围。这意味着,电子邮件中没有附件。

但是如果图像没有存储在"附件"存储图像的位置以及如何将其保存到文件系统?

非常感谢您的答案!

祝你好运 的Matthias

1 个答案:

答案 0 :(得分:0)

我自己找到了解决方案。

问题是,我正在通过其他线程访问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);
    }
}