原创

NodeJs实现发送邮件功能详细说明

        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 发送的邮件!");

关注下方微信公众号“Java精选”(w_z90110),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

评论

分享:

支付宝

微信