Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
C# 如何知道附件是否是Outlook电子邮件中的签名_C#_Email_Outlook_Outlook Redemption - Fatal编程技术网

C# 如何知道附件是否是Outlook电子邮件中的签名

C# 如何知道附件是否是Outlook电子邮件中的签名,c#,email,outlook,outlook-redemption,C#,Email,Outlook,Outlook Redemption,我有一封Outlook电子邮件,我需要处理它的附件。但是当遍历附件时,如果附件是签名,我想跳过它 要知道附件是否是我正在使用的签名: outlookMailItem.Attachments[i].PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E"); 但我收到了Outlook安全警报 是否有其他方法使用更安全的代码?可以通过赎回来实现吗 谢谢您的时间。PR\u ATTACH\u

我有一封Outlook电子邮件,我需要处理它的附件。但是当遍历附件时,如果附件是签名,我想跳过它

要知道附件是否是我正在使用的签名:

outlookMailItem.Attachments[i].PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E");
但我收到了Outlook安全警报

是否有其他方法使用更安全的代码?可以通过赎回来实现吗


谢谢您的时间。

PR\u ATTACH\u CONTENT\u ID
属性很好地表明附件是嵌入的映像,但是有些附件具有
PR\u ATTACH\u CONTENT\u ID
属性集,但它们不是嵌入的映像(Lotus Notes喜欢在所有附件上设置
PR\u ATTACH\u CONTENT\u ID
)。 即使未设置
PR\u ATTACH\u CONTENT\u ID
,Outlook也可以使用
PR\u ATTACH\u CONTENT\u LOCATION
PR\u ATTACH\u LONG\u FILENAME
加载嵌入图像。 唯一真正的测试是解析HTML主体并找出哪些标签引用了附件。
将允许您使用.Fields访问该属性,您也可以使用.Hidden属性,该属性跳过一些限制,以确定附件是否为嵌入图像而不是“真实”附件。

RDOAttachment.Hidden属性仅在电子邮件格式为HTML时才有效。对于富格文本格式的电子邮件,签名图像将被视为任何其他附件,并且该值为false。更好的选择是使用“Attachment.Type”,它同时适用于HTML和富文本。对于签名,它将始终是olOLE,对于其他附件,它将是olByValue。因此,可以使用此属性过滤签名图像。但是,请注意,如果电子邮件格式为富文本,并且电子邮件中嵌入了屏幕截图,则将其视为olOLE类型