我正在尝试通过亚马逊SES验证的电子邮件向我的其他电子邮件发送电子邮件,但程序会出现错误,即未验证电子邮件地址到字段 . 我正在制作一个允许用户使用AWS Cognito登录的Web应用程序,因此我没有在数据库中使用他们的电子邮件地址 . 我需要在活动上向他们发送电子邮件(我不能使用SNS,因为我需要向我已经想到的选择性人员发送电子邮件 . )所以我的问题是:a)我们是否还需要验证收件人的SES电子邮件? b)如果是,我们如何使用cognito身份池来验证他们的SES电子邮件地址 .
码:
var aws = require("aws-sdk");
aws.config.update({
region: "us-west-2",
});
var ses = new aws.SES({"accessKeyId": "Mykey", "secretAccessKey":"YY","region":"us-west-2"})
var to = ['xyz@gmail.com']
var from='abc@gmail.com'
ses.sendEmail( {
Source: from,
Destination: { ToAddresses: to },
Message: {
Subject:{
Data:"Sending emails through SES"
},
Body: {
Text: {
Data: 'Stop your messing around',
}
}
}
}
, function(err, data) {
if(err) throw err
console.log('Email sent:');
console.log(data);
}
错误:
MessageRejected:未验证电子邮件地址 . 以下身份未通过区域US-WEST-2:xyz@gmail.com检查
1 回答
如果您在SES沙箱中对此进行测试,则需要先手动验证收件人电子邮件地址,然后才能发送 .
离开沙箱后不需要执行此步骤,但在开发期间测试与电子邮件相关的功能时,这是一个合理的默认安全设置,并且不希望伪造的电子邮件真实地发送给我们 .
Amazon SES Email Sending Errors(相关部分以粗体显示):
在AWS中测试您的电子邮件发送而不需要发送实际电子邮件的更简单方法是使用他们的mailbox simulator: