我正在使用 nodejs 创建一个简单的发送邮件功能。电子邮件由快递邮件模块
处理以下是 app.js
的一部分var express = require('express');
var app = express();
var mailer = require('express-mailer');
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
mailer.extend(app, {
from: 'no-reply@example.com',
host: 'smtp.gmail.com',
secureConnection: true,
port: 465,
transportMethod: 'SMTP',
auth: {
user: 'mymail@gmail.com',
pass: 'mygmailpass'
}
});
app.mailer.send('email', {
to: 'test75@gmail.com,test4@gmail.com,test21@gmail.com',
subject: 'Password reset', // REQUIRED.
body: 'Your Password is set to xxxxx. Please log in back.,',
otherProperty: 'Other Property'
}, function(err) {
if (err) {
console.log(err);
return;
}
console.log('mail sent');
});
这是我的电子邮件模板 email.jade
doctype html
html
head
meta(http-equiv = 'Content-Type', content = 'text/html; charset=UTF-8')
title= subject
body
p
=body
上述应用程序运行良好,电子邮件将被触发给收件人。问题是当有多个收件人时,这是个人收件人如何收到电子邮件的图像:
请注意上述图片,当收件人收到电子邮件时,他们可以查看收到同一封电子邮件的所有其他收件人。导致这种行为的原因是什么,以及如何避免?
答案 0 :(得分:0)
目前在你的情况下
这实际上是一封发送给多个收件人的电子邮件。您需要向多个收件人发送多封电子邮件才能实现目标。
选项强>
bcc
选项隐藏电子邮件地址。如果您将所有电子邮件都放在to
字段中,则无法隐藏其他收件人的电子邮件地址。
例如,更新代码如下
var addresses = ['test75@gmail.com','test4@gmail.com','test21@gmail.com'];
var index, len;
for (index = 0, len = addresses.length; index < len; index++) {
var email = addresses[index];
app.mailer.send('email', {
to: email,
subject: 'Password reset', // REQUIRED.
body: 'Your Password is set to xxxxx. Please log in back.,',
otherProperty: 'Other Property'
}, function(err) {
if (err) {
console.log(err);
return;
}
console.log('mail sent');
});
}