1、安装nodemailer
Nodemailer 是一个简单易用的 Node.JS 邮件发送模块(通过 SMTP,sendmail,或者 Amazon SES),支持 unicode
npm install nodemailer --save
1.1 在邮箱中获取授权码 [ 设置操作即可(打开POP3、SMTP) ]
2、Express后端代码
var express = require('express');
var router = express.Router();
let nodemailer = require("nodemailer")
let transporter = nodemailer.createTransport({
// host: 'smtp.163.com',
service: "qq", //邮箱类型 例如service:'163'
secure: true, //是否使用安全连接,对https协议的
// port: 465, //qq邮件服务所占用的端口
auth: {
user: "xxx@qq.com",//开启SMTP的邮箱,发件人
pass: "xxxxxxxxxx"// qq授权码
}
})
router.get('/sendEmail', (req, res, next) => {
let options = {
from: 'xxxx@qq.com', //发送方
to: "xxx@qq.com",//接收方
subject: '111111111111',//邮件主题
text: "2222222222",//邮件正文
//html:'',//html模板
//附件信息
/*attachments:[
{filename:'',path:'',}
]*/
}
transporter.sendMail(options, (err, info) => {
if (err) {
res.send(err)
} else {
res.send(info)
}
})
})
module.exports = router;
3、实例
//添加凭证文件
var credentials = require('./credentials');
//引入邮箱插件
var nodemailer = require('nodemailer');
//创建传输方式
var transporter = nodemailer.createTransport({
service: 'qq',
auth: {
user: credentials.qq.user,
pass: credentials.qq.pass
}
});
exports.emails = function(email,res){
var options = {
from : '1334785356@qq.com',
to : email,
subject : '感谢您在yike注册',
text : '我们在yike相聚',
html : '<span>请在这里</span><a href="http://localhost:3000/">点击</a>'
};
transporter.sendMail(options,function(err,msg){
if(err){
console.log(err);
res.render('register',{title: '邮件发送错误'});
}else{
//console.log('邮件发送成功');
//res.render('test',{title:'邮件发送成功!'+msg.accepted})
}
});
};
exports.forget = function(req,res,date,email){
var options = {
from : '1334785356@qq.com',
to : email,
subject : 'yike密码修改',
text : '我们在yike相聚',
html : '<span>请在这里</span><a href="http://127.0.0.1:3000/forget?date='+date+'&email='+email+'">点击修改本站密码</a>'
};
transporter.sendMail(options,function(err,msg){
if(err){
console.log(err);
res.render('register',{title: '邮件发送错误'});
}else{
//console.log('邮件发送成功');
//res.render('test',{title:'邮件发送成功!'+msg.accepted})
}
});
res.send({success:true});
}
### credentials.js
module.exports = {
cookieSecret:'abdef',
qq:{
user: '1334785356@qq.com',
pass: 'kqpkppucbnnxbahb'
}
};