2

List-Unsubsribe : <mailto:abc@cdf.com>Amazon SES (Simple Email Service) を使用しているときに、送信 E メールメッセージにヘッダーを追加するにはどうすればよいですか? AWS の JavaScript SDK を使用しています。

ここに私が見たさまざまなドキュメントリンクがありますが、答えを見つけることができませんでした: Link1Link2Link3Link4

SendMail API と 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
      });
    });
4

2 に答える 2

0

2 番目の例の問題は、メール自体ではなく、Amazon へのリクエストにヘッダーが追加されていることです。

次のコード サンプルを使用してみてください。

var mailOptions = {
  from: auth.host,
  subject: subject,
  text: mail,
  to: email,
  headers: {
    'List-Unsubscribe': "<mailto:abc@abc.com>"
  }
};

var mail = mailcomposer(mailOptions);

mail.build(function (err, message){
  var req = ses.sendRawEmail({RawMessage: {Data: message}});

  req.send(function (err, data) {
      if(err) //code
      else  //code
  });
});
于 2018-03-19T13:06:29.050 に答える