转自: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.调用

  1. var to = 'XXX@qq.com';        //收件地址
  2. var subject = '邮件标题';           //发送的标题
  3. var text = '文本内容';              //文本
  4. var html = '<h1>邮件内容</h1>';   //发送的内容
  5. var transporter = nodemailer.createTransport("SMTP", {
  6. host: "smtp.qq.com",        // 主机
  7. secureConnection : true,    // 使用 SSL
  8. port: 465,                  // SMTP 端口
  9. auth: {
  10. user: 'XXX@qq.com', //邮箱登录账号
  11. pass:'XXXXX' //使用QQ邮箱登录密码是不正确的,必须使用QQ邮箱里的授权码,这个请注意,底部有说明。
  12. }
  13. });
  14. var emailOptions = {
  15. from : 'XXX <XXXXX@qq.com>',
  16. to : to,
  17. subject : subject,
  18. text : text,
  19. html : html
  20. }
  21. transporter.sendMail(emailOptions, function(err, info) {
  22. if(err){
  23. return console.log(err);
  24. }else{
  25. console.log('Message sent: ' + info.message);
  26. }
  27. transporter.close(); // 如果没用,关闭连接池
  28. });

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不兼容的更多相关文章

  1. nodejs & nodemailer

    nodejs & nodemailer https://www.npmjs.com/package/nodemailer 上面的連接裏面 有有一個例子: 可以直接拿來用: 安裝依賴,在pack ...

  2. nodejs nodemailer中间件

    var stransporter = nodemailer.createTransport({ host:smtp-163.com', //适合163 secureConnection: true, ...

  3. nodejs nodemailer 使用

    index.js const nodemailer=require("nodemailer") let sendEmail=function () { var transporte ...

  4. Nodejs stream模块-翻译

    花了两天时间尝试按照自己的话翻译了一下stream模块,以下内容皆翻译于:https://nodejs.org/api/stream.html. 目录 1  Stream(流)     1.1     ...

  5. Nodejs课堂笔记-第三课 构建一个nodejs的Docker镜像

    本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 因为一直做Linux有关的开发工作,所以不习惯在Windows平台编译和测试 ...

  6. 必应API接口nodejs版

    近期,在研究百度.必应.API等的url提交API时,发现有用Go语言做工具的大佬的分享 利用 API 自动向搜索引擎提交网址(Go语言版) - pyList. 其中提到bing API提交方法,并给 ...

  7. 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?

    来自 http://www.zhihu.com/question/19599986 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS? 想选择一个 Linux 发行版作为服务器. ...

  8. AngularJS-Uncaught Error: [$injector:modulerr]

    我在实验AngularJS-系统代码的配置和翻译的时候遇到了如下图所示的错误: 在JS编程的时候会经常遇到,XXX不是一个函数,XXX未定义等等错误,只要看到和自己编写的代码语句相关的东西直接找到就能 ...

  9. React native开发中常见的错误

    react native环境搭建请移步:react native环境搭建 这里说说react native创建完成之后,运行中出现的常见问题, 问题1: java.lang.RuntimeExcept ...

随机推荐

  1. python 中的property

    """ property() 的第一个参数是 getter 方法,第二个参数是 setter 方法 xx = property(a,b) @property #用于指示g ...

  2. Mojo C++ Platform API

    Mojo C++ Platform API This document is a subset of the Mojo documentation. Contents Overview Platfor ...

  3. NodeJS学习笔记 进阶 (11)Nodejs 进阶:调试日志打印:debug模块

    个人总结:读完这篇文章需要5分钟,讲解了debug模块的使用 摘选自网络 前言 在node程序开发中时,经常需要打印调试日志.用的比较多的是debug模块,比如express框架中就用到了.下文简单举 ...

  4. php 安装rabtmq amqp 扩展

    php 安装 rabbitmq-c-0.9.0 扩展 安装 ibrabbitmq-c github 仓库地址https://github.com/alanxz/rab... ``` 安装过程如果报错 ...

  5. 洛谷 P1542 包裹快递

    P1542 包裹快递 题目描述 小K成功地破解了密文.但是乘车到X国的时候,发现钱包被偷了,于是无奈之下只好作快递员来攒足路费去Orz教主…… 一个快递公司要将n个包裹分别送到n个地方,并分配给邮递员 ...

  6. 第五章,AsyncTask和ProgressBar的练习(Android)

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...

  7. android数据储存之存储方式

    能够将数据储存在内置或可移动存储,数据库,网络.sharedpreference. android能够使用Content provider来使你的私有数据暴漏给其它应用程序. 一.sharedpref ...

  8. MyEclipse连接不上genymotion的解决方式

    奇怪的是我的MyEclipse有时候连接得上genymotion,有时候又连接不上.之前连接不上的时候,就直接用真机调试,因此出现这个问题非常久了一直都没有去找解决方式.今天认真的反省了自己,再也不能 ...

  9. generate the call load file

    #!/usr/bin/perl -w $e911_call_percent = 0.0; $ims_node_number = 12; $local_ip = "10.86.52.2&quo ...

  10. javascript 左侧菜单

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...