exchange-server - 如何在 Office 365 REST API 中发送邮件?

标签 exchange-server azure-active-directory adal office365api outlook-restapi

我发现了以下关于如何使用 Office 365 rest API 发送电子邮件的 documentation

这是文档中给出的示例:

POST https://outlook.office.com/api/v2.0/me/sendmail

{
  "Message": {
    "Subject": "Meet for lunch?",
    "Body": {
      "ContentType": "Text",
      "Content": "The new cafeteria is open."
    },
    "ToRecipients": [
      {
        "EmailAddress": {
          "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
        }
      }
    ],
    "Attachments": [
      {
        "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
        "Name": "menu.txt",
        "ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
      }
    ]
  },
  "SaveToSentItems": "false"
}

如果用户授权应用程序代表它行事,这将正常工作。但是,我正在使用客户端凭据构建一个守护程序应用程序,该应用程序代表给定租户中的所有用户,因此 "POST https://outlook.office.com/api/v2.0/me/sendmail " 无法工作,因为它引用了“我”并且无法判断哪个用户是发送电子邮件。

如果您可以帮助示例示例,我会很高兴。仅供引用:我使用的是 Java,但您的答案不一定是 Java。

最佳答案

将 URL 的 /me 位替换为 /users/<userid> 。您不能将 /me 用于任何带有来自客户端凭据的 token 的 API 调用。

关于exchange-server - 如何在 Office 365 REST API 中发送邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40535484/

相关文章:

exchange-server - 我应该多久自动发现一次?

c# - 交易所托管 API : Why is the event not fired when a item is deleted?

node.js - Azure 身份验证 DefaultAzureCredential 与 Node Js

azure - 如果未传递 userId,acquireTokenAsync 方法会抛出错误

ios - 针对 iOS 上的 Azure Graph API 的非交互式登录(缓存凭据)

电子邮件中的 HTML 跨站点脚本问题

java - 有没有办法通过 API 在 MS Exchange Server 中创建帐户

azure-active-directory - DUO 是否与 Microsoft Azure Active Directory B2C 集成?

azure - 何时应使用 Azure 广告 B2C

c# - 使用 ADAL.js 获取的 token 对 Azure 移动服务应用程序进行身份验证