我写了一个应用程序,通过一个小型控制台应用程序在Azure中作为WebJob运行,自动化地从我们的系统发送邮件。该应用程序可以完美地发送电子邮件,但是当我尝试添加附件集合时出现问题。参考https://msdn.microsoft.com/office/office365/APi/mail-rest-operations#Createandsendmessages,我尝试使用他们的示例代码,并将我的附件集合包含一个看起来像这样的单个对象:
并且,我在Outlook服务支持热线上花了半个小时,结果被推荐去查看一些论坛和我一直用作参考的文章,我已经放弃了。如果有人能帮助我让这个API接受请求,我将感激不尽。
这是一个示例请求的样子。
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"Name": "menu.txt",
"ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
}
然而,此API请求被拒绝并显示以下错误:
{"error":{"code":"RequestBodyRead","message":"The property 'ContentBytes' does not exist on type 'Microsoft.OutlookServices.Attachment'. Make sure to only use property names that are defined by the type."}}
并且,我在Outlook服务支持热线上花了半个小时,结果被推荐去查看一些论坛和我一直用作参考的文章,我已经放弃了。如果有人能帮助我让这个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"
}
我知道消息对象有一个布尔标志 HasAttachments,当设置为 true 时不会影响调用的结果。