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 相关文章推荐
浅谈JavaScript中面向对象技术的模拟
Sep 25 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
Jan 11 Javascript
jquery 插件学习(五)
Aug 06 Javascript
JavaScript动态修改弹出窗口大小的方法
Apr 06 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
Oct 31 Javascript
javascript实现简单的on事件绑定
Aug 23 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
Sep 18 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
Mar 17 Javascript
socket io与vue-cli的结合使用的示例代码
Nov 01 Javascript
简单了解Javscript中兄弟ifream的方法调用
Jun 17 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
Jun 01 Javascript
vue中使用mockjs配置和使用方式
Apr 06 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生成自定义长度随机字符串的函数分享
2014/05/04 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
js 事件小结 表格区别
2007/08/13 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
vue在图片上传的时候压缩图片
2020/11/18 Vue.js
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
python抓取网页中图片并保存到本地
2015/12/01 Python
深入理解Python分布式爬虫原理
2017/11/23 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
pycharm通过ssh连接远程服务器教程
2020/02/12 Python
Python 创建TCP服务器的方法
2020/07/28 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
css3的过滤效果简单实例
2016/08/03 HTML / CSS
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
巴西图书和电子产品购物网站:Saraiva
2017/06/07 全球购物
UGG英国官方网站:UGG UK
2018/02/08 全球购物
惠而浦美国官网:Whirlpool.com
2021/01/19 全球购物
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
园林资料员岗位职责
2013/12/30 职场文书
大学生团日活动总结
2015/05/06 职场文书
关于迟到的检讨书
2015/05/06 职场文书