Bre*_*den 8 microsoft-graph-mail microsoft-graph-api
我们最近从本地交换迁移到 Microsoft 365,我想为所有用户打开 2FA(启用安全默认值)。但是,这会禁用我们一直用于从通讯组地址发送邮件的 SMTP 身份验证。(无法通过 EWS 实现,因为它没有物理邮箱)
据我所知,唯一的方法是设置 SMTP 中继或通过 Microsoft Graph 发送。
我尝试过使用 Microsoft Graph 路线,这是迄今为止我所得到的。
在 Azure Active Directory > 应用程序注册中创建应用程序
添加Mail.Send和User.Read.All(应用程序,未委派)API 权限并已授予管理员同意。
使用以下命令请求令牌
{ "grant_type": "authorization_code", "client_id": "AzureApi.ClientId", "client_secret": "AzureApi.ClientSecret", "code": "insert auth code", "redirect_uri": "insert redirect URL" }获取不记名令牌一旦我有了令牌,现在我执行发送一些邮件的请求
fromAddress当请求令牌的用户的电子邮件地址是时,这有效,但是当我尝试从不同的地址发送时,它会出现此错误{"error":{"code":"ErrorAccessDenied","message":"Access is denied. Check credentials and try again."}}SendAs我尝试发送的邮箱的令牌用户添加权限,但这没有任何区别。无论如何 - 我希望能够以任何用户身份发送,而无需向每个邮箱委派权限。很高兴有任何帮助。谢谢!!
您所得到的行为是预期的,因为您正在使用委派权限 -授权代码流。此流程不允许您的应用以除登录/“请求令牌”的用户之外的任何用户身份发送电子邮件。
在您的情况下,您可以将权限添加为应用程序权限,然后将客户端凭据流与秘密或证书一起使用(更安全)。您的令牌请求将类似于“获取访问令牌”部分。请注意,这意味着两件事:
| 归档时间: |
|
| 查看次数: |
21011 次 |
| 最近记录: |