繁体   English   中英

MAPI 请求 - Exchange Server (TCP/RPC) 与 IMAP 连接

[英]MAPI Requests - Exchange Server (TCP/RPC) vs IMAP-Connection

我目前正在使用 C# 开发 Outlook VSTO-AddIn。 我想阅读每个 mailItem 的某些属性。 (例如 SenderName、SenderEmailAdress 等......)据我所知,我已经理解 - 我有两种选择来实现这一点:

  1. 访问 Outlook object model
  2. 使用“属性访问器对象”读取属于 MailItem 但未在 Outlook object model 中公开的 MAPI 属性。 https://docs.microsoft.com/de-de/office/vba/api/outlook.propertyaccessor

属性访问器的小代码片段: mailItem是来自 Microsoft.Office.Interop.Outlook 命名空间的 MailItemClass Class 的 object。

PropertyAccessor olPA = mailItem.PropertyAccessor;
SenderMailAddress = olPA.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x0C1F001F");

我遇到了以下奇怪的行为:结果取决于我是通过 IMAP 还是通过 TCP/RPC-Connections 访问邮箱。 主要是在尝试访问某个帐户已被删除的某人发送的 mailItem 的属性时。 使用 IMAP 连接,MAPI 请求可以正常工作,而使用 TCP/RPC 则不能。

我在该主题上找到的大多数资源都来自 2009 年至 2010 年,因此我不确定它们如何转化为 Outlook 的 2016 年版本。

在这种情况下,任何阐明 TCP/RPC 之间差异的提示都非常感谢。

两者之间实际上没有区别: PR_SENDER_EMAIL_ADDRESSMailItem.SenderEmailAddressMailItem.PropertyAccessor.GetProperty检索。

当您使用OutlookSpyMFCMAPI查看项目时,您是否真的看到PR_SENDER_EMAIL_ADDRESS属性?

暂无
暂无

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

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