我找到了以下有关如何使用 Office 365 rest API 发送电子邮件的文档。
这是在 doucment 上给出的示例:
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
用于具有客户端凭据令牌的任何 API 调用。