我正在使用 nodemailer,我需要向数组中的所有用户发送电子邮件吗?
I am using nodemailer and I need to send email to all the users in a array?
我正在使用 nodejs 和 nodemailer 向用户发送电子邮件。
我有这样的用户列表:-
[
{
name: "John Doe",
email: "john@something.com"
},
{
name: "Jane Doe",
email: "jane@something.com"
}
...and more.
]
如何使用 nodemailer 向数组中的所有用户发送电子邮件。
查看我的代码-
users.map(user => {
const mailOptions = {
from: '*****@gmail.com',
to: user.email,
subject: subject, // Any subject
text: message // Any message
}
transporter.sendMail(mailOptions, (err, info) => {
if (err) {
console.log(err)
} else {
console.log(info)
}
})
})
这样做正确吗?
提前致谢!
将电子邮件数组转换为逗号分隔的字符串
const recipients = users.map(user=>user.email).join(',');
// 'john@something.com','jane@something.com'
现在您拥有所有收件人。接下来使用 nodemailer
example 一次向所有收件人发送电子邮件
您的代码将有效。但是,如果您想将同一封电子邮件发送给多个收件人,则有一种更简单的方法。
如您在 nodemailer documentation 中所见,字段 to
是一个 comma-separated list or an array of recipients email addresses that will appear on the To: field
。所以像这样的东西就可以了
const userEmails = users.map(item => item.email); // array of user email
const mailOptions = { // send the same email to many users
from: '*****@gmail.com',
to: userEmails,
subject: subject, // Any subject
text: message // Any message
}
transporter.sendMail(mailOptions, (err, info) => {
if (err) {
console.log(err)
} else {
console.log(info)
}
})
我正在使用 nodejs 和 nodemailer 向用户发送电子邮件。
我有这样的用户列表:-
[
{
name: "John Doe",
email: "john@something.com"
},
{
name: "Jane Doe",
email: "jane@something.com"
}
...and more.
]
如何使用 nodemailer 向数组中的所有用户发送电子邮件。
查看我的代码-
users.map(user => {
const mailOptions = {
from: '*****@gmail.com',
to: user.email,
subject: subject, // Any subject
text: message // Any message
}
transporter.sendMail(mailOptions, (err, info) => {
if (err) {
console.log(err)
} else {
console.log(info)
}
})
})
这样做正确吗?
提前致谢!
将电子邮件数组转换为逗号分隔的字符串
const recipients = users.map(user=>user.email).join(',');
// 'john@something.com','jane@something.com'
现在您拥有所有收件人。接下来使用 nodemailer
example 一次向所有收件人发送电子邮件
您的代码将有效。但是,如果您想将同一封电子邮件发送给多个收件人,则有一种更简单的方法。
如您在 nodemailer documentation 中所见,字段 to
是一个 comma-separated list or an array of recipients email addresses that will appear on the To: field
。所以像这样的东西就可以了
const userEmails = users.map(item => item.email); // array of user email
const mailOptions = { // send the same email to many users
from: '*****@gmail.com',
to: userEmails,
subject: subject, // Any subject
text: message // Any message
}
transporter.sendMail(mailOptions, (err, info) => {
if (err) {
console.log(err)
} else {
console.log(info)
}
})