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 相关文章推荐
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
Mar 07 Javascript
如何判断微信内置浏览器(通过User Agent实现)
Sep 01 Javascript
JavaScript动态改变div属性的实现方法
Jul 22 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
Jan 10 Javascript
javascript匀速动画和缓冲动画详解
Oct 20 Javascript
解析JavaScript模仿块级作用域
Dec 29 Javascript
jQuery插件HighCharts绘制2D带Label的折线图效果示例【附demo源码下载】
Mar 08 Javascript
Angular使用动态加载组件方法实现Dialog的示例
May 11 Javascript
vue组件挂载到全局方法的示例代码
Aug 02 Javascript
js实现删除li标签一行内容
Apr 16 Javascript
Vue中实现权限控制的方法示例
Jun 07 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
Jan 05 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
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
无需数据库在线投票调查php代码
2016/07/20 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
PHP Swoole异步读取、写入文件操作示例
2019/10/24 PHP
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
JS截取与分割字符串常用技巧总结
2015/11/10 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
2017/07/24 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
JavaScript数组及常见操作方法小结
2019/11/13 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
[01:48]完美圣典齐天大圣至宝宣传片
2016/12/17 DOTA
Python实现的简单万年历例子分享
2014/04/25 Python
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
Python内置函数delattr的具体用法
2017/11/23 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
django 简单实现登录验证给你
2019/11/06 Python
python与pycharm有何区别
2020/07/01 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
促销活动策划方案
2014/01/12 职场文书
授权委托书怎么写
2014/04/03 职场文书
团日活动总结书
2014/05/08 职场文书
舞蹈教育学专业自荐信
2014/06/15 职场文书
安全保证书怎么写
2015/02/28 职场文书
办公室管理规章制度
2015/08/04 职场文书
周一问候语大全
2015/11/10 职场文书
股权投资协议书
2016/03/23 职场文书