node.js使用nodemailer发送邮件实例

 这篇文章主要介绍了node.js使用nodemailer发送邮件的方法,例子中使用的是QQ邮箱,你也可以修改成其它的邮箱如163、gmail等,需要的朋友可以参考下

一、安装 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' }
错误原因: 发件账号与认证账号不同

时间: 2024-10-31 18:35:13

node.js使用nodemailer发送邮件实例的相关文章

node.js使用nodemailer发送邮件实例_javascript技巧

一.安装 nodemailer 复制代码 代码如下: npm install nodemailer --save 二.调用 复制代码 代码如下: var nodemailer = require("nodemailer"); // 开启一个 SMTP 连接池var smtpTransport = nodemailer.createTransport("SMTP",{  host: "smtp.qq.com", // 主机  secureConne

xtemplate node.js 的使用方法实例解析_node.js

工程下安装XTemplate并使用它的方法实例说明: 1.安装xtpl 复制代码 代码如下: npm install xtpl xtemplate --save 2.在views目录添加test.xtpl文件,其内容为 this is {{title}}! 4.集成到Express中,只需要在app.js中,设置模板引擎即可 var print = require('./routes/print'); //此行代码放入app.js的require 声明代码段下边 app.set('view en

基于Node.js实现nodemailer邮件发送_node.js

Nodemailer是一个简单易用的Node.js邮件发送组件,具体操作如下 1.安装nodemailer npm install nodemailer --save 2.特点 Nodemailer的主要特点包括: 支持Unicode编码 支持Window系统环境 支持HTML内容和普通文本内容 支持附件(传送大附件) 支持HTML内容中嵌入图片 支持SSL/STARTTLS安全的邮件发送 支持内置的transport方法和其他插件实现的transport方法 支持自定义插件处理消息 支持XOA

node.js下LDAP查询实例分享_node.js

目标: 从一个LDAP Server获取uid=kxh的用户数据 LDAP地址为:ldap://10.233.21.116:389 在工程根目录中,先npm一个LDAP的访问库ldpajs npm install ldapjs 在工程根目录中,创建一个app.js var ldap = require("ldapjs"); //创建LDAP client,把服务器url传入 var client = ldap.createClient({ url: 'ldap://10.203.24.

node.js Sequelize实现单实例字段或批量自增、自减_node.js

一.单实例自增.自减 在Sequelize中,一个实例(Instance)表示数据库中的一行记录.Instance有两种:由Model.build()创建的非持久化实例,和由Model.create()等方法创建的持久化实例.无论是持久化还是非持久化实例,都会有increment() .decrement()两人上方法,分别用于字段值的自增和自减两种操作. instance.increment(fields, [options]) - 字段值自增 instance.decrement(field

Node.js原子性操作MongoDB实例教程

假设基础数据为: { "name" : "cb", "data" : 0,} 有时候为了充分利用多核,会同时开启多个node进程,但是若部分代码若涉及到操作mongodb就会有下面现象. "理想情况下",多个进程执行完后得数据为: { "name" : "cb", "data" : 6000,} 其实不然 ! 我们看看获得结果是怎么样的. co(function *

Node.js插件的正确编写方式_node.js

Node.js在利用JavaScript编写后端方面效果拔群,值得我们多加尝试.不过如果大家需要一些无法直接使用的功能甚至是根本无从实现的模块使用,那么能否从C/C++库当中引入此类成果呢?答案是肯定的,大家要做的就是编写一款插件,并借此在自己的JavaScript代码中使用其它代码库的资源.下面我们就一同开始今天的探询之旅. 介绍 正如Node.js在官方说明文档中所言,插件是以动态方式进行链接的共享式对象,能够将JavaScript代码与C/C++库接驳起来.这意味着我们可以引用任何来自C/

Node.js入门教程学习笔记分享(1/8)

什么是Node.js Node.js 是服务器端的 JavaScript 运行环境,它允许在后端(脱离浏览器环境)运行JavaScript代码.Node.js具有无阻塞(non-blocking)和事件驱动(event-driven)等的特色,它实现了类似 Apache 和 nginx 的web服务,让你可以通过它来搭建基于 JavaScript 的 Web App. 要实现在后台运行JavaScript代码,代码需要先被解释然后正确的执行,Node.js的原理正是如此,它使用了Google的V

Node.js V0.12新特性之在单进程中跑多个实例

实例 经常有人提出,希望Node.js能被嵌入到其他程序中,特别是让它能跟其他事件循环整合而且(与此同时)支持多个Node执行情境:也就是说让多个Node实例在同一个进程中和平共处的能力.想象一下,比如有个node-webkit 程序,每个窗口都运行在自己的Node实例上,各窗口彼此相互独立.或者把Node嵌在手机或网络交换机里,处理多连接的路由逻辑,但却只是在单个进程中,并且不久的将来就能实现. 一个客户找到我们,说他们的程序需要这类功能.他们经过调研,肯定了我们在Node核心和libuv上的