Nodemailer 是一个简单易用的 Node.JS 邮件发送模块(通过 SMTP,sendmail,或者 Amazon SES),支持 unicode,你可以使用任何你喜欢的字符集。

特点

Nodemailer 是一个简单易用的 Node.js 邮件发送组件,Github 项目地址为https://github.com/andris9/Nodemailer

Nodemailer的主要特点包括:

  • 支持Unicode编码
  • 支持Window系统环境
  • 支持HTML内容和普通文本内容
  • 支持附件(传送大附件)
  • 支持HTML内容中嵌入图片
  • 支持SSL/STARTTLS安全的邮件发送
  • 支持内置的transport方法和其他插件实现的transport方法
  • 支持自定义插件处理消息
  • 支持XOAUTH2登录验证

以上的功能特点,已经覆盖了大部分的发邮件的需求了,接下来就让我们动手开始写程序吧。

简单示例

这是一个完整的例子来发送电子邮件以明文和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' }

错误原因: 发件账号与认证账号不同,即用户名和密码不匹配。

相关链接

更多使用方法和示例请访问:

举报/反馈

文江博客

2202获赞 810粉丝
文江的个人博客,平凡的草根站长。
关注
0
0
收藏
分享