Проблема с электронной почтой в AWS SES - PullRequest
0 голосов
/ 03 июня 2019

Я настроил Email Id и домены в консоли SES и проверил каждый из них.Я выбрал регион ЕС Ирландия.

Используя консоль SES, я могу отправлять тестовые письма на подтвержденный идентификатор.

Однако у меня возникают проблемы при отправке почты с использованием лямбда-кода.

Вот частькода сводит меня с ума:

var aws = require("aws-sdk");
var nodemailer = require("nodemailer");

aws.config.update({
  accessKeyId: "myaccesskey",
  secretAccessKey: "mysecretkey",
  region: "us-west-2"
});

var ses = new aws.SES();


exports.handler = function (event, context, callback) {

    var mailOptions = {
        from: "myverifiedemailaddess@domain.com",
        subject: "This is an email sent from a Lambda function!",
        html: `<p>You got a contact message from: </b></p>`,
        to: "myverifiedemailaddess@domain.com",
        // bcc: Any BCC address you want here in an array,
    };

    // create Nodemailer SES transporter
    var transporter = nodemailer.createTransport({
        SES: ses
    });

    // send email
    transporter.sendMail(mailOptions, function (err, info) {
        if (err) {
            console.log("Error sending email");
            callback(err);
        } else {
            console.log("Email sent successfully");
            callback();
        }
    });
};

Каждый раз, когда я отправляю и отправляю электронное письмо с использованием кода, я получаю следующую ошибку:

{
  "errorMessage": "Email address is not verified. The following identities failed the check in region US-WEST-2: myverifiedemailaddess@domain.com",
  "errorType": "MessageRejected",
  "stackTrace": [
    "Request.extractError (/var/task/node_modules/aws-sdk/lib/protocol/query.js:50:29)",
    "Request.callListeners (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:106:20)",
    "Request.emit (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:78:10)",
    "Request.emit (/var/task/node_modules/aws-sdk/lib/request.js:683:14)",
    "Request.transition (/var/task/node_modules/aws-sdk/lib/request.js:22:10)",
    "AcceptorStateMachine.runTo (/var/task/node_modules/aws-sdk/lib/state_machine.js:14:12)",
    "/var/task/node_modules/aws-sdk/lib/state_machine.js:26:10",
    "Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:38:9)",
    "Request.<anonymous> (/var/task/node_modules/aws-sdk/lib/request.js:685:12)",
    "Request.callListeners (/var/task/node_modules/aws-sdk/lib/sequential_executor.js:116:18)"
  ]
}

1 Ответ

0 голосов
/ 03 июня 2019

Для работы вам нужно иметь SES и Lambda в одном регионе,

Пожалуйста, прочитайте это,

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/regions.html#region-receive-email

...