javascript - 使用nodemailer向多个用户发送邮件后,如何仅在邮件的收件人部分显示特定用户的电子邮件
问题描述
当我使用 nodemailer 向多个用户发送电子邮件时,如下所示。在体内,to
如来'one@gmail.com, two@gmail.com'
const mailOptions = {
from: 'from@gmail.com',
to: request.body.to,
subject: request.body.subject,
text: request.body.text,
}
let result = await transport.sendMail(mailOptions)
现在当我打开邮件并看到
from: from@gmail.com
to: one@gmail.com
two@gmail.com
Date: 20 July 2021
在“收件人”部分:显示所有用户的电子邮件。虽然我已经向多个用户发送了邮件,但我只想在 to 部分显示该特定用户(电子邮件正在接收的人)的电子邮件。我该怎么做?
解决方案
要获得您想要的效果,请多次发送电子邮件,每个人一次
这样,每个人的电子邮件的“收件人”将只反映他们。
另一种方法是将其发送给您自己,并且只密件抄送所有收件人,但我认为您不希望这样,因为它似乎没有人情味。
在开始发送下一封邮件的过程之前,您不必等待每封电子邮件发送完毕
在您当前速度较慢的代码中,您可能会在开始下一个收件人之前为每个收件人await
获取结果。sendMail
sendMail
const recipients = ["a@gmail.com","b@gmail.com"];
const promiseArray = recipients.map(recipient=>{
const mailOptions = {
from: 'from@gmail.com',
to: recipient,
subject: request.body.subject,
text: request.body.text,
}
return transport.sendMail(mailOptions)
})
const resultArray = await Promise.all(promiseArray)
但是,通过此处的方法,您将sendMail
首先启动所有个人 s,然后等待所有个人承诺解决。这应该可以更好地扩展。
推荐阅读
- clojure - Clojure 函数定义的参数中的双括号是什么意思?
- r - 如何使用 R 删除特定两列中为零或 NA 的行?
- c++ - 如何用 C++ 中的数组解决这个问题?
- c# - 导航抽屉保持打开状态
- html - 与 css django 中的背景图像相关的问题
- java - 具有接口成员变量和成员方法的 Java 类的行为不同。请解释
- r - 使用 R 而不是 Python 解读受 cloudflare 保护的电子邮件?
- ruby-on-rails - 如何解决 SMTPAuthentication 错误/Ruby on Rails 应用程序、设计、SendGrid 托管在 Heroku 上
- clojure - 映射数组映射的嵌套向量
- scala - Scala SBT - 外部存储库