【发布时间】:2019-06-27 05:23:43
【问题描述】:
当用户注册时,一些电子邮件会进入垃圾邮件文件夹。
我有两个功能: 第一个将为 nodemailer 进行配置。
function sendingLetter() {
return nodemailer.createTransport({
service: config.transport.service,
secure: config.transport.ssl,
auth: {
user: config.transport.user,
pass: config.transport.password
}
});
}
第二个是制作带有链接的邮件发送模板
function statusCheck(file, replacements) {
let html_file = fs.readFileSync(file, { encoding: 'utf-8' });
let template = handlebars.compile(html_file);
let htmlToSend = template(replacements);
return htmlToSend;
}
向用户邮箱发送信件的功能
const smtpTransport = sendingLetter();
const confirm_email = path.join(__dirname, '../views/email_templates/users/confirm_email.html');
...
let rand_hash = Date.now();
let link = 'https://' + config.kHostName + '/api/users/verify/' + rand_hash;
let replacements = {
target_link: link,
};
let htmlToSend = statusCheck(confirm_email, replacements);
let mailOptions = {
from: config.transport.user,
to: user_email,
subject: Constants.users.messages.subjectConfimEmail,
html: htmlToSend,
};
smtpTransport.sendMail(mailOptions);
将插入链接以通过邮件发送给用户的模板
<p>
We're ready to activate your account. All we need to do is make sure this is your email address.
</p>
<a href="{{target_link}}"
<div class="butten">
Confirm Email
</div>
</a>
在某些情况下,Google 会将我的电子邮件发送到垃圾邮件文件夹。为什么会发生?有什么技巧可以避免这种情况?
【问题讨论】:
标签: javascript node.js email nodemailer