如何通过amazon ses发送邮件

how to send email through amazon ses

我正在使用 nodemailer 和 nodemailer-ses-transport。

每次我 运行 我的发送邮件测试代码,我都会收到这样的错误消息。

但我在测试中指定了 'From' 字段 我不知道为什么它无法识别该字段。

{ [InvalidParameterValue: Missing required header 'From'.]
message: 'Missing required header \'From\'.',
code: 'InvalidParameterValue',
time: Fri Apr 10 2015 01:34:36 GMT+0000 (UTC),
statusCode: 400,
retryable: false,
retryDelay: 30 }

测试代码在这里。

请让我知道密码错误。

var nodemailer = require('nodemailer');
var ses = require('nodemailer-ses-transport');

var sendAuthCode = function(gmail, message, callback) {
    var transporter = nodemailer.createTransport(ses({
        accessKeyId : MY_ACCESS_KEY_ID,
        secretAccessKey : MY_SECRET_ACEESS_KEY,
        region : "us-west-2",
        rateLimit : 1
    }));

    transporter.sendMail({
        from: 'mail bot',
        to: gmail,
        subject: 'TEST',
        text: message
    }, function(err, resStatus) {
        if (err) {
            callback(err);
        } else {
            callback('success');
        }
    });
}

sendAuthCode("some@gmail.com", "hello", function (result) {
    console.log(result);
});

已更新 我解决了问题!! 问题是 amazon ses 只能在经过验证的电子邮件地址之间发送邮件。 如果您想向未验证的用户发送电子邮件, 您应该请求增加 ses 仪表板上的 ses 限制。

无论如何谢谢你的回复

您不能使用 "mail bot" 作为发件人。使用合法的电子邮件。