如何在Office 365 REST API中发送邮件?
问题描述:
关于如何使用Office 365 rest API发送电子邮件,我发现了以下documentation。如何在Office 365 REST API中发送邮件?
这是对doucmentation给出的例子:
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": "[email protected]"
}
}
],
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"Name": "menu.txt",
"ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
}
]
},
"SaveToSentItems": "false"
}
这如果用户授权的应用程序采取行动是代表工作正常。但是,我使用客户端信誉来构建守护程序应用程序,该应用程序代表给定租户中的所有用户,因此“POST https://outlook.office.com/api/v2.0/me/sendmail”无法正常工作,因为它引用“我”并且无法分辨哪个用户是发送电子邮件。
我会appericiate,如果你可以帮助示例的例子。仅供参考:我正在使用Java,但您的答案不一定要用Java。
答
用/users/<userid>
替换URL中的/me
位。您无法使用/me
与来自客户端凭证的令牌进行任何API调用。
我现在面临不受支持的媒体类型。我尝试使用和不使用application/json,并且都返回不受支持的媒体类型。此POST方法支持哪种媒体类型? – WowBow
'application/json'是Content-Type头中的正确值。 –
btw对于同一个应用程序是否可以在一个请求中发送多个电子邮件地址(即不同的O365帐户)并获取他们的入站电子邮件,而不必为每个用户多次发送REST请求? – WowBow