본문 바로가기
Runtime/Node.js

23. 메일링 서비스(mailtrap 서비스)

by 김엉배 2023. 4. 19.
728x90
반응형

 

1.  mailtrap 서비스

  - 실제로 이메일을 받는 사람 주소로 발송하지 않고, 정상적으로 보내지는지를 테스트할 수 있는 가짜 SMTP 서버이다.

  - 일반 텍스트, HTML 형식, 첨부 파일 등 실제 이메일이 어떻게 보내질지를 모두 테스트할 수 있다.

 

2.  mailtrap 사용법

 

  • 로그인하면 그림처럼 Inboxes 메뉴로 들어갈 수 있다. 'Add Inbox' 버튼을 클릭 후'DEMO'라는 이름으로 Inbox 추가

 

  • 생성된 Inbox인 'DEMO'를 클릭

- Nodemailer를 선택하면 transport 객체를 생성하는 데 필요한 SMTP 정보를 담음 코드가 생성되는데 Copy 버튼으로 코드를 복사

 

  • nodemailer 폴더의 index.js 파일을 열고 mailtrap 서비스로 이메일을 발송하는 sendDemo() 함수를 추가
const sendDemo = async (data) => {
  var transport = nodemailer.createTransport({
    host: "smtp.mailtrap.io",
    port: 2525,
    auth: {
      user: "3e53faf88bc5b1",
      pass: "c3076d9c68f152"
    }
  });
  transport.sendMail(data, (err, info) => {
    if(err) {
      console.log(err);
    }else {
      return info.response;
    }
  });
}

 

  • app_nodemailer.js 파일을 열어 mailtrap 서비스를 테스트하기 위한 용도로 라우트를 하나 더 추가
// localhost:3000/api/email2 라우트로 이메일 데이터를 post로 전송하면 nodemailer의 sendDemo 실행
app.post('/api/email2', async (req, res) => {
  const r = await nodemailer.sendDemo(req.body.param);
  res.send(r); // 결과를 클라이언트로 보냄
});

 

  • Postman을 실행하고 Request 추가하고 실행

 

  • mailtrap의 'DEMO' Inbox로 이메일이 정상적으로 들어온 것을 확인할 수 있다.

- mailtrap을 사용하면 프로젝트 중에 발송한 이메일 정보를 한곳에서 모아서 확인할 수 있는 장점이 있다.

728x90
반응형