>  기사  >  웹 프론트엔드  >  Nodejs+nodemailer를 사용하여 이메일을 보내는 방법에 대한 간략한 토론

Nodejs+nodemailer를 사용하여 이메일을 보내는 방법에 대한 간략한 토론

青灯夜游
青灯夜游앞으로
2021-11-16 18:27:192236검색

Nodejs에서 nodemailer를 사용하여 이메일을 보내는 방법은 무엇입니까? 다음 글은 Nodejs에서 이메일을 보내기 위해 nodemailer를 사용하는 방법을 보여줄 것입니다. 이것이 여러분에게 도움이 되기를 바랍니다!

Nodejs+nodemailer를 사용하여 이메일을 보내는 방법에 대한 간략한 토론

Features

  • Zero-dependent 단일 모듈 - 어두운 구석이 없기 때문에 코드를 쉽게 검토할 수 있습니다. [추천 학습: "nodejs tutorial"]
  • 보안에 대해 매우 우려하며 RCE 취약점
  • 유니코드 지원이모지를 포함한 모든 문자 사용
  • Windows 지원- 설치할 수 있습니다. Above Sea LevelWindows에서는 다른 모듈과 마찬가지로 컴파일 종속성이 없습니다. Azure 또는 Windows 상자에서 쉽게 사용하세요
  • HTML 콘텐츠일반 텍스트대체
  • 사용 첨부 파일메시지
  • EmbeddedHTML 콘텐츠에 이미지 첨부 파일을 추가하세요. 디자인은 그렇지 않습니다. 차단됨
  • 내장된 SMTP 지원
  • 처리를 위한 맞춤 플러그인 지원 외에 TLS/STARTTLS ****
  • 다양한 배송 방법 을 사용하여 이메일을 안전하게 보냅니다. 메시지
  • Sanity OAuth2 인증
  • Proxy for 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으로 문의하시기 바랍니다. 삭제