我想自动化对电子邮件地址进行授权以通过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的示例,因此我无法与他人比较我的代码。
答案 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);
})
}