? ?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;
下圖是網易郵箱授權密碼截圖。
?