如何在 Office 365 REST API 中发送邮件?
How can I send mail in office 365 REST API?
我发现以下 documentation 关于如何使用 Office 365 rest 发送电子邮件 API。
这是文档中给出的示例:
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"
}
如果用户授权应用程序代表它行事,这就可以正常工作。但是,我正在使用客户端 crednetial 构建一个守护进程应用程序,该应用程序代表给定租户中的所有用户,因此 "POST https://outlook.office.com/api/v2.0/me/sendmail" 无法工作,因为它引用了 "me" 并且无法分辨哪个用户正在发送电子邮件。
如果您能提供示例帮助,我将不胜感激。仅供参考:我正在使用 Java 但您的答案不必在 Java.
中
将 URL 的 /me
位替换为 /users/<userid>
。您不能将 /me
用于任何 API 带有来自客户端凭据的令牌的调用。
我发现以下 documentation 关于如何使用 Office 365 rest 发送电子邮件 API。
这是文档中给出的示例:
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"
}
如果用户授权应用程序代表它行事,这就可以正常工作。但是,我正在使用客户端 crednetial 构建一个守护进程应用程序,该应用程序代表给定租户中的所有用户,因此 "POST https://outlook.office.com/api/v2.0/me/sendmail" 无法工作,因为它引用了 "me" 并且无法分辨哪个用户正在发送电子邮件。
如果您能提供示例帮助,我将不胜感激。仅供参考:我正在使用 Java 但您的答案不必在 Java.
中将 URL 的 /me
位替换为 /users/<userid>
。您不能将 /me
用于任何 API 带有来自客户端凭据的令牌的调用。