【问题标题】:Read Outlook attachment content in Outlook add-in (C# ) while creating a mail在创建邮件时阅读 Outlook 加载项 (C#) 中的 Outlook 附件内容
【发布时间】:2015-03-01 08:10:35
【问题描述】:

我正在尝试在 VS 2010 中开发 Outlook 插件。其目的是扫描电子邮件正文和附件内容中的某些关键字,如果发现任何此类关键字,则应阻止电子邮件发送。 我能够阅读电子邮件正文和主题并进行验证,但我不明白如何在撰写邮件时阅读附件内容(txt 文件)。

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

可能重复:C# Outlook 2007 - How do I access attachment contents directly from my addin?

但正如那里所建议的,我不能使用 Redemption。有没有其他办法?

【问题讨论】:

    标签: c# outlook outlook-addin outlook-2007


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回复。我会试试 PropertyAccessor.GetProperty 方法。
    猜你喜欢
    • 1970-01-01
    • 2014-05-20
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多