Nodemailer 是一个简单易用的Node.js邮件发送组件
首先安装这个组件
npm install nodemailer --save
安装之后,可以在某个get请求下,发送邮件,具体路由代码:
const express = require("express");
const nodemailer = require("nodemailer");
const router = express.Router();
// 定义邮件服务器服,个人建议使用QQ邮箱,用Yeah(网易)邮箱配置出现各种问题
var transporter = nodemailer.createTransport({
host: 'smtp.163.com',
secure: true,
// 我们需要登录到网页邮箱中,然后配置SMTP和POP3服务器的密码
auth: {
user: '454545@163.com',
pass: 'shouquan' //这里是授权密码而不是邮件密码
}
});
router.get('/send', function (req, res, next) {
// 可获取前端传递过来的参数 这里没有使用
var emailaddress = req.body.emailaddress;
var firstname = req.body.firstname;
var imgurl = req.body.imgurl;
var lastname = req.body.lastname;
var sendHtml = `<div>
<div>firstName : 1</div>
<div>lastname :2</div>
<div>emailaddress : 3/div>
<div>file : <a href="3">down upload file</a> </div>
</div>`;
var mailOptions = {
// 发送邮件的地址
from: '454545@163.com', // login user must equal to this user
// 接收邮件的地址
to: 'g2012@163.com', //
// 邮件主题
subject: 'You have a new uploaded file',
// 以HTML的格式显示,这样可以显示图片、链接、字体颜色等信息
html: sendHtml
};
// 发送邮件,并有回调函数
transporter.sendMail(mailOptions, function (error, info) {
if (error) {
return console.log(error);
}
res.status(200).json({message: req.body.firstname});
console.log('Message sent: ' + info.response);
});
});
module.exports = router;
下图是网易邮箱授权密码截图。