Node.js nodemailer+express实现邮箱发送

Node.js nodemailer+express实现邮箱发送

1、npm init -y 初始化目录结构
2、安装nodemailer、express、body-parser 安装命令为: npm install nodemailer 、npm install express --save 、npm install body-parser
3、新建index.js
var express = require('express');

var app = express();
var nodemailer = require("nodemailer");

var bodyParser = require('body-parser'); //解析,用req.body获取post参数*

app.use(express.json());

app.use(express.urlencoded({
    extended: false
}));

//配置跨域
app.all('*', function (req, res, next) {

    res.header("Access-Control-Allow-Origin", "*");

    res.header("Access-Control-Allow-Headers", "Content-Type");

    res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");

    res.header("X-Powered-By", ' 3.2.1');

    res.header("Content-Type", "application/json;charset=utf-8");
    next();

});
app.get('/email', function (req, res) {
    var code = "";
    //生成随机的六位数验证码
    for (var i = 0; i < 6; i++) {
        var radom = Math.floor(Math.random() * 10);
        code += radom;
    }
    const email = req.query.email
    var transporter = nodemailer.createTransport({
        service: 'qq',
        host: 'smtp.qq.com',
        auth: {
            user: 'xxxxxxxxxxx@qq.com',//发送者的邮箱
            pass: 'xxxxxxxx' //授权码,通过QQ邮箱内获取

        }
    });
    var mailOptions = {
        from: 'xxxxxxxx@qq.com', // 发送者
        to: email, // 接受者,可以同时发送多个,以逗号隔开
        subject: '京东欢迎来登录', // 标题
        // text: '您本次的验证码是:', // 文本
        html: `<h2>欢迎登录:本次的验证码是${code}</h2><h3>
        <img src='https://sss-1306551685.cos.ap-guangzhou.myqcloud.com/MobileShop/1.jpg'/></h3>`
    };

    transporter.sendMail(mailOptions, function (err, info) {
        if (err) {
            res.json({
                status: 201,
                message: err,
            })
        } else {
            //返回数据
            res.json({
                status: 201,
                message: info,
                code: code

            })
        }


    });
})

//配置端口
var server = app.listen(4000, '127.0.0.1', function () {

    var host = server.address().address;

    var port = server.address().port;

    console.log("地址为 http://%s:%s", host, port); //输出为 http://127.0.0.1:3000

})
4、打开终端 输入nodemon index.js 启动服务

http://127.0.0.1:4000/email

使用postman进行接口测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值