Amazon SES verifyEmailIdentity未发送电子邮件

时间:2018-12-06 15:08:15

标签: node.js amazon-ses

我想自动化对电子邮件地址进行授权以通过javascript / Node.JS中的Amazon SES服务发送邮件的过程。

我们已经在通过Node发送邮件了,并且工作正常,但是我无法正常工作。

我到目前为止:

function verifyEmail(email, callback){
    var sesService = new AWS.SES({
        accessKeyId: "mykey",
        secretAccessKey: 'myaccesskey',
        region: 'eu-west-1'
    });
    sesService.verifyEmailIdentity({EmailAddress: email}, function(err, data){
        console.log("verifyEmailIdentity", err, data);
        return callback(err, data);        
    })
}

在日志中,我得到这个:

verifyEmailIdentity null 对象{ResponseMetadata:对象}

ResponseMetadata对象包含RequestId:“ some-string”

因此,我没有收到任何错误提示,但也没有收到确认此请求的电子邮件。

密钥已添加AmazonSESFullAccess策略,因此有足够的权限来完成此操作。

我想我忘记了一些非常简单的内容,但是基于Amazon的文档,我找不到任何内容。而且没有太多关于javascript的示例,因此我无法与他人比较我的代码。

1 个答案:

答案 0 :(得分:0)

仍然不知道为什么它不起作用,但是现在它起作用了。

我们已经计划创建自定义验证模板(https://docs.aws.amazon.com/ses/latest/DeveloperGuide/custom-verification-emails.html),我在等待使用CLI回答时创建了一个模板。

对于使用此模板,我们必须使用AWS的sendCustomVerificationEmail()函数。 你猜怎么着?使用该功能,邮件已发送,我可以验证所请求的电子邮件地址!

verifyMail函数现在如下所示:

function verifyEmail(email, callback){
    sesService.sendCustomVerificationEmail({
        EmailAddress: email,
        TemplateName: 'MyTemplateName'
        },function(err, data){
            console.log("verifyEmailIdentity", err, data);
            return callback(err, data);        
    })
}