当我使用Microsoft Graph检索邮件的toRecipients
或internetMessageHeaders
时,我无法找到邮件发送到的实际电子邮件别名。如何获得别名?它总是返回“父”帐户,而不返回别名帐户。
例如,这显示alias1@company.com
作为帐户email1@company.com
的别名。
请求
https://graph.microsoft.com/v1.0/users/email1@company.com?$select=proxyAddresses
响应:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(proxyAddresses)/$entity",
"proxyAddresses": [
"smtp:alias1@company.com",
"X500:/o=Org1/ou=External (xxxxx)/cn=Recipients/cn=00000000000000000000",
"x500:/o=ExchangeLabs/ou=Exchange Administrative Group (xxxxx)/cn=Recipients/cn=1111111111111111",
"smtp:email1@company.mail.onmicrosoft.com",
"X500:/o=Org1/ou=Exchange Administrative Group (xxxxx)/cn=Recipients/cn=yyyyyyyy",
"smtp:email1@company.onmicrosoft.com",
"SMTP:email1@company.com"
]
}
然后我向alias1@company.com
发送电子邮件。检索toRecipients
或internetMessageHeaders
时,只有父帐户email@company.com
,我看不到别名。
请求
https://graph.microsoft.com/v1.0/me/messages/{messageId}?$select=toRecipients,internetMessageHeader
响应:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('...')/messages(toRecipients,internetMessageHeaders)/$entity",
"@odata.etag": "W/\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"",
"id": "{messageId}",
"internetMessageHeaders": [
{
"name": "Received",
"value": "...."
},
{
"name": "Received",
"value": "..."
},
{
"name": "Received",
"value": "..."
},
{
"name": "Authentication-Results",
"value": "company.com; dkim=none (message not signed) header.d=none;company.com; dmarc=none action=none header.from=company.com;"
},
{
...
}
],
"toRecipients": [
{
"emailAddress": {
"name": "FirstName LastName",
"address": "email1@company.com"
}
}
]
}
答案 0 :(得分:2)
我在另一篇SO文章中发现了这一点:Can you get PR_TRANSPORT_MESSAGE_HEADERS 0x007D from the .Net Microsoft Graph API?
这将返回您需要的标题
答案 1 :(得分:1)
你不能。
Microsoft Exchange Server,Office 365和Outlook.com(以前称为Hotmail)不保留(或至少公开)SMTP RCPT TO
值(即信封地址),该值不同于{{1} },To:
和Cc:
标头(请注意,Bcc:
标头通常根本不会发送给接收者)。
这是电子邮件用户如何接收看起来不适合他们的电子邮件的方式(因为电子邮件服务器使用Bcc
值来路由电子邮件,而忽略{{1} }标头。
请注意,当RCPT TO
,To:
或RCPT TO
标头中没有出现To:
值时,反垃圾邮件软件通常会标记电子邮件1990年代末/ 200年代初大量发送的垃圾邮件没有个性化的Cc:
标头。
警告:下面的社论内容:
我确实提交了具有Office 365支持的请求(因为我是企业订户,我希望这意味着什么),以请求他们添加对存储Bcc:
信封地址的支持,但该请求被扔到了积压,因此永远不会发生。这是Microsoft坚决拒绝采用的电子邮件系统的另一个明显特性,就像一次性地址,邮件标记,内联引用回复,将邮箱与用户分开以及对话线程的树状视图一样-and more besides 。 Oy vey。