AWS Проблема сервиса SES при отправке почты с использованием лямбда - PullRequest
0 голосов
/ 07 мая 2020

У меня есть учетная запись Basi c AWS, в которой мы развернули лямбда-функцию. Также мы настроили службу AWS SES в лямбда-функции для отправки электронной почты (также наша служба SES перемещена из песочницы и увеличен лимит).

Примерно мы отправляем два электронных письма в минуту, но мы обнаружили, что мы редко получаем почту, но большую часть времени мы не получаем никаких писем.

Также мы пытались развернуть приложение в двух регионах, но не нашли ни одного успешного.

Пример кода

const AWS = require('aws-sdk');

//AWS Options 
const options = {
  region: 'us-east-1',
  // accessKeyId not required because of server less app (SWS policy added in role)
  // secretAccessKey not required because of server less app (SWS policy added in role)
}

const ses  = new AWS.SES(options);

const sendEmail = (sender, receivers, subject, content) => {
    console.log("Sending From", sender);
    console.log("REceiver Email", receivers);
    const promise = new Promise((resolve, reject) => {
        ses.sendEmail({
        Source: sender,
        Destination: {
            ToAddresses: receivers
        },
        Message: {
            Subject: {
            Data: subject
            },
            Body: {
            Html: {
                Data: content
            }
            }
        }
        }, (err, data) => {
        if (err) {
            console.log(err)
            reject(err)
        }
        resolve(data)
        });
    });
    return promise 
};

1 Ответ

1 голос
/ 07 мая 2020

Я думаю, здесь происходит несколько вещей:

  1. JavaScript функции, возвращающие обещания, должны быть async
  2. ваша лямбда-функция может быть отключена (по умолчанию 3 секунды)
...