Nodemailer 是一个简单易用的 Node.JS 邮件发送模块(通过 SMTP,sendmail,或者 Amazon SES),支持 unicode,你可以使用任何你喜欢的字符集。
Nodemailer 是一个简单易用的 Node.js 邮件发送组件,Github 项目地址为https://github.com/andris9/Nodemailer。
Nodemailer的主要特点包括:
以上的功能特点,已经覆盖了大部分的发邮件的需求了,接下来就让我们动手开始写程序吧。
这是一个完整的例子来发送电子邮件以明文和HTML本体
var nodemailer = require('nodemailer');// create reusable transporter object using the default SMTP transportvar transporter = nodemailer.createTransport('smtps://user%40gmail.com:pass@smtp.gmail.com');// setup e-mail data with unicode symbolsvar mailOptions = { from: 'Fred Foo <foo@blurdybloop.com>', // sender address to: 'bar@blurdybloop.com, baz@blurdybloop.com', // list of receivers subject: 'Hello ', // Subject line text: 'Hello world ', // plaintext body html: '<b>Hello world </b>' // html body};// send mail with defined transport objecttransporter.sendMail(mailOptions, function(error, info){ if(error){ return console.log(error); } console.log('Message sent: ' + info.response);});
{ [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邮箱 -> 设置 -> 帐户 -> 开启服务:POP3/SMTP服务
{ [SenderError: Mail from command failed - 501 mail from address must be same as authorization user] name: 'SenderError', data: '501 mail from address must be same as authorization user', stage: 'mail' }
错误原因: 发件账号与认证账号不同,即用户名和密码不匹配。
更多使用方法和示例请访问: