我正在尝试从当前正在编辑的现有邮件中生成新邮件。用户键入其电子邮件的内容(以下代码中的currentMailItem),单击按钮,然后使用currentMailItem作为模板生成一组邮件。
工作正常,除了嵌入图像:签名、使用插入命令插入的图像,它们不会显示在生成的邮件中(“链接图像无法显示…”)。所以我尝试获取这些图像,将它们重新连接到新的邮件项目并重新链接它们。
我通过以下方式检索邮件:
Outlook.MailItem currentMailItem = Application.ActiveInspector().CurrentItem;
然后我在附件中循环(无论如何,我这样做是为了将实际附件复制到生成的邮件中)
foreach (Attachment attachment in currentMailItem.Attachments)
{
var tempFile = "...";
attachment.SaveAsFile(tempFile);
}
这时,一些奇怪的事情发生了,使用最简单的可能情况:一封包含一个短字符串的邮件和一个包含图像的签名。
-
第一次启动该函数时,附件完全为空,没有签名图像的痕迹。
-
如果我再次启动该函数,这一次只有一个附件,只有在我尝试保存附件时出现异常:
系统运行时。InteropServices。COMException:“无法保存附件。无法添加附件;未提供数据源。”
-
更奇怪的是,有一次,而且只有一次,尽管我运行了1000次这个代码,但我实际上还是保存了附件,正如预期的那样,这就是签名图像。
在这一点上,我对任何指针都持开放态度。。。
谢谢