用nodejs向163郵箱, gmail郵箱, qq郵箱發郵件, nodemailer使用詳解
以前寫過一篇 ofollow,noindex">3行程式碼發郵件(含傳送圖片) , 收穫了50+喜歡, 最近博主在用node做後端渲染的業務, 把nodejs發郵件的核心程式碼也分享一下
準備工作
- 準備一個163的郵箱, 並獲取授權碼 點選檢視獲取163郵箱授權碼具體步驟
- 在本地機器安裝nodejs
"註釋詳盡"的原始碼
'use strict'; const nodemailer = require('nodemailer'); const moment = require('moment'); const path = require('path'); nodemailer.createTestAccount((err, account) => { // 填入自己的賬號和密碼 let transporter = nodemailer.createTransport({ host: 'smtp.163.com', port: 465, secure: true, // 如果是 true 則port填寫465, 如果 false 則可以填寫其它埠號 auth: { user: "[email protected]", // 發件人郵箱 pass: "" // 發件人密碼(用自己的...) } }); // 獲取當前時間 let sendTime = moment().format('MMMM Do YYYY, h:mm:ss a'); // 填寫發件人, 收件人 let mailOptions = { // 發件人地址 from: '[email protected]', // 收件人列表, 向163郵箱, gmail郵箱, qq郵箱各發一封 to: '[email protected], [email protected], [email protected]', // 郵件主題 subject: '用nodemailer發出的郵件~', // 文字內容 text: '傳送附件內容', // html內容 html: '<b>傳送時間:' + sendTime + '</b>', // 附件內容 是一個列表, 第一個是目錄下的pack.json檔案, 第二是御阪美琴的頭像, 第三是作者在拍的圖片的zip包 attachments: [{ filename: 'package.json', path: path.resolve(__dirname, 'package.json') }, { filename: 'bilibili.jpg', path: path.resolve(__dirname, 'bilibili.jpg') }, { filename: 'room.zip', path: path.resolve(__dirname, 'room.zip') }], }; // 傳送郵件 transporter.sendMail(mailOptions, (error, info) => { if (error) { return console.log(error); } console.log("郵件傳送成功~"); }); });
執行結果
- Gmail收到:

- 163郵箱收到(自己發給自己)

- qq郵箱收到
