使用nodemailer发送电子邮件时,将其他收件人隐藏到地址中

时间:2014-11-27 14:55:49

标签: javascript node.js express nodemailer

我正在使用node.js处理EmailSender项目。我发现nodeemailer包真的让它更容易。

但是当我向多个联系人发送电子邮件时,所有联系人都看到了列中的其他联系地址。

我想隐藏其他人。那是接收者只能看到他的电子邮件地址。

我正在使用的代码是,

var mailOptions = {
        from: 'sender@sender.com', // sender address
        to: 'reciever1@domain.com,reciever1@domain.com', // list of receivers
        subject: 'Hello', // Subject line
        text: 'Hello world', // plaintext body
        html: '<b>Hello world</b>' // html body
    };
    transporter.sendMail(mailOptions, function(error, info) {
        if (error) {
        res.send(error);
        } else {
            res.send('Message sent: ' + res);
        }
    });

问题是,当receiver1收到电子邮件时,他不应该知道receiver2收到了同样的电子邮件。

感谢。

3 个答案:

答案 0 :(得分:4)

将listOfRecipients存储在数组中并循环遍历

var listOfRecipients = ["Reciever1 <reciever1@domain.com>", "Reciever2 <reciever2@domain.com>"]
for (var i = 0; i < listOfRecipients.length; i++) { 
    var mailOptions = {
        from: 'Sender <sender@sender.com>', // sender address
        to: listOfRecipients[i], // list of receivers
        subject: 'Hello', // Subject line
        text: 'Hello world', // plaintext body
        html: '<b>Hello world</b>' // html body
    };
    transporter.sendMail(mailOptions, function(error, info) {
        if (error) {
            res.send(error);
        } else {
            res.send('Message sent: ' + res);
        }
    });
}

答案 1 :(得分:3)

我认为处理此问题的典型方法(无论语言,框架或库)是将电子邮件发送到完全不相关的电子邮件地址,通常类似于noreply@example.com;然后你会把收件人放入BCC列表。请注意,这会增加收件人将邮件标记为垃圾邮件的几率&#39;电子邮件提供商,所以最安全的解决方案通常是将邮件单独发送给每个收件人。

答案 2 :(得分:0)

此帖子是在很久以前添加的,但是如果您正在寻找答案,那真的很简单-改为使用字段to:,使用bcc: