一. 封装一个发送邮件的模块:
- 下载安装第三方模块——nodemailer:
(1)打开npm文档,要善于查阅文档哦 npm文档官网
(2)搜索nodemailer并下载安装:
npm install nodemailer --save
- 对官网中nodemailer的相关代码进行封装,通过传递参数的方式来达到简化调用的目的:
//引入模块
const nodemailer = require('nodemailer');
let transporter = nodemailer.createTransport({
service: 'qq', // 运营商 qq邮箱 网易//
port: 465,//该端口不行的情况下,将端口号改为587
secure: true,
auth: {
user:'发送方的邮箱', //用哪个邮箱进行发送就输入哪个邮箱号
pass: 'tnqvwdwwxizfbjdh' // pop3 授权码
}
});
let mail={
transporter:transporter,
send(mail,content,callback){
let mailOptions = {
from: '"Fred Foo ?" <输入发送方邮箱号>',
to: mail, //接收方邮箱
subject: '欢迎注册 ✔', // 邮箱标题内容,可更改
text: `${
content}`, //发送的具体内容
html: `欢迎注册xxx系统,验证码为:${
content},有效期为5分钟` // html body
};
//发送
this.transporter.sendMail(mailOptions, (error, info) => {
if (error) {
callback(-1);// 失败
return console.log(error);
}
console.log('Message sent: %s', info.messageId);
callback(1);//成功
});
}
}
module.exports=mail //再将该模块暴露出去
- 如何获得qq的pop3 授权码
(1)进入qq邮箱 => 设置 =>账户
(2)点击开启再按照指示操作即可获得授权码
二. 写一个服务器
1.下载安装第三方模块(使用方法都可以在npm文档中查看)
npm install express --save //便于快速开发node的API接口,简单来说搭建服务器相比node中的内置模块http要便捷、快速。
npm install mongodb--save //用于搭建数据库
npm install cors--save //解决跨域
npm install body-parser--save //请求方式为post时需要用到的模块
注:不引入cors模块怎么解决跨域:
app.all("*",function(req,res,next){
//设置允许跨域的域名,*代表允许任意域名跨域
res.header("Access-Control-Allow-Origin","*"