向未公开的收件人发送电子邮件

时间:2021-03-14 17:28:27

标签: javascript sql node.js nodemailer

所以我设置了这个 nodemailer 功能,在那里我查询我的数据库以获取注册用户的列表,并向他们发送电子邮件......但问题是,我必须手动输入我想要发送的用户电子邮件,然后密送其他所有人,这样他们就看不到其他用户。我想要的是让每个用户一次发送相同的电子邮件,但他们不应该看到其他收据(比如当你收到来自商店或其他东西的电子邮件时)......这就是我所拥有的:

  app.post('/sendBatchEmail', (req, res) => {
    var emails = [];
    var emailSubject = req.body.emailSubject;
    var emailMessage = req.body.emailMessage;

    //perform db2 send
    var sendEmail = "select * from testEmails"
    ibmdb.open(ibmdbconnMaster, function (err, conn) {
      if (err) return console.log(err);
      conn.query(sendEmail, function (err, rows) {
        if (err) {
          console.log(err);
        }
        for (var i = 0; i < rows.length; i++) {
          emails.push(rows[i].EMAIL)
        }
       
        //send email
        async function main() {
        

          let transporter = nodemailer.createTransport({
            host: "smtphm.sympatico.ca",
            port: 587,
            secure: false, // true for 465, false for other ports
            auth: {
              user: "xxx@bell.net",
              pass: "xxx",
            },
          });
      
          // send mail with defined transport object
          let sendBatch = await transporter.sendMail({
            from: "xxx@bell.net", // sender address
            to: "reciever@gmail.com",
            bcc: emails, // list of receivers
            subject: emailSubject, // Subject line
            text: emailMessage, // plain text body
          });
          
      
          console.log("Message sent: %s", sendBatch.messageId);
          // Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com>
      
         
        }
      
        main().catch(console.error);
        res.redirect("/");

        conn.close(function () {
          console.log("closed the function app.get(/sendBatchEmail)");
        });
      });
    });

  })

知道如何做到这一点吗?

1 个答案:

答案 0 :(得分:0)

回答了我自己的问题:

就这样:

// send mail with defined transport object
      let sendBatch = await transporter.sendMail({
        from: "xx@bell.net", // sender address
        to: "Undiscoled Recipents",
        bcc: emails, // list of receivers
        subject: emailSubject, // Subject line
        text: emailMessage, // plain text body
      });

就像一个魅力,在电子邮件中甚至没有 to 字段,只显示如下:

from: xx@bell.net
Subject: test email