我正在创建一个脚本,该脚本可以通过Google表格中的按钮访问,单击该脚本即可发送电子邮件。我想使用SendGrid而不是Google的MailApp
或Gmail
发送邮件。关于如何将SendGrid与Google Apps脚本一起使用的文档并不多。
我需要使用SendGrid模板,但是当我将其作为参数传递时,发送的消息仅包含模板的标头,而不包含内容。为什么会发生这种情况,我该如何解决?
var SENDGRID_KEY ='My_key';
var headers = {
"Authorization" : "Bearer "+ SENDGRID_KEY,
"Content-Type": "application/json"
};
var body = {
"personalizations": [
{ "to": [
{ "email": "name@domain"
}
],
"subject": "Hello, World!",
}
],
"from": {
"email": "name@domain"
},
"content": [
{ "type": "text",
"value": "Hello, World!"
}
],
"template_id": "My_template_id"
};
var options = {
'method': 'post',
'headers': headers,
'payload': JSON.stringify(body)
}
var response = UrlFetchApp.fetch("https://api.sendgrid.com/v3/mail/send", options);
Logger.log(response);
答案 0 :(得分:0)
Sendgrid API需要MIME类型(例如“ text / plain”或“ text / html”)的“ content”属性的“ type”。
尝试将"type": "text"
更改为"type":"text/plain"