首頁 >web前端 >js教程 >淺談Nodejs+nodemailer怎麼寄郵件

淺談Nodejs+nodemailer怎麼寄郵件

青灯夜游
青灯夜游轉載
2021-11-16 18:27:192281瀏覽

Nodejs使用nodemailer怎麼發送郵件?以下這篇文章給大家Nodejs使用nodemailer發送郵件的方法,希望對大家有幫助!

淺談Nodejs+nodemailer怎麼寄郵件

特點

  • 零依賴的單一模組- 程式碼易於審核,因為沒有暗角。 【推薦學習:《nodejs 教學》】
  • #高度關注安全,沒人喜歡RCE漏洞
  • # #Unicode 支援
  • 使用任何字符,包括表情符號
  • Windows 支援- 您可以安裝它高於海平面
  • 在Windows 上,就像任何其他模組一樣,沒有編譯依賴項。從Azure 或Windows 盒子輕鬆使用它
  • 使用HTML 內容,以及純文字
  • 替代
  • ##添加 ##附件
  •  留言
  • 嵌入式 HTML 內容的圖片附件- 您的設計不會被阻止使用TLS/ STARTTLS
  • 安全發送電子郵件****
  • 不同的 運輸方式
  •  除了內建的 
  • SMTP 支援
#習俗 

外掛程式支援

 用於處理訊息

理智 ######OAuth2###### 驗證### #########代理###### 用於SMTP 連接##########ES6碼###-沒有更多的無意記憶體洩漏,由於吊掛###VAR# ##的#########郵件已經封裝好使用不同SMTP郵件伺服器代發,發送任意內容的郵件訊息###
//引入模块 nodemailer
const nodemailer = require('nodemailer')

const partnerEmail = {
  "QQ": {
    "host": "smtp.qq.com",
    "port": 465,
    "user": "",
    "pass": ""
  },
  "126": {
    "host": "smtp.126.com",
    "port": 465,
    "user": "",
    "pass": ""
  },
  "163": {
    "host": "smtp.163.com",
    "port": 465,
    "user": "",
    "pass": ""
  }
}

const config = {
  // 163邮箱 为smtp.163.com
  host: partnerEmail.QQ.host,//这是qq邮箱
  //端口
  port: partnerEmail.QQ.port,
  auth: {
    // 发件人邮箱账号
    user: partnerEmail.QQ.user,
    //发件人邮箱的授权码 这里可以通过qq邮箱获取 并且不唯一
    pass: partnerEmail.QQ.pass
  }
}

// 发送带附件的邮件
function sendMail(email,code) {
  // code 验证码
  const transporter = nodemailer.createTransport(config)

  const mail = {
    // 发件人 邮箱  &#39;昵称<发件人邮箱>&#39;
    from: &#39;<xxx@qq.com>&#39;,
    // 主题
    subject: &#39;激活验证码&#39;,
    // 收件人 的邮箱 可以是其他邮箱 不一定是qq邮箱
    to: email,
    // 内容
    text: `您的激活验证码为:${code}, 请3分钟内有效,请谨慎保管。`,
    //这里可以添加html标签
    html: &#39;<a href="https://www.baidu.com.com">baidu</a>&#39;,
    attachments:[
    {
      "filename":"xxx.mp3",
      "path":"./xxx.mp3"
    },
    {
      "filename":"xxx.txt",
      "content":"文件"
    },
    {
      "filename":"xxx.JPG",
      "path":"./xxx.JPG",
      "cid":"01"    // 插在邮件正文中的图片
    }
      ]
  }

  return new Promise((resolve, reject) => {
    transporter.sendMail(mail, function (error, info) {
      error ? reject(error) : resolve(info.response)
      transporter.close()
    })
  })
}

exports.sendMail = sendMail`
###更多程式相關知識,請造訪:###程式設計影片###! ! ###

以上是淺談Nodejs+nodemailer怎麼寄郵件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除