【问题标题】:Read Undelivered email body in C# windows form以 C# windows 形式阅读未送达的电子邮件正文
【发布时间】:2018-05-30 18:56:41
【问题描述】:

我正在开发一种工具来跟踪电子邮件,并希望跟踪未发送给发件人的电子邮件。 我不想使用任何第三方工具或任何外部参考

我尝试了什么? - 阅读报告项目但正文是中文的语言 -谷歌搜索了一些解决方案,但没有任何效果,即解决方案与

//PR_TRANSPORT_MESSAGE_HEADERS 获取属性名称“http://schemas.microsoft.com/mapi/proptag/0x0C1A001F”的链接 Outlook PropertyAccessor 类

PropName 链接已失效。

这里的任何人都可以帮助我吗?我想从哪个发件人那里获得电子邮件传递失败。

提前谢谢你。

【问题讨论】:

  • 请展示你目前所拥有的。
  • 你的意思是你从 ReportItem.Body 属性中得到了垃圾?这是OOM中的一个已知问题。唯一的解决方法是扩展 MAPI(C++ 或 Delphi)或 Redemption。
  • @DmitryStreblechenko 感谢您的回复,我的问题是我无法在客户端计算机上注册任何 DLL。我如何使用 Redemption,你能给我举个例子吗?
  • @PatrickHofman 我从 ReportItem.body 属性中得到一些垃圾,我可以从收件箱中删除 ReportItem 但无法读取它你知道吗?
  • 您是否尝试过使用“PropertyAccessor”?

标签: c# winforms outlook outlook-2010


【解决方案1】:

PR_TRANSPORT_MESSAGE_HEADERS 属性包含与正文中显示的相同的诊断信息。您只需要使用PropertyAccessor 类读取它并使用FromTo 条目解析字符串。

  Outlook.PropertyAccessor oPA = reportItem.PropertyAccessor;
  string transportHeaders = (string)oPA.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x007D001E"); 

【讨论】:

  • 感谢 Eugene 的回复,但我想获取 ReportItem(未交付的报告)
  • 报表项也可以这样。
  • 我能够获取信息,但它只给了我发件人的地址,即邮件服务器地址,而不是发送失败的电子邮件 ID。
  • 感谢您的帮助问题已解决我现在可以获取地址已编辑 asnwer。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-18
相关资源
最近更新 更多