프로젝트

프로젝트 이메일인증

늘곰's 2023. 10. 10. 13:44

이메일인증이 우리 프로젝트의 중요 기능구현이 아니고 
추후 소셜 로그인도 구현할 계획이기 때문에 
노드메일러로 선택 

참고 블로그 

https://kigo23.tistory.com/22

 

[NodeJS] NestJs nodemailer 모듈로 메일 전송

데이터베이스에서 매일 데이터를 추출하여 엑셀화하여 메일로 전송하는 루틴 업무를 자동화하기 위해 개발을 진행하였습니다. DB의 데이터를 엑셀화 하고 메일에 첨부하여 전송하는 API를 생성

kigo23.tistory.com

  1. Nodemailer
    • 장점:
      • 무료 사용 가능하며 오픈 소스로 사용자 커스터마이징이 용이합니다.
      • 서버에 직접 연결하여 이메일을 보낼 수 있어 독립적으로 운용 가능합니다.
    • 단점:
      • 스케일링 및 복잡한 기능에 대한 지원이 제한적일 수 있습니다.
    • 비용: 무료
    • 구현 난이도: 중
  2. SendGrid
    • 장점:
      • 신뢰성 높은 이메일 전송 서비스로 서버 관리에 대한 부담이 없습니다.
      • API가 간편하며, 통계 및 모니터링 기능을 제공합니다.
    • 단점:
      • 무료 플랜의 경우, 일일 한계와 이메일 푸터에 SendGrid 로고가 표시됩니다.
    • 비용: 무료 플랜 + 프리미엄 플랜(비용 발생)
    • 구현 난이도: 중
  3. Mailgun
    • 장점:
      • 안정적이고 확장 가능한 이메일 전송 서비스로 신뢰성이 높습니다.
      • 좋은 API 문서와 풍부한 기능을 제공합니다.
    • 단점:
      • 무료 플랜은 일일 한계와 이메일 푸터에 Mailgun 로고가 포함됩니다.
    • 비용: 무료 플랜 + 프리미엄 플랜(비용 발생)
    • 구현 난이도: 중
  4. AWS SES (Amazon Simple Email Service)
    • 장점:
      • Amazon의 강력한 클라우드 인프라를 기반으로 하며 확장성과 안정성이 뛰어납니다.
      • AWS 생태계와 통합되어 다양한 기능 및 관리 옵션을 제공합니다.
    • 단점:
      • 초기 설정 및 구성이 다소 복잡할 수 있습니다.
    • 비용: 사용량에 따라 청구 (무료 티어 제공)
    • 구현 난이도: 높음

각 서비스의 장단점과 비용을 고려하면 다음과 같은 순서를 고려할 수 있습니다:

  1. Nodemailer: 간단한 프로토타입 또는 작은 규모의 프로젝트에 적합합니다.
  2. SendGrid 또는 Mailgun: 서비스의 신뢰성이 필요하며, 별도의 서버 관리를 피하려는 경우에 선택할 수 있습니다. SendGrid와 Mailgun 중에서 선택합니다. SendGrid는 무료 플랜을 제공하지만 일일 한계와 로고 표시가 있는 점을 고려해야 합니다.
  3. AWS SES: 대규모 및 중대규모 프로젝트에 적합하며, AWS 생태계와 통합할 때 유용합니다. 단, 초기 설정과 구성이 복잡할 수 있습니다. AWS 프리 티어로 시작하여 사용량이 증가할 때 비용을 고려합니다.

프로젝트의 크기, 요구 사항 및 예산에 따라 이메일 서비스를 선택하는 것이 중요합니다.