首页 > 解决方案 > 如何使用没有 mail.send 权限的 MS Graph 设置 FROM(代表)邮件

问题描述

这里的场景是我们有一个启用了“域和邮箱”的服务帐户 (foocompany),并使用 Mail.Send 权限注册了 Azure AD 应用程序。因此,当我们发送邮件时,发件人邮件为 foo@company.com

但是这里的场景是代表不同的帐户发送邮件,即来自(bar@company.com),我对此进行了硬编码,但这不起作用。

使用 MS Graph mail.send API 如何实现?有什么解决方法或破解方法吗?附上图片供基本参考。 在此处输入图像描述

标签: azureoutlookazure-active-directorymicrosoft-graph-apiazure-web-app-service

解决方案


bar@company.com您可以为您的邮箱 ( )配置委托邮箱( foo@company.com)。

委托邮箱实际上是另一个邮箱,需要分配一个 Exchange Online 许可证。然后将该属性设置为在 Microsoft Graph API 中对您的邮箱具有sendAsfrom权限的委派用户。参考这里。之后,当您发送电子邮件时,收件人将看到它来自委派的电子邮件。

关于如何在 Exchange 管理中心分配sendAs权限,请参阅使用 EAC 为单个邮箱分配权限。可能需要几个小时才能生效。

请注意,代表发送也可以让您从委派用户发送邮件。但是收件人会看到发件人是“代表邮箱的代表”。

POST https://graph.microsoft.com/beta/me/sendMail
{
    "message": {
        "subject": "Meet for lunch?",
        "body": {
            "contentType": "Text",
            "content": "The new cafeteria is open."
        },
        "toRecipients": [{
                "emailAddress": {
                    "address": "user@domain.com"
                }
            }
        ],
        "from": {
            "emailAddress": {
                "address": "{delegated mailbox}"
            }
        }
    }
}

推荐阅读