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 相关文章推荐
JQuery 前台切换网站的样式实现
Jun 22 Javascript
js过滤数组重复元素的方法
Sep 05 Javascript
使用JQuery库提供的扩展功能实现自定义方法
Sep 09 Javascript
jquery禁止回车触发表单提交
Dec 12 Javascript
javascript三元运算符用法实例
Apr 16 Javascript
jQuery关键词说明插件cluetip使用指南
Apr 21 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
Apr 26 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
May 09 Javascript
javascript性能优化之DOM交互操作实例分析
Dec 12 Javascript
AngularJS基础 ng-submit 指令简单示例
Aug 03 Javascript
jQuery 同时获取多个标签的指定内容并储存为数组
Nov 20 jQuery
微信小程序实现页面分享onShareAppMessage
Aug 12 Javascript
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
输出控制类
2006/10/09 PHP
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
2015/10/21 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
php中关于换行的实例写法
2019/09/26 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
Document对象内容集合(比较全)
2010/09/06 Javascript
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
2012/02/03 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
基于NodeJS的前后端分离的思考与实践(一)全栈式开发
2014/09/26 NodeJs
小米公司JavaScript面试题
2014/12/29 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
javascript中的隐式调用
2018/02/10 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
jsonp跨域及实现百度首页联想功能的方法
2018/08/30 Javascript
JS无限级导航菜单实现方法
2019/01/05 Javascript
python安装cx_Oracle模块常见问题与解决方法
2017/02/21 Python
python判断链表是否有环的实例代码
2020/01/31 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
感恩节活动策划方案
2014/05/16 职场文书
幼儿园课题方案
2014/06/09 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
银行贷款委托书范本
2014/10/11 职场文书
关于军训的感想
2015/08/07 职场文书