Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。下面本站素文宅 www.yoodb.com 为大家分享一篇通过NodeJs实现发送邮件功能。
1.安装nodemailer库
[root@iZ256w2hluuZ ~]# npm install nodemailer
2.nodemailer配置及应用
Nodemailer 是一个简单易用的 Node.JS 邮件发送模块(通过 SMTP,sendmail,或者 Amazon SES),支持 unicode,你可以使用任何你喜欢的字符集。
Nodemailer的主要特点包括:
支持Unicode编码
支持Window系统环境
支持HTML内容和普通文本内容
支持附件(传送大附件)
支持HTML内容中嵌入图片
支持SSL/STARTTLS安全的邮件发送
支持内置的transport方法和其他插件实现的transport方法
支持自定义插件处理消息
支持XOAUTH2登录验证
1)transport参数属性说明,具体如下:
创建实例,具体代码如下:
var transporter = nodemailer.createTransport(transport[, defaults])
port 连接的端口号,一般就是465
host 你用于发送邮件的服务器的host,比如163的host是stmp.163.com
auth 这个就是和老版本不一样的地方了。新版本是用一个字面量存储用户名和密码。注意你的邮箱要开启stmp
user 用户名/账号
pass 密码
2)邮件发送函数参数说明,具体如下:
transporter.sendMail(data[, callback])
from 邮件的发件人
to 邮件的收件人
subject 主题
text 邮件是以文本的方式进行发送
html 邮件内容是html网页效果
NodeJs实现发送邮件功能,具体代码如下:
var nodemailer = require('nodemailer'); //配置邮件 var transporter = nodemailer.createTransport('SMTP',{ host: "smtp.163.com", secureConnection: true, port:25,//25端口 465端口 等 auth: { user: 'xxxxxx@163.com', pass: 'xxxxxx', } }); //发送邮件 var sendmail = function(html){ var option = { from:"xxxxxx@163.com", to:"xxxxx@qq.com,xxxxxx@163.com" } option.subject = 'hello www.yoodb.com' option.html= html; transporter.sendMail(option, function(error, response){ if(error){ console.log("fail: " + error); }else{ console.log("success: " + response.message); } }); } //调用发送邮件 sendmail("邮件内容:<br/>这是来自素文宅 www.yoodb.com 发送的邮件!");