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 17 Javascript
JavaScript设计模式之适配器模式介绍
Dec 28 Javascript
JS版元素周期表实现方法
Aug 05 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
May 16 Javascript
jQuery:unbind方法的使用详解
Aug 14 jQuery
vue组件之Alert的实现代码
Oct 17 Javascript
Angular项目从新建、打包到nginx部署全过程记录
Dec 09 Javascript
vue2.0 elementUI制作面包屑导航栏
Feb 22 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
Jul 16 Javascript
Vuerouter的beforeEach与afterEach钩子函数的区别
Dec 26 Javascript
Vue动态路由缓存不相互影响的解决办法
Feb 19 Javascript
JavaScript Canvas编写炫彩的网页时钟
Oct 16 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图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
php生成扇形比例图实例
2013/11/06 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
JS实现兼容性较好的随屏滚动效果
2015/11/09 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
2016/05/31 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
浅谈react-router@4.0 使用方法和源码分析
2019/06/04 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
[38:41]2014 DOTA2国际邀请赛中国区预选赛 LGD VS CNB
2014/05/22 DOTA
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
用Eclipse写python程序
2018/02/10 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
python 从csv读数据到mysql的实例
2018/06/21 Python
python实现的MySQL增删改查操作实例小结
2018/12/19 Python
pandas的连接函数concat()函数的具体使用方法
2019/07/09 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
Python学习笔记之字符串和字符串方法实例详解
2019/08/22 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
华为菲律宾官方网站:HUAWEI Philippines
2021/02/23 全球购物
Windows和Linux动态库应用异同
2016/07/28 面试题
企业项目策划书
2014/01/11 职场文书
毕业生自荐书
2014/02/02 职场文书
酒店员工职业生涯规划
2014/02/25 职场文书
上海世博会口号
2014/06/19 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
2014年社区矫正工作总结
2014/11/18 职场文书
庆六一开幕词
2015/01/29 职场文书
党员年终个人总结
2015/02/14 职场文书
2015年春训学习心得体会范文
2015/03/09 职场文书
总结Python常用的魔法方法
2021/05/25 Python
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android