我在扩展微博网站microblog-alpha版时第一次使用了nodemailer模块。使用非常简单。
// 开启一个 SMTP 连接池
var smtpTransport = nodemailer.createTransport("SMTP",{
host: "smtp.qq.com", // 主机
secureConnection: false, // 使用 SSL
port: 25, // SMTP 端口
auth: {
user: "你的邮箱", // 账号
pass: "你的密码" // 密码
}
});
console.log(verification);
// 设置邮件内容
var mailOptions = {
from: "鸑鷟的博客网站 <1125605844@qq.com>", // 发件地址
to: req.body['email'], // 收件列表
subject: verification, // 标题
test:verification // 内容
};
// 发送邮件
smtpTransport.sendMail(mailOptions, function(error, response){
if(error){
console.log(error);
}else{
console.log("Message sent: " + response.message);
}
//smtpTransport.close(); // 如果没用,关闭连接池
});
几乎可以说只要把这段代码略改几个变量,直接粘贴到项目里就可以用了。
使用前别忘了给邮箱开启SMTP服务哦,否则会出现如下报错:
{ [AuthError: Invalid login - 454 Authentication failed, please open smtp flag first!]
name: 'AuthError',data: '454 Authentication failed, please open smtp flag first!', stage: 'auth' }
若是QQ邮箱,开启方法:QQ邮箱 -> 设置 -> 帐户 -> 开启服务:POP3/SMTP服务