Node.js_node.js를 기반으로 nodemailer 이메일 구현

WBOY
풀어 주다: 2016-05-16 15:17:51
원래의
1657명이 탐색했습니다.

Nodemailer는 간단하고 사용하기 쉬운 Node.js 이메일 전송 구성 요소입니다.

1. 노드메일러 설치

npm install nodemailer --save

로그인 후 복사

2. 특징

Nodemailer의 주요 기능은 다음과 같습니다.

  • 유니코드 인코딩 지원
  • Windows 시스템 환경 지원
  • HTML 콘텐츠 및 일반 텍스트 콘텐츠 지원
  • 첨부파일 지원(대용량 첨부파일 전송)
  • HTML 콘텐츠에 이미지 삽입 지원
  • SSL/STARTTLS 보안 이메일 전송 지원
  • 내장 전송 방식과 다른 플러그인에서 구현한 전송 방식 지원
  • 메시지 처리를 위한 맞춤형 플러그인 지원
  • XOAUTH2 로그인 확인 지원

위의 기능은 이메일 전송에 필요한 대부분을 다루었습니다. 다음으로 프로그램 작성을 시작하겠습니다.

3. 간단한 예

이것은 일반 텍스트와 HTML 본문이 포함된 이메일을 보내는 완전한 예입니다.

var nodemailer = require('nodemailer');

// create reusable transporter object using the default SMTP transport
var transporter = nodemailer.createTransport('smtps://user%40gmail.com:pass@smtp.gmail.com');

// setup e-mail data with unicode symbols
var mailOptions = {
  from: 'Fred Foo &#128101; <foo@blurdybloop.com>', // sender address
  to: 'bar@blurdybloop.com, baz@blurdybloop.com', // list of receivers
  subject: 'Hello &#10004;', // Subject line
  text: 'Hello world &#128052;', // plaintext body
  html: '<b>Hello world &#128052;</b>' // html body
};

// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
  if(error){
    return console.log(error);
  }
  console.log('Message sent: ' + info.response);
});

로그인 후 복사

4. 흔히 발생하는 실수

{ [AuthError: Invalid login - 454 Authentication failed, please open smtp flag first!]
 name: 'AuthError',
 data: '454 Authentication failed, please open smtp flag first!',
 stage: 'auth' }
로그인 후 복사

오류 이유: 해당 계정이 이 서비스를 설정하지 않았습니다
해결 방법: QQ 사서함 -> 설정 -> 서비스 활성화: POP3/SMTP 서비스

{ [SenderError: Mail from command failed - 501 mail from address must be same as authorization user]
 name: 'SenderError',
 data: '501 mail from address must be same as authorization user',
 stage: 'mail' }
로그인 후 복사

오류 원인: 보내는 계정과 인증 계정이 다릅니다. 즉, 사용자 이름과 비밀번호가 일치하지 않습니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿