【发布时间】:2018-08-16 12:31:32
【问题描述】:
在使用 Amazon SES(简单电子邮件服务)时,如何在外发电子邮件中添加 List-Unsubsribe : <mailto:abc@cdf.com> 标头?我正在使用 AWS 的 JavaScript 开发工具包。
以下是我查看过但未能找到答案的各种文档链接:Link1、Link2、Link3、Link4。
我尝试过同时使用 SendMail 和 SendRawEmail API。
使用 SendMail API
let params={
Source: auth.host,
Destination: { ToAddresses: [email] },
Headers:{ListUnsubscribe :'<mailto:abc@def.com>'}, //error unexpected key Headers
Message: {Subject:{Data: subject },Body:{Text: {Data: mail}}}
}
ses.sendEmail(params,(err, data)=>{
if(err){
console.error(err);
}else{
console.log('Email sent: ');
console.log(data);
}
});
使用 SendRawEmail API
var mailOptions = {
from: auth.host,
subject: subject,
text: mail,
to: email,
};
var mail = mailcomposer(mailOptions);
mail.build(function (err, message){
var req = ses.sendRawEmail({RawMessage: {Data: message}});
req.on('build', function() {
req.httpRequest.headers["List-Unsubscribe"] = "<mailto:abc@abc.com>";
});
req.send(function (err, data) {
if(err) //code
else //code
});
});
【问题讨论】:
-
你可以试试'List-Unsubscribe`作为你的标题吗?
-
试过了。出现错误“没有标题或标题这样的字段”
-
我认为 sendEmail 不允许您设置标题。来自文档:SendRawEmail API 通过指定标头、MIME 部分和内容类型,让您可以灵活地格式化和发送您自己的原始电子邮件消息。 SendRawEmail 通常由高级用户使用。您需要提供在 Internet 消息格式规范 (RFC 5322) 中指定的消息正文和所有标头字段。有关更多信息,请参阅使用 Amazon SES API 发送原始电子邮件。
-
你读过我帖子中“也使用过”的部分吗.....如果你读过,你会看到我在那里使用了发送原始电子邮件的方法,并且还设置了他们没有帮助的标题。跨度>
-
我错过了,但至少现在你知道有一种方法绝对行不通。在进一步阅读文档后,您似乎必须在原始消息中指定标头,这似乎很不方便。发布答案。
标签: javascript node.js amazon-ses aws-sdk-js aws-sdk-nodejs