Nodejs 发送邮件

2018-07-16
nodejs
3573

nodemailer 模块

node 发送邮件使用nodemailer模块 安装:

npm install nodemailer 

使用QQ邮箱发送邮件

这里,我们以qq邮箱为例,配置并发送邮件。

step1 在QQ邮箱开通POP3/SMTP服务

在QQ邮箱代开 设置->账户,下面有个

选择开启,系统会让你发送短信验证,验证完成之后,会发送一个登录码,需要记住,登录时需要使用。

step2 代码

随便一个地方,只要能执行到已下代码即可

var nodemailer = require("nodemailer");


// 开启一个 SMTP 连接池
var transport = nodemailer.createTransport({
  host: "smtp.qq.com", // 主机
  secure: true, // 使用 SSL
  port: 465, // SMTP 端口
  auth: {
    user: "lellansin@qq.com", // 账号
    pass: "xxxxxx" // 密码
  }
});

// 设置邮件内容
var mailOptions = {
  from: "Fred Foo <lellansin@qq.com>", // 发件地址
  to: "lellansin@qq.com", // 收件列表
  subject: "Hello world", // 标题
  html: "<b>thanks a for visiting!</b> 世界,你好!" // html 内容
}

// 发送邮件
transport.sendMail(mailOptions, function(error, response) {
  if (error) {
    console.error(error);
  } else {
    console.log(response);
  }
  transport.close(); // 如果没用,关闭连接池
});

什么是SSL

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。 SSL协议提供的服务主要有:

  • 认证用户和服务器,确保数据发送到正确的客户机和服务器;
  • 加密数据以防止数据中途被窃取;
  • 维护数据的完整性,确保数据在传输过程中不被改变。

建议设置邮箱时使用SSL协议,这样会保障您邮箱更安全的使用。