이메일인증이 우리 프로젝트의 중요 기능구현이 아니고
추후 소셜 로그인도 구현할 계획이기 때문에
노드메일러로 선택
참고 블로그
[NodeJS] NestJs nodemailer 모듈로 메일 전송
데이터베이스에서 매일 데이터를 추출하여 엑셀화하여 메일로 전송하는 루틴 업무를 자동화하기 위해 개발을 진행하였습니다. DB의 데이터를 엑셀화 하고 메일에 첨부하여 전송하는 API를 생성
kigo23.tistory.com
- Nodemailer
- 장점:
- 무료 사용 가능하며 오픈 소스로 사용자 커스터마이징이 용이합니다.
- 서버에 직접 연결하여 이메일을 보낼 수 있어 독립적으로 운용 가능합니다.
- 단점:
- 스케일링 및 복잡한 기능에 대한 지원이 제한적일 수 있습니다.
- 비용: 무료
- 구현 난이도: 중
- 장점:
- SendGrid
- 장점:
- 신뢰성 높은 이메일 전송 서비스로 서버 관리에 대한 부담이 없습니다.
- API가 간편하며, 통계 및 모니터링 기능을 제공합니다.
- 단점:
- 무료 플랜의 경우, 일일 한계와 이메일 푸터에 SendGrid 로고가 표시됩니다.
- 비용: 무료 플랜 + 프리미엄 플랜(비용 발생)
- 구현 난이도: 중
- 장점:
- Mailgun
- 장점:
- 안정적이고 확장 가능한 이메일 전송 서비스로 신뢰성이 높습니다.
- 좋은 API 문서와 풍부한 기능을 제공합니다.
- 단점:
- 무료 플랜은 일일 한계와 이메일 푸터에 Mailgun 로고가 포함됩니다.
- 비용: 무료 플랜 + 프리미엄 플랜(비용 발생)
- 구현 난이도: 중
- 장점:
- AWS SES (Amazon Simple Email Service)
- 장점:
- Amazon의 강력한 클라우드 인프라를 기반으로 하며 확장성과 안정성이 뛰어납니다.
- AWS 생태계와 통합되어 다양한 기능 및 관리 옵션을 제공합니다.
- 단점:
- 초기 설정 및 구성이 다소 복잡할 수 있습니다.
- 비용: 사용량에 따라 청구 (무료 티어 제공)
- 구현 난이도: 높음
- 장점:
각 서비스의 장단점과 비용을 고려하면 다음과 같은 순서를 고려할 수 있습니다:
- Nodemailer: 간단한 프로토타입 또는 작은 규모의 프로젝트에 적합합니다.
- SendGrid 또는 Mailgun: 서비스의 신뢰성이 필요하며, 별도의 서버 관리를 피하려는 경우에 선택할 수 있습니다. SendGrid와 Mailgun 중에서 선택합니다. SendGrid는 무료 플랜을 제공하지만 일일 한계와 로고 표시가 있는 점을 고려해야 합니다.
- AWS SES: 대규모 및 중대규모 프로젝트에 적합하며, AWS 생태계와 통합할 때 유용합니다. 단, 초기 설정과 구성이 복잡할 수 있습니다. AWS 프리 티어로 시작하여 사용량이 증가할 때 비용을 고려합니다.
프로젝트의 크기, 요구 사항 및 예산에 따라 이메일 서비스를 선택하는 것이 중요합니다.
'프로젝트' 카테고리의 다른 글
| 트러블슈팅 프론트앤드 백앤드 cors 에러 login 토큰 에러 (0) | 2023.10.12 |
|---|---|
| 트러블 슈팅 스웨거로 동작 시 팀원이 작성한 코드 실행안됨 (0) | 2023.10.12 |
| 트러블슈팅 3 .refreshToken 재발급 (0) | 2023.10.10 |
| 트러블슈팅 1. 이메일검증 (0) | 2023.10.07 |
| 우리 프로젝트에서 사용할 DB (0) | 2023.10.05 |