Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建邮件时,请阅读Outlook加载项(C#)中的Outlook附件内容_C#_Outlook_Outlook Addin_Outlook 2007 - Fatal编程技术网

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

创建邮件时,请阅读Outlook加载项(C#)中的Outlook附件内容,c#,outlook,outlook-addin,outlook-2007,C#,Outlook,Outlook Addin,Outlook 2007,我正在尝试在VS2010中开发outlook插件。它的目的是扫描一些关键字的电子邮件正文和附件内容,如果发现任何这样的话,电子邮件发送应该被阻止。 我能够阅读电子邮件正文和主题,并接受验证,但我不理解在撰写邮件时如何阅读附件内容(txt文件) attachment.GetTemporaryPath()未提供附件路径。我想这只适用于收件箱中的邮件。 我找到的一种方法是将附件保存到临时文件夹并读取它(attachment.saveAs())。 这是撰写邮件时读取附件内容的唯一方法吗 可能重复: 但正

我正在尝试在VS2010中开发outlook插件。它的目的是扫描一些关键字的电子邮件正文和附件内容,如果发现任何这样的话,电子邮件发送应该被阻止。 我能够阅读电子邮件正文和主题,并接受验证,但我不理解在撰写邮件时如何阅读附件内容(txt文件)

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

可能重复:


但正如上面所说,我不能使用救赎。还有其他方法吗?

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


还可以使用扩展MAPI来将附件数据作为ISTRAM打开(IAt::OpenFrand(PROAtthCyDATAYBIN,IIDAISTIRAM)),但它只能通过C++或Delphi访问。您可以使用(任何语言)包装扩展MAPI,并在Safe*Item对象及其公开的对象上公开AsArray和AsText属性。

感谢您的回复。我将尝试PropertyAccessor.GetProperty方法。