#说明

将收录邮件操作相关工具

笔记分享: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获取

  1. }

}); 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}

  1. <a name="95ca996e"></a>
  2. ## Ⅱ-使用示例
  3. > ```javascript
  4. var express = require('express');
  5. var router = express.Router();
  6. const mail = require('../utils/mailUtil')
  7. router.post('/setEM', function (req, resp, next) {
  8. console.log('11111')
  9. // res.render('index1', {host:req.hots });
  10. // let u_id = localStorage.getItem("u_id");
  11. let body = req.body
  12. let emil = body.emil;
  13. let title = body.title;
  14. let content = body.content;
  15. let htmlCen = body.htmlCen;
  16. let call = body.call;
  17. let u_id = body.u_id;
  18. let token = jwtUtils.sign({u_id: u_id, emil: emil}, global.globalKey, 36000)
  19. let urldata = "http://localhost:3000/verify?token=" + token
  20. mail.emailTo(emil, "hjl博客验证", "请您点击进行邮箱绑定验证", urldata, function (a) {
  21. resp.send(a)
  22. })
  23. });
  24. module.exports = router;