首页 > web前端 > js教程 > 正文

node.js使用nodemailer发送邮件实例

高洛峰
发布: 2016-12-17 12:55:54
原创
1688 人浏览过

一、安装 nodemailer

npm install nodemailer --save

二、调用

var nodemailer = require("nodemailer");
// 开启一个 SMTP 连接池
var smtpTransport = nodemailer.createTransport("SMTP",{
  host: "smtp.qq.com", // 主机
  secureConnection: true, // 使用 SSL
  port: 465, // SMTP 端口
  auth: {
    user: "xxxxxxxx@qq.com", // 账号
    pass: "xxxxxxxx" // 密码
  }
});
// 设置邮件内容
var mailOptions = {
  from: "Fred Foo <xxxxxxxx@qq.com>", // 发件地址
  to: "2838890xx@qq.com, minimixx@126.com", // 收件列表
  subject: "Hello world", // 标题
  html: "<b>thanks a for visiting!</b> 世界,你好!" // html 内容
}
// 发送邮件
smtpTransport.sendMail(mailOptions, function(error, response){
  if(error){
    console.log(error);
  }else{
    console.log("Message sent: " + response.message);
  }
  smtpTransport.close(); // 如果没用,关闭连接池
});
登录后复制

三、常见错误

{ [AuthError: Invalid login - 454 Authentication failed, please open smtp flag first!]
  name: &#39;AuthError&#39;,
  data: &#39;454 Authentication failed, please open smtp flag first!&#39;,
  stage: &#39;auth&#39; }
登录后复制

错误原因: 账号未设置该服务
解决方案: QQ邮箱 -> 设置 -> 帐户 -> 开启服务:POP3/SMTP服务

{ [SenderError: Mail from command failed - 501 mail from address must be same as authorization user]
  name: &#39;SenderError&#39;,
  data: &#39;501 mail from address must be same as authorization user&#39;,
  stage: &#39;mail&#39; }
登录后复制

错误原因: 发件账号与认证账号不同



更多node.js使用nodemailer发送邮件实例相关文章请关注PHP中文网!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!