#说明
将收录邮件操作相关工具
笔记分享:hongjilin
该函数需要用到Nodejs
一、发送邮件简单工具 -2020
该模块封装于2020疫情本人撰写 nodejs+vue搭建校园疫情防控系统实战项目(全栈项目)项目期间,主要用于项目中
发送邮件进行忘记密码验证等功能发送邮件模块 hongjilin 2020年7月29日 当时编程习惯还不是很好,如类名命名规范等,可以自行更正
Ⅰ-代码示例
上面这几个参数取自己邮箱信息
```javascript var nodemailer = require(“nodemailer”); var smtp = ‘smtp.qq.com’ var mailFrom = ‘xxxxx@qq.com’ var mailPwd = ‘xxxzbwsqsbdbbx’ /**
- 发送邮件
- @param email xxx@qq.com,yyy@qq.com,zzz@qq.com
- @param subject 邮件的主题
- @param text 发送纯文本邮件
- @param html 发送富文本邮件
- @param callback 执行完之后的回调函数
- 回调函数有参数:json对象格式:
- var result = { httpCode: 200,// 成功为200,失败为500 message: ‘发送成功!’, } */
function emailTo(email,subject,text,html,callback) { var transporter = nodemailer.createTransport({ host: smtp, auth: { user: mailFrom, pass: mailPwd //授权码,通过QQ获取
}
}); var mailOptions = { from: mailFrom, // 发送者 to: email, // 接受者,可以同时发送多个,以逗号隔开 subject: subject, // 标题 }; if(text != undefined) mailOptions.text =text;// 文本 if(html != undefined) mailOptions.html =html;// html
var result = { httpCode: 200, message: ‘发送成功!’, } try { transporter.sendMail(mailOptions, function (err, info) { if (err) { result.httpCode = 500; result.message = err; callback(result); return; } callback(result); }); } catch (err) { result.httpCode = 500; result.message = err; callback(result); }
}
module.exports={emailTo}
<a name="95ca996e"></a>## Ⅱ-使用示例> ```javascriptvar express = require('express');var router = express.Router();const mail = require('../utils/mailUtil')router.post('/setEM', function (req, resp, next) {console.log('11111')// res.render('index1', {host:req.hots });// let u_id = localStorage.getItem("u_id");let body = req.bodylet emil = body.emil;let title = body.title;let content = body.content;let htmlCen = body.htmlCen;let call = body.call;let u_id = body.u_id;let token = jwtUtils.sign({u_id: u_id, emil: emil}, global.globalKey, 36000)let urldata = "http://localhost:3000/verify?token=" + tokenmail.emailTo(emil, "hjl博客验证", "请您点击进行邮箱绑定验证", urldata, function (a) {resp.send(a)})});module.exports = router;
