[英]How to display a particular user's email only in the to section in the mail after sending mail to multiple users using 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
,然后等待所有单独的承诺解决。 这应该可以更好地扩展。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.