我开始在我们的应用程序中实施AWS开发工具包以发送电子邮件。我通过AWS增加了限制,以退出沙箱,以便可以开始向其他人发送电子邮件。我注意到的问题是,如果我的recipient
变量中有多个地址,则会出现此错误:Illegal Address
。这两个电子邮件地址的格式均为name@domain.com
。我已经测试过分别发送到每封电子邮件,并且都可以正常工作,但是一旦将两个地址都放入收件人变量中,我就会收到Illegal Address
错误。我唯一的假设是有多个收件人导致此问题,但是如果这是问题所在,为什么他们的文档中说可以包含多个地址?
这是我的代码
if ((request.url).substring(0, 5) == "/send") {
var mailOptions = {
to: request.query.to,
bcc: request.query.bcc,
subject: request.query.subject,
text: request.query.text
}
console.log(mailOptions.to);
AWS.config.update({
accessKeyId: env.AWS.ACCESS_KEY,
secretAccessKey: env.AWS.SECRET_ACCESS_KEY,
region: 'someregion'
});
const sender = "noreply@domain.com";
const recipient = mailOptions.to; // this includes "name@domain.com, name2@domain.com"
const subject = mailOptions.subject;
const body_html = mailOptions.text;
const charset = "UTF-8";
const ses = new AWS.SES();
var params = {
Source: sender,
Destination: {
ToAddresses: [
recipient
],
BccAddresses: [
sender
],
},
Message: {
Subject: {
Data: subject,
Charset: charset
},
Body: {
Html: {
Data: body_html,
Charset: charset
}
}
}
};
ses.sendEmail(params, function(err, data) {
// If something goes wrong, print an error message.
if(err) {
console.log(err.message);
} else {
console.log("Email sent! Message ID: ", data.MessageId);
}
});
如果有人知道为什么会这样并且知道我需要做些什么来解决它,我将不胜感激!谢谢。