Nodemailer是一个简单易用的Node.js邮件发送组件,具体操作如下
1、安装nodemailernpm install nodemailer --save
2、特点Nodemailer的主要特点包括:
- 支持Unicode编码
- 支持Window系统环境
- 支持HTML内容和普通文本内容
- 支持附件(传送大附件)
- 支持HTML内容中嵌入图片
- 支持SSL/STARTTLS安全的邮件发送
- 支持内置的transport方法和其他插件实现的transport方法
- 支持自定义插件处理消息
- 支持XOAUTH2登录验证
以上的功能特点,已经覆盖了大部分的发邮件的需求了,接下来就让我们动手开始写程序吧。
3、简单示例这是一个完整的例子来发送电子邮件以明文和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 addressto: "bar@blurdybloop.com, baz@blurdybloop.com", // list of receiverssubject: "Hello ✔", // Subject linetext: "Hello world 🐴", // plaintext bodyhtml: "<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);});4、常见错误{ [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" }错误原因: 发件账号与认证账号不同,即用户名和密码不匹配。
以上就是本文的全部内容,希望对大家的学习有所帮助。