我正在尝试使用SendGrid的Web API V3发送电子邮件。我能够使用Postman发送测试电子邮件,但似乎Postman没有办法将代码转换为纯JavaScript / TypeScript。
我的TypeScript是:
emailinvite(){
var payload = {
"personalizations": [
{
"to": [
{
"email": "myemail@service.com"
}
],
"subject": "Hello, World!"
}
],
"from": {
"email": "from_address@example.com"
},
"content": [
{
"type": "text/plain",
"value": "Hello, World!"
}
]
};
var myHeaders = new Headers({
"Content-Type": "application/json",
"Authorization": "Bearer API_KEY_HERE",
});
var data = new FormData();
data.append( "json", JSON.stringify( payload ) );
fetch("https://api.sendgrid.com/v3/mail/send",
{
method: "POST",
headers: myHeaders,
body: data
})
.then(function(res){ return res.json(); })
.then(function(data){ console.log( JSON.stringify( data ) ) })
}
我缺少什么让这个功能正常运行?
答案 0 :(得分:0)
在这部分:
var data = new FormData();
data.append( "json", JSON.stringify( payload ) );
FormData API here的文档说您正在设置一个json->有效负载的键值对,这可能不是您想要做的...您可能只是做:
fetch("https://api.sendgrid.com/v3/mail/send",
{
method: "POST",
headers: myHeaders,
body: JSON.stringify(payload)
})