Node.js使用Nodemailer發送郵件


除了Python,在node中收發電子郵件也非常簡單,因為強大的社區有各種各樣的包可以供我么直接使用。Nodemailer包就可以幫助我們快速實現發送郵件的功能。

Nodemailer簡介

Nodemailer是一個簡單易用的Node.js郵件發送組件

官網地址:https://nodemailer.com

GitHub地址:https://github.com/nodemailer/nodemailer

Nodemailer的主要特點包括:

  • 支持Unicode編碼
  • 支持Window系統環境
  • 支持HTML內容和普通文本內容
  • 支持附件(傳送大附件)
  • 支持HTML內容中嵌入圖片
  • 支持SSL/STARTTLS安全的郵件發送
  • 支持內置的transport方法和其他插件實現的transport方法
  • 支持自定義插件處理消息
  • 支持XOAUTH2登錄驗證

安裝使用

首先,我們肯定是要下載安裝 注意:Node.js v6+

npm install nodemailer --save

發出個真實的郵件

這里我使用了我的qq郵箱給另一個qq郵箱發送email。

'use strict';

const nodemailer = require('nodemailer');

let transporter = nodemailer.createTransport({
  // host: 'smtp.ethereal.email',
  service: 'qq', // 使用了內置傳輸發送郵件 查看支持列表:https://nodemailer.com/smtp/well-known/
  port: 465, // SMTP 端口
  secureConnection: true, // 使用了 SSL
  auth: {
    user: 'growvv@qq.com',
    // 這里密碼不是qq密碼,是你設置的smtp授權碼,去qq郵箱后台開通、查看
    pass: 'xxx',
  }
});

let mailOptions = {
  from: '"Rogn" <growvv@qq.com>', // sender address
  to: '3214739256@qq.com', // list of receivers
  subject: 'Hello', // Subject line
  // 發送text或者html格式
  // text: 'Hello world?', // plain text body
  html: '<h1>Hello world</h1>' // html body
};

// send mail with defined transport object
transporter.sendMail(mailOptions, (error, info) => {
  if (error) {
    return console.log(error);
  }
  // console.log('Message sent: %s', info.messageId);
  console.log(info)
});

更多的配置像CC、BCC、attachments等可參見 https://nodemailer.com/message/

 

 

參考鏈接:https://segmentfault.com/a/1190000012251328


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM