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;
下图是网易邮箱授权密码截图。