发送带有 Microsoft Graph 附件的邮件不起作用
Send Mail with attachment Microsoft Graph not working
我正在开发一个应用程序,可以按照 by this article 所述从用户发送电子邮件。
一切都按预期工作,但我尝试添加附件时除外。电子邮件已发送,但没有附件。我不确定问题出在哪里,因为我已经尝试了几乎所有可以在网上找到的东西。我已确保我发送的文件已正确编码为 base64。
var message = {
"subject": subject,
"hasAttachments":true,
"body": {
"contentType": "Text",
"content": emailBody
},
"toRecipients": toRecipients,
ccRecipients,
bccRecipients
};
function sendMailRequest(access_token, message, uriSend, file, base64, callback){
const attachments = [{
'@odata.type': '#microsoft.graph.fileAttachment',
"contentBytes": base64
"name": "example.jpg"
}];
// Configure the request
var options2 = {
"url": uriSend,
"method": 'POST',
"headers": {
'Authorization': access_token,
'Content-Type': 'application/json'
},
"body": JSON.stringify({
"message": message,
"SaveToSentItems": "true",
"Attachments": attachments
})
}
附件放在 message
JSON 里面,而不是放在外面。这应该有效:
function sendMailRequest(access_token, message, uriSend, file, base64, callback) {
const attachments = [
{
"@odata.type": "#microsoft.graph.fileAttachment",
"contentBytes": base64
"name": "example.jpg"
}
];
message["attachments"] = attachments;
// Configure the request
var options2 = {
"url": uriSend,
"method": "POST",
"headers": {
"Authorization": access_token,
"Content-Type": "application/json"
},
"body": JSON.stringify({
"message": message,
"SaveToSentItems": "true"
})
}
...
}
我正在开发一个应用程序,可以按照 by this article 所述从用户发送电子邮件。
一切都按预期工作,但我尝试添加附件时除外。电子邮件已发送,但没有附件。我不确定问题出在哪里,因为我已经尝试了几乎所有可以在网上找到的东西。我已确保我发送的文件已正确编码为 base64。
var message = {
"subject": subject,
"hasAttachments":true,
"body": {
"contentType": "Text",
"content": emailBody
},
"toRecipients": toRecipients,
ccRecipients,
bccRecipients
};
function sendMailRequest(access_token, message, uriSend, file, base64, callback){
const attachments = [{
'@odata.type': '#microsoft.graph.fileAttachment',
"contentBytes": base64
"name": "example.jpg"
}];
// Configure the request
var options2 = {
"url": uriSend,
"method": 'POST',
"headers": {
'Authorization': access_token,
'Content-Type': 'application/json'
},
"body": JSON.stringify({
"message": message,
"SaveToSentItems": "true",
"Attachments": attachments
})
}
附件放在 message
JSON 里面,而不是放在外面。这应该有效:
function sendMailRequest(access_token, message, uriSend, file, base64, callback) {
const attachments = [
{
"@odata.type": "#microsoft.graph.fileAttachment",
"contentBytes": base64
"name": "example.jpg"
}
];
message["attachments"] = attachments;
// Configure the request
var options2 = {
"url": uriSend,
"method": "POST",
"headers": {
"Authorization": access_token,
"Content-Type": "application/json"
},
"body": JSON.stringify({
"message": message,
"SaveToSentItems": "true"
})
}
...
}