实现服务器向用户发送邮件 smtp
这里我用的是nodemailer模块,毕竟用的人比较多,跟随主流呢
nodemialer的特点:
使用Unicode编码
支持Windows系统,不需要安装依赖
支持纯文本和HTML格式
支持发送附件(包括大型附件)
在HTML中嵌入图片
支持SSL/STARTTLS安全协议
不同的传输方法,可以使用内置也可以使用外部插件的形式
提供自定义插件支持(比如增加DKIM签名,使用markdown代替HTML等等)
支持XOAUTH2登录验证(以及关于更新的令牌反馈)
使用的步骤
1、将要使用的qq邮箱开启stmp服务
2、开发使用
1、node安装nodemailer模块
命令行 npm install nodemailer –save
通常我们做node项目时,可能我们会碰到做一个简单的邮件反馈,那么我们今天就来讨论一下,其中遇到的各种坑。
总的来说做这个东西,我们可能需要node第三方依赖模块,来实现我们要达到的效果。
实现发送邮件的封装,传递的参数为客户的邮箱
mail.js
var nodemailer = require('nodemailer');
//创建一个传送器
function Mail(email){
var transporter = nodemailer.createTransport({
//https://github.com/andris9/nodemailer-wellknown 可以查看的支持列表
//这里使用的qq服务器
service: 'qq',
//smtp服务器的端口
port: 465, // SMTP 端口
secureConnection: true, // 使用 SSL
auth: {
user: '123456789@qq.com',
//这里密码不是qq密码,是你设置的smtp密码
pass: '*****'
}
})
//配置邮箱发件箱和收件箱的信息
var mailOptions = {
from: '123456789@qq.com', // 发件地址
to: email, // 收件列表
subject: '欢迎注册啊啊的网站', // 标题
//text和html两者只支持一种
text: '欢迎注册XXXX网站欢迎注册XXXX网站欢迎注册XXXX网站欢迎注册XXXX网站欢迎注册XXXX网站', // 标题
html: '<b>欢迎注册XXXX网站欢迎注册XXXX网站欢迎注册XXXX网站?</b>' // html 内容
};
this.transporter=transporter;
this.mailOptions=mailOptions;
}
module.exports=Mail;
使用这个封装好的发送邮箱的功能
var Mail=require('../models/Mail.js');
mail.transporter.sendMail(mail.mailOptions, function(error, info){
if(error){
return console.log(error);
}
console.log('Message sent: ' + info.response);
});
实现了发邮件的功能