我正在开发一个项目,在该项目中,我从Outlook中的一大组.PST文件中提取电子邮件数据,并在excel中记录每个mailitem
个,使用VBA按几个mailitem
属性进行排序。
我现在遇到的问题是获取真实的电子邮件地址而不是名字。如果我遍历每个mailitem
上的收件人并获取他们的recipient.address属性,我会在大多数时间获得他们的交换地址,而不是他们的实际电子邮件地址。
我需要标准的电子邮件格式(*XXXXX*@*XXXX*.com)
,但我正在处理无法访问原始交换网络的外部pst文件。
这是否意味着无法检索电子邮件地址?
答案 0 :(得分:1)
在大多数情况下,SMTP地址(PR_SMTP_ADDRESS MAPI属性)将在收件人表中可用,您可以使用Recipient.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x39FE001F")
访问它。准备好在属性不存在时处理异常。
使用OutlookSpy查看其中一条消息(单击IMessage按钮,转到GetRecipientTable选项卡)。