728x90
반응형

1. 메일링 서비스
- 애플리케이션 구축에 있어 가장 필수적으로 구현해야 하는 기능 중 하나가 메일링 기능이다.
- 회원 가입 후 이메일 주소로 인증메일 전송
- 기업의 최신 정보를 다음 뉴스레터 정기 발송
- 이벤트 참여 등록 여부 및 확정 이메일 전송
2. Nodemailer
- Nodemailerdml 특징
1) 다른 모듈에 의존성이 없는 독립적 모듈
2) 여러 언어를 지원
3) 파일 첨부 기능
4) 일반 텍스트뿐만 아니라 HTML을 본문 내용에 사용 가능
5) TLS/STARTTLS 사용해서 안전한 이메일 전송을 지원
6) OAuth2 인증 지원
7) SMTP 연결을 위해 프록시 사용 가능
- nodemailer 설치
npm install nodemailer
3. SMTP transport
- 이메일을 전송하기 위해서 transport 객체가 필요하다.
- nodemailer의 createTransport() 함수를 통해 객체를 생성
const transporter = nodemailer.createTransport(transport[, defults])
// transport: nodemailer에서는 주로 SMTP transport를 주로 사용하고, 서버 연결 정보를 정의
// defaults: 이메일 전송 시 공통 옵션을 정의
* SMTP(Simple Mail Transfer Protocol)는 인터넷에서 이메일을 보내기 위해서 이용되는 프로토콜이다.
(이메일을 송수신하는 서버를 SMTP 서버라고 한다.)
- 다음은 SMTP 서버를 사용해 transporter 객체를 생성하는 예제이다.
const transporter = nodemailer.createTransport({
host: "smtp.example.com", // SMTP 서버 호스트 주소
port: 587,
secure: false, // true이면, SMTP 접속시, TLS사용
auth: {
user: "username", // 사용자 계정
pass: "password", // 비밀번호
},
});
- verify() 함수로 설정한 SMTP 접속 정보로 정상적인 접속이 이루어지는지 확인
transporter.verify((error, success) => {
if(error) { // 접속 에러 발생
console.log(error);
} else{ // 접속 정상
console.log("서버가 메시지를 받을 준비가 되어 있습니다.");
}
});
728x90
반응형
'Runtime > Node.js' 카테고리의 다른 글
| 23. 메일링 서비스(mailtrap 서비스) (2) | 2023.04.19 |
|---|---|
| 22. 메일링 서비스(이메일 보내기) (2) | 2023.04.18 |
| 20. 로그 관리 (2) | 2023.04.18 |
| 19. MongoDB(스키마, 모델 생성) (2) | 2023.04.14 |
| 18. MongoDB(mongoose 모듈) (5) | 2023.04.10 |