Microsoft graph api Microsoft Graph:如何从电子邮件中获取别名?

Microsoft graph api Microsoft Graph:如何从电子邮件中获取别名?,microsoft-graph-api,microsoft-graph-mail,Microsoft Graph Api,Microsoft Graph Mail,当我使用Microsoft Graph检索邮件的toRecipients或internetMessageHeaders时,我无法找到邮件发送到的实际电子邮件别名。如何获取别名?它总是返回“父”帐户,而不是别名帐户 例如,这显示alias1@company.com作为帐户的别名email1@company.com 请求: https://graph.microsoft.com/v1.0/users/email1@company.com?$select=proxyAddresses 答复: {

当我使用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"
    ]
}
{
    "@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"
            }
        }
    ]
}
然后我向
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(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"
    ]
}
{
    "@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"
            }
        }
    ]
}
你不能

Microsoft Exchange Server、Office 365和Outlook.com(以前称为Hotmail)不保留(或至少公开)SMTP
RCPT TO
值(即信封地址)-该值不同于
TO:
Cc:
Bcc:
标题(请注意,
Bcc
标题通常根本不会发送给收件人)

这就是电子邮件用户接收看起来不适合他们的电子邮件的方式(因为电子邮件服务器使用
RCPT TO
值来路由电子邮件,而忽略
TO:
标题

请注意,当
TO:
Cc:
Bcc:
标题中没有出现
RCPT TO
值时,反垃圾邮件软件通常会标记电子邮件,因为在20世纪90年代末/200年代初,群发垃圾邮件没有个性化的
TO:
标题

警告:编辑内容如下:

我确实向Office 365支持部门提交了一个请求(因为我是企业用户,我希望这意味着什么)请求他们添加对将
RCPT存储到
信封地址的支持,但这被抛到了积压工作中,因此永远不会发生。这是电子邮件系统中另一个血腥的明显特征,微软坚决拒绝采用,就像一次性地址、消息标签、内联报价回复、分隔邮箱一样从用户,以及对话线程的树视图-.oyvey.

您不能

Microsoft Exchange Server、Office 365和Outlook.com(以前称为Hotmail)不保留(或至少公开)SMTP
RCPT TO
值(即信封地址)-该值不同于
TO:
Cc:
Bcc:
标题(请注意,
Bcc
标题通常根本不会发送给收件人)

这就是电子邮件用户接收看起来不适合他们的电子邮件的方式(因为电子邮件服务器使用
RCPT TO
值来路由电子邮件,而忽略
TO:
标题

请注意,当
TO:
Cc:
Bcc:
标题中没有出现
RCPT TO
值时,反垃圾邮件软件通常会标记电子邮件,因为在20世纪90年代末/200年代初,群发垃圾邮件没有个性化的
TO:
标题

警告:编辑内容如下:


我确实向Office 365支持部门提交了一个请求(因为我是企业用户,我希望这意味着什么)请求他们添加对将
RCPT存储到
信封地址的支持,但这被抛到了积压工作中,因此永远不会发生。这是电子邮件系统中另一个血腥的明显特征,微软坚决拒绝采用,就像一次性地址、消息标签、内联报价回复、分隔邮箱一样我在另一篇SO文章中发现了这一点:


这将返回您需要的标题

我在另一篇SO文章中发现了这一点:


这将返回您需要的标题

我知道这篇文章,但它从未对我起作用,至少在API调用中是这样。您能让它工作吗?是的,它工作正常。昨晚刚刚将它推到live server上。我正在使用.net sdk,它对查询参数的命名有点帮助,有时会让人困惑。我无法获得除非发布的URL构造不正确,否则URL将按发布的方式工作。我从.net sdk中提取了此内容:
https://graph.microsoft.com/v1.0/users/xxxxxxx@xxxxxxxxx/邮件文件夹/收件箱/邮件?$select=id,有附件,发件人,收件人,singleValueExtendedProperties,主题&$expand=singleValueExtendedProperties($filter=id eq'字符串0x007D')}
我知道那篇文章,但它对我来说从来都不起作用,至少在API调用中是这样。你能让它工作吗?是的,它工作得很好。只是昨晚把它推到了live server上。我正在使用.net sdk,它对查询参数的命名有点帮助,有时会让人困惑。我无法让URL按照发布的方式工作,除非发布的L构造不正确。我从.net sdk中提取了该构造:
https://graph.microsoft.com/v1.0/users/xxxxxxx@xxxxxxxxx/邮件文件夹/收件箱/邮件?$select=id,有附件,发件人,收件人,singleValueExtendedProperties,主题&$expand=singleValueExtendedProperties($filter=id eq'字符串0x007D')}