使用 lambda 发送邮件时的 AWS SES 服务问题

AWS SES service issue in sending mail using lambda

我有一个 Basic AWS 账户,我们在其中部署了一个 lambda 函数。此外,我们还在 lambda 函数中配置了 AWS SES 服务以发送电子邮件(我们的 SES 服务也已移出沙箱并增加了限制)。

我们大约每分钟发送两封电子邮件,但我们发现很少收到邮件,但大多数时候我们收不到任何电子邮件。

我们还尝试在两个区域部署应用程序,但我们发现 none 成功了。

示例代码

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. JavaScript return 承诺的功能需要 async
  2. 您的 Lambda 函数可能超时(默认为 3 秒)