如何在不影响 Node.JS 应用程序的情况下从后台异步发送大量电子邮件?

How to Send Mass Email asynchronously from Background without affecting Node.JS Application?

我目前正在使用 nodemailer 从我的 node.js 应用程序发送电子邮件。 我正在寻找的是 "something" 排队和安排多个用户发送大量电子邮件(每个用户 500 多封)。

这应该 运行 作为一个单独的后台进程,并且必须由我的 node.js 应用程序触发。 电子邮件发送不应影响我的 Node.Js 应用程序(服务器)响应请求。

我知道上面的陈述看起来更像是一个 s/w 要求而不是一个需要解决的问题,但我需要一个强大的 solution.Please 给出一个简短的解决方案(即 "somethings" 到使用).

创建一个 lambda 函数以仅使用您的 nodeMailer 脚本发送一封电子邮件。

在这个 lambda 中,我会在实际导出函数之外缓存邮件程序,例如:

const nodemailer = require('nodemailer');

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

    // ...NodeMailer stuff

    callback(null, event)
};

然后使用 SQS 事件触发此 lambda,如下所示: SQS as an event source to trigger Lambda | Medium

您可以使用节点 js 应用程序中的 JS AWS-SDK 将消息添加到队列,如下所示: Calling the sendMessage operation | AWS Docs