繁体   English   中英

使用SES node.js发送电子邮件

[英]Sending email using SES node.js

我正在尝试通过亚马逊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检查

如果您在SES沙箱中对此进行测试,则需要先手动验证收件人电子邮件地址,然后才能发送。

离开沙箱后不需要执行此步骤,但在开发期间测试与电子邮件相关的功能时,这是一个合理的默认安全设置,并且不希望伪造的电子邮件真实地发送给我们。

Amazon SES电子邮件发送错误 (相关部分以粗体显示):

电子邮件地址未经过验证。 以下身份未通过签入区域:,,,您正尝试从尚未通过Amazon SES验证的电子邮件地址或域发送电子邮件。 此错误可能适用于“发件人”,“来源”,“发件人”或“退货路径”地址。 如果您的帐户仍在沙盒中,则还必须验证每个收件人电子邮件地址

在AWS中测试您的电子邮件发送而不需要发送实际电子邮件的更简单方法是使用他们的邮箱模拟器

Amazon SES邮箱模拟器是一组测试电子邮件地址。 每个电子邮件地址代表特定方案。 您可以在以下情况下向邮箱模拟器发送电子邮件:

无需创建测试“收件人”地址即可测试您的应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM