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


Posted in Javascript onMarch 10, 2014

一、安装 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: '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' }

错误原因: 发件账号与认证账号不同
Javascript 相关文章推荐
解决表单中第一个非隐藏的元素获得焦点的一个方案
Oct 26 Javascript
关于javascript event flow 的一个bug详解
Sep 17 Javascript
使用js写的一个简易的投票
Nov 27 Javascript
js中直接声明一个对象的方法
Aug 10 Javascript
jQuery+css3实现文字跟随鼠标的上下抖动
Jul 31 Javascript
js为什么不能正确处理小数运算?
Dec 29 Javascript
JavaScript框架Angular和React深度对比
Nov 20 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
Sep 20 Javascript
在JS循环中使用async/await的方法
Oct 12 Javascript
Webstorm2016使用技巧(SVN插件使用)
Oct 29 Javascript
基于layui框架响应式布局的一些使用详解
Sep 16 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
Jan 13 Vue.js
php中给js数组赋值方法
Mar 10 #Javascript
javascript操作referer详细解析
Mar 10 #Javascript
JS数组的赋值介绍
Mar 10 #Javascript
JS删除字符串中重复字符方法
Mar 09 #Javascript
用JavaScript实现类似于ListBox功能示例代码
Mar 09 #Javascript
jquery下div 的resize事件示例代码
Mar 09 #Javascript
现如今最流行的JavaScript代码规范
Mar 08 #Javascript
You might like
用PHP制作静态网站的模板框架(一)
2006/10/09 PHP
解析PHP缓存函数的使用说明
2013/05/10 PHP
PHP+Ajax 检测网络是否正常实例详解
2016/12/16 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
用js自动判断浏览器分辨率的代码
2007/01/28 Javascript
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
javascript类继承机制的原理分析
2009/09/12 Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
2012/03/08 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
使用Jquery实现每日签到功能
2015/04/03 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
老生常谈javascript的类型转换
2016/10/12 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
JS中的三个循环小结
2017/06/20 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
python-numpy-指数分布实例详解
2019/12/07 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
玩具反斗城美国官网:Toys"R"Us
2016/09/17 全球购物
法国珠宝店:CLEOR
2017/01/29 全球购物
介绍下WebSphere的安全性
2013/01/31 面试题
高三自我鉴定范文
2013/10/19 职场文书
大学生专业个人学习的自我评价
2013/10/26 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
领导干部廉政自律承诺书
2014/05/26 职场文书
党员个人自我评价
2015/03/03 职场文书
导游词之山东孔庙
2019/11/04 职场文书
python 实现的截屏工具
2021/05/08 Python
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript