54.nodejs nodemailer不兼容
转自:https://blog.csdn.net/q36835109/article/details/53067917
注:由于本人使用最新版本的nodemailer不兼容,所以目前使用的是0.7.1版的nodemailer
下面展示的是使用QQ邮箱发送邮件的实例,如果你有其它需求,也可以更换成其他邮箱发送,如(163,gmail等)。
1.安装nodemailer
npm install nodemailer@0.7.1
2.调用
- var to = 'XXX@qq.com'; //收件地址
- var subject = '邮件标题'; //发送的标题
- var text = '文本内容'; //文本
- var html = '<h1>邮件内容</h1>'; //发送的内容
- var transporter = nodemailer.createTransport("SMTP", {
- host: "smtp.qq.com", // 主机
- secureConnection : true, // 使用 SSL
- port: 465, // SMTP 端口
- auth: {
- user: 'XXX@qq.com', //邮箱登录账号
- pass:'XXXXX' //使用QQ邮箱登录密码是不正确的,必须使用QQ邮箱里的授权码,这个请注意,底部有说明。
- }
- });
- var emailOptions = {
- from : 'XXX <XXXXX@qq.com>',
- to : to,
- subject : subject,
- text : text,
- html : html
- }
- transporter.sendMail(emailOptions, function(err, info) {
- if(err){
- return console.log(err);
- }else{
- console.log('Message sent: ' + info.message);
- }
- transporter.close(); // 如果没用,关闭连接池
- });
3.注意事项:
1.首先登录到QQ邮箱,点击左上角设置->账户,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务开启smtp服务,如下图显示
开启之后,点击‘生成授权码’(* 这个授权码是用来登录发送邮件的),如下图显示
获取完之后,如下图显示
2.提示535错误,如下图显示
原因:smtp服务器验证不通过
解决方案:密码要用授权码当密码
3.Error: 101057795,,如下图显示:
原因:端口不正确
解决方案:修改端口(578或25或465等)试试
4.Error: Greeting never received,如下图显示:
原因:没有使用ssl
解决方案:添加secureConnection:true
以上是本人在使用的时候遇到的问题,如果您们还遇到其他问题,可以评论把问题和解决方案写下,方便大家以后遇到相同问题时可以查看。。
54.nodejs nodemailer不兼容的更多相关文章
- nodejs & nodemailer
nodejs & nodemailer https://www.npmjs.com/package/nodemailer 上面的連接裏面 有有一個例子: 可以直接拿來用: 安裝依賴,在pack ...
- nodejs nodemailer中间件
var stransporter = nodemailer.createTransport({ host:smtp-163.com', //适合163 secureConnection: true, ...
- nodejs nodemailer 使用
index.js const nodemailer=require("nodemailer") let sendEmail=function () { var transporte ...
- Nodejs stream模块-翻译
花了两天时间尝试按照自己的话翻译了一下stream模块,以下内容皆翻译于:https://nodejs.org/api/stream.html. 目录 1 Stream(流) 1.1 ...
- Nodejs课堂笔记-第三课 构建一个nodejs的Docker镜像
本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 因为一直做Linux有关的开发工作,所以不习惯在Windows平台编译和测试 ...
- 必应API接口nodejs版
近期,在研究百度.必应.API等的url提交API时,发现有用Go语言做工具的大佬的分享 利用 API 自动向搜索引擎提交网址(Go语言版) - pyList. 其中提到bing API提交方法,并给 ...
- 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?
来自 http://www.zhihu.com/question/19599986 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS? 想选择一个 Linux 发行版作为服务器. ...
- AngularJS-Uncaught Error: [$injector:modulerr]
我在实验AngularJS-系统代码的配置和翻译的时候遇到了如下图所示的错误: 在JS编程的时候会经常遇到,XXX不是一个函数,XXX未定义等等错误,只要看到和自己编写的代码语句相关的东西直接找到就能 ...
- React native开发中常见的错误
react native环境搭建请移步:react native环境搭建 这里说说react native创建完成之后,运行中出现的常见问题, 问题1: java.lang.RuntimeExcept ...
随机推荐
- shell call python
python -c "import os; p=os.getcwd(); print(p);print(p);print(p);print('test over')"
- 把asp:CheckBoxList 变成单选框
单选框代码 <asp:CheckBoxList runat="server" RepeatDirection="Horizontal" ID=" ...
- 《剑指offer》二叉树的镜像
一.题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 二.输入描述 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 三.输出描述 镜像二叉树 8 / \ 10 ...
- Ubuntu 18.04图形化软件包管理器
1.ubuntu软件这个管理工具提供了一种管理您系统中软件的好方法,通过他可以很直观的查找软件安装很简单,打开终端,输入以下命令:----------------------------------- ...
- Qihoo 360 altas 实践
Qihoo 360 altas 实践 简介 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Prox ...
- Vue不能检测的数组变化 对象变化
数组: 由于 JavaScript 的限制,Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue 当你修改数组的长度时 ...
- bzoj1618 购买干草
Description 约翰的干草库存已经告罄,他打算为奶牛们采购日(1≤日≤50000)磅干草.他知道N(1≤N≤100)个干草公司,现在用1到N给它们编号.第i个公司卖的干草包重量为Pi(1≤Pi ...
- 百度API调用实例
今天依据需求要从百度API中取出一些数据.这些操作包含:将坐标转换成百度坐标.依据转换的百度坐标进行特定的查询. 有需求的收藏下,免得下次手写浪费时间. 涉及到的操作有:JSON格式的字符解析.HTT ...
- 【计算机视觉】基于Kalman滤波器的进行物体的跟踪
预估器 我们希望能够最大限度地使用測量结果来预计移动物体的运动. 所以,多个測量的累积能够让我们检測出不受噪声影响的部分观測轨迹. 一个关键的附加要素即此移动物体运动的模型. 有了这个模型,我们不仅能 ...
- Swift的闭包,枚举,类和结构体
闭包(Closures) 使用过其它语言的应该对代码块并不陌生,Swift中的闭包与C,OC中的Block相似. 表示自包括的函数代码块.能够在代码中传递和使用. 而且能够捕获和存储上下文的变量以及常 ...