使用 nodemailer 获取 SQL 数据并发送多封电子邮件?

Fetch SQL data and send multiple emails with nodemailer?

所以我正在构建这个小型电子邮件应用程序来研究 node.js 和 mysql。

我已经成功将数据存储到 mySQL 数据库中,我是这样存储的

var emails = 'SELECT user_email FROM scrap';
con.query(emails, function(err, email, fields){
  //console.log(email);
}); 

console.log显示

[ RowDataPacket { user_email: 'dummybot@gmail.com' },
  RowDataPacket { user_email: 'dummybot2@gmail.com' }, ]

我目前正在使用 nodemailer 一次发送多封电子邮件。

var mailOptions = {
  from: 'dummybot@gmail.com',
  to: emails,
  subject: 'Sending Email using Node.js[nodemailer]',
  text: 'That was easy!'
};

当我执行这个命令时,我收到一个错误

Error: No recipients defined

有没有其他方法可以一次发送多封电子邮件?或者有什么方法可以确保我的应用程序相应地向数据库中的电子邮件发送多封电子邮件 (mySQL)。我想确保应用程序发送回复存储在数据库中的所有电子邮件。

我认为您需要先将收件人列表放入一个数组中。 可以在 for 循环中轻松实现。小心不要混淆电子邮件和电子邮件的定义。

var emails = 'SELECT user_email FROM scrap';
var to_list = []
con.query(emails, function(err, email, fields){
  //console.log(email);
  for(k in email){
      to_list.push(email[k].user_email)
    }
}); 

var mailOptions = {
  from: 'dummybot@gmail.com',
  to: to_list,
  subject: 'Sending Email using Node.js[nodemailer]',
  text: 'That was easy!'
};