1

我目前正在编写 Outlook 2007 的插件,但在尝试序列化附件时遇到了问题。尽管 System.Net.Mail Attachments 有一个 ContentStream 可用于序列化数据,但 Microsoft.Office.Interop.Outlook Attachments 没有。不幸的是,我可以直接从 Outlook 获得的唯一附件类型是 Microsoft.Office.Interop.Outlook 附件。我已经搜索了一下,但找不到类似的东西。

MailItem item = getMailObj(e);    
String dataSend = serializeAttachment((System.Net.Mail.Attachment)item.Attachments[1]);

如您所见,我尝试对初始附件进行类型转换,但给出了无效转换异常:

无法将类型为“System.__ComObject”的 COM 对象转换为类类型“System.Net.Mail.Attachment”。表示 COM 组件的类型的实例不能转换为不表示 COM 组件的类型;但是,只要底层 COM 组件支持对接口的 IID 的 QueryInterface 调用,它们就可以转换为接口。

我也不能随便放

System.Net.Mail.Attachment newAtt = item.Attachments[1];

正如 VisualStudio 2010 只是告诉我对它进行类型转换。对于如何解决这个问题,有任何的建议吗?

4

2 回答 2

1

我不认为可以转换或转换类型。只需读取 Outlook 附件的内容并将其写入 Mail.Attachment。

于 2011-03-31T18:17:49.337 回答
-4

我试过这段代码,它工作:

htmbody = "<HTML><BODY>"
htmbody = htmbody + "<table border=0>"
htmbody = htmbody + "<tr>"
htmbody = htmbody + "<td><img src=C:\temp\filename\place.png></td>"
于 2016-06-07T15:13:18.503 回答