Rumah > hujung hadapan web > tutorial js > Perbincangan ringkas tentang cara Nodejs nodemailer menghantar e-mel

Perbincangan ringkas tentang cara Nodejs nodemailer menghantar e-mel

青灯夜游
Lepaskan: 2021-11-16 18:27:19
ke hadapan
2327 orang telah melayarinya

Bagaimana untuk menghantar e-mel menggunakan nodemailer dalam Nodejs? Artikel berikut akan menunjukkan kepada anda cara menggunakan nodemailer untuk menghantar e-mel dalam Nodejs saya harap ia akan membantu anda!

Perbincangan ringkas tentang cara Nodejs nodemailer menghantar e-mel

Ciri

  • Sifar pergantunganModul tunggal - kod mudah disemak kerana tiada sudut gelap. [Pembelajaran yang disyorkan: "tutorial nodejs"]
  • Beri perhatian kepadakeselamatan, tiada siapa yang sukaKerentanan RCE
  • Sokongan UnicodeGunakan mana-mana aksara termasuk emoji
  • Sokongan Windows - Anda boleh memasangnya Above Sea Level pada Windows sama seperti modul lain Sama, tiada kebergantungan kompilasi. Gunakannya dengan mudah dari kotak Azure atau Windows
  • Gunakan kandungan HTML dan teks biasagantian
  • Tambah lampiran Komen
  • Terbenam Lampiran imej untuk kandungan HTML - reka bentuk anda tidak akan disekat
  • Gunakan TLS/ STARTTLS Hantar E-mel Dengan Selamat****
  • Berbeza Kaedah Penghantaran Selain terbina dalam sokongan SMTP
  • Kastam Sokongan plug-in untuk memproses mesej
  • Sane OAuth2 Pengesahan
  • Proksi untuk sambungan SMTP
  • kod ES6 - Tiada lagi kebocoran memori yang tidak disengajakan akibat pengangkatan VAR

E-mel telah dikapsulkan dan dihantar menggunakan pelayan mel SMTP yang berbeza untuk menghantar mesej e-mel dengan sebarang kandungan

//引入模块 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`
Salin selepas log masuk

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Video Pengaturcaraan! !

Atas ialah kandungan terperinci Perbincangan ringkas tentang cara Nodejs nodemailer menghantar e-mel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:juejin.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan