Heim >Web-Frontend >js-Tutorial >Eine kurze Diskussion zum Versenden von E-Mails mit Nodejs+nodemailer

Eine kurze Diskussion zum Versenden von E-Mails mit Nodejs+nodemailer

青灯夜游
青灯夜游nach vorne
2021-11-16 18:27:192282Durchsuche

Wie sende ich E-Mails mit Nodemailer in Nodejs? Der folgende Artikel zeigt Ihnen, wie Sie Nodemailer zum Senden von E-Mails in Nodejs verwenden. Ich hoffe, er wird Ihnen hilfreich sein!

Eine kurze Diskussion zum Versenden von E-Mails mit Nodejs+nodemailer

Funktionen

  • Keine Abhängigkeit Einzelnes Modul – der Code ist leicht zu überprüfen, da es keine dunklen Ecken gibt. [Empfohlenes Lernen: „nodejs-Tutorial“]
  • Sehr besorgt über Sicherheit, niemand mag RCE-Sicherheitslücke
  • Unicode-Unterstützung Verwenden Sie beliebige Zeichen, einschließlich Emojis
  • Windows-Unterstützung – Sie können es installieren Über dem MeeresspiegelUnter Windows gibt es wie bei jedem anderen Modul keine Kompilierungsabhängigkeiten. Verwenden Sie es einfach von einem Azure- oder Windows -Box
  • use html -Inhalt und plain textalternative
  • Attachments GESPERRT
  • Sicheres Versenden von E-Mails mit TLS/STARTTLS****
  • Verschiedene
  • Versandmethoden zusätzlich zur integrierten
  • SMTP-Unterstützung
  • benutzerdefinierte
  • Plugin-Unterstützung Umgang mit Nachrichten Sanity OAuth2
  • Authentifizierung
  • Proxy
  • für SMTP-Verbindungen
  • ES6-Code – Keine unbeabsichtigten Speicherverluste mehr durch das Anheben von VAR
  • von
  • Mails, die bereits über einen anderen SMTP-Mailserver gekapselt wurden, senden E-Mail-Nachrichten mit beliebigem Inhalt
    //引入模块 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`
    Weitere Kenntnisse zum Thema Programmierung finden Sie unter:
  • Programmiervideo
  • ! !

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion zum Versenden von E-Mails mit Nodejs+nodemailer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen