我发现了以下关于如何使用 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/