繁体   English   中英

创建邮件时,请在Outlook加载项(C#)中读取Outlook附件内容

[英]Read Outlook attachment content in Outlook add-in (C# ) while creating a mail

我正在尝试在VS 2010中开发一个Outlook加载项。它的目的是扫描一些关键词的电子邮件正文和附件内容,如果找到任何这样的单词,应该阻止电子邮件发送。 我能够阅读电子邮件正文和主题以及验证,但我不了解如何在撰写邮件时阅读附件内容(txt文件)。

attachment.GetTemporaryPath()没有给出附件路径。 我想这只适用于收件箱中的邮件。 我找到的一种方法是将附件保存到临时文件夹并读取它(attachment.saveAs())。 这是在撰写邮件时阅读附件内容的唯一方法吗?

可能重复: C#Outlook 2007 - 如何直接从我的插件访问附件内容?

但正如那里所建议的那样,我无法使用救赎。 还有其他方法吗?

是的,将附件数据保存到临时文件并以唯一的方式读取它。 理论上,您可以使用Attachment.PropertyAccessor.GetProperty来读取PR_ATTACH_DATA_BIN属性,但是您将遇到大(> 64kB)文件的问题。

您还可以使用扩展MAPI将附件数据打开为IStream(IAttach :: OpenProperty(PR_ATTACH_DATA_BIN,IID_IStream)),但只能通过C ++或Delphi访问。 您可以使用包装扩展MAPI的Redemption (任何语言)并在RDOAttachment和Safe * Item对象公开的Attachment对象上公开AsArray和AsText属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM