显示邮件发件人的地址条目详细信息
每个可由传输提供程序传递的邮件的收件人在提供程序用于该会话的通讯簿层次结构中均具有一个地址条目。 本主题描述了如何以编程方式显示检查器中当前显示的邮件项目的发件人的地址条目信息。
对于当前显示的邮件项,请使用 PropertyAccessor 对象确定发件人的条目 ID。
使用当前会话的 NameSpace.GetAddressEntryFromID 方法可返回 AddressEntry 对象。
使用 AddressEntry.AddressEntryUserType 属性确定 AddressEntry 的类型,然后相应地显示详细信息:
- 如果地址条目是 Outlook 联系人文件夹中的联系人项目,或者发件人的 SMTP 地址与默认“联系人”文件夹中一个联系人项目的电子邮件地址匹配,则在“联系人”检查器中显示地址条目信息。 若要匹配“联系人”文件夹中的电子邮件地址,请使用 Table 对象对该文件夹中项目的 ContactItem.Email1Address、 ContactItem.Email2Address 和 ContactItem.Email3Address 属性执行快速筛选。
- 在所有其他情况下,在“Email属性”对话框中显示地址条目信息。
备注
要运行此代码示例:
打开一个邮件使其显示在活动检查器中。
将代码放在内置的 ThisOutlookSession 模块中。
TestAddressEntryDetails
运行过程,在活动检查器中显示邮件的地址条目详细信息:
Sub TestAddressEntryDetails()
Dim oMail As MailItem
Set oMail = Application.ActiveInspector.CurrentItem
DisplayAddressEntryDetails oMail
End Sub
Sub DisplayAddressEntryDetails(oM As MailItem)
Dim oPA As Outlook.PropertyAccessor
Dim oContact As Outlook.ContactItem
Dim oSender As Outlook.AddressEntry
Dim SenderID As String
'Create an instance of PropertyAccessor
Set oPA = oM.PropertyAccessor
'Obtain PidTagSenderEntryId and convert to string
SenderID = oPA.BinaryToString _
(oPA.GetProperty("https://schemas.microsoft.com/mapi/proptag/0x0C190102"))
'Obtain AddressEntry Object of the sender
Set oSender = Application.Session.GetAddressEntryFromID(SenderID)
'Examine AddressEntryUserType
If oSender.AddressEntryUserType = olOutlookContactAddressEntry Then
'Obtain ContactItem for AddressEntry
Set oContact = oSender.GetContact
oContact.Display
'Display details for Exchange or SMTP sender
Else
oSender.Details
End If
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。