Maison >interface Web >js tutoriel >Une brève discussion sur la façon d'envoyer des e-mails avec Nodejs+nodemailer

Une brève discussion sur la façon d'envoyer des e-mails avec Nodejs+nodemailer

青灯夜游
青灯夜游avant
2021-11-16 18:27:192286parcourir

Comment envoyer des emails en utilisant nodemailer dans Nodejs ? L'article suivant vous montrera comment utiliser nodemailer pour envoyer des e-mails dans Nodejs. J'espère qu'il vous sera utile !

Une brève discussion sur la façon d'envoyer des e-mails avec Nodejs+nodemailer

Caractéristiques

  • Zéro dépendance Module unique - le code est facile à réviser car il n'y a pas de coins sombres. [Apprentissage recommandé : "Tutoriel Nodejs"]
  • Très préoccupé par la sécurité, personne n'aime la Vulnérabilité RCE
  • Support Unicode Utilisez n'importe quel caractère, y compris les emojis
  • Support Windows- Vous pouvez l'installer Above Sea LevelSous Windows, comme tout autre module, il n'y a pas de dépendances de compilation. Utilisez-le facilement à partir d'une boîte Azure ou Windows
  • Utilisez Contenu HTML et Texte brutAlternative
  • Ajoutez des Pièces jointesMessages
  • IntégréPièces jointes d'images au contenu HTML - vos conceptions ne le seront pas BLOQUÉ
  • Envoi d'e-mails en toute sécurité en utilisant TLS/STARTTLS****
  • Différentes méthodes d'expédition en plus du support SMTP intégré
  • custom support de plugin pour la gestion messages
  • Sanity OAuth2 Authentification
  • Proxy pour les connexions SMTP
  • Code ES6 - Plus de fuites de mémoire involontaires dues au levage VAR de

mail est déjà encapsulé à l'aide d'un autre serveur de messagerie SMTP, envoyez-le messages électroniques avec n'importe quel contenu

//引入模块 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`

Pour plus de connaissances liées à la programmation, veuillez visiter : Vidéo de programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer