Fork me on GitHub

express利用nodemailer发送邮件(163邮箱)

   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;

  下图是网易邮箱授权密码截图。

 

posted @ 2019-09-16 16:55  我站在山顶上  阅读(1484)  评论(0编辑  收藏  举报