현재 학교에서 진행 중인 프로젝트에서 알림 기능으로 카카오 알림톡과 이메일을 사용하기로 했다.
카카오 알림톡 설정은 다른 게시글에서 다루기로 하고, 이번 게시글에서는 이메일 알림 기능을 구현한 내용을 다루어보고자 한다.
먼저 현재 개발 중인 환경은 다음과 같다.
- Google Cloud Platform 사용
- Java 17, Spring Boot 3.2.4
이미 Spring Boot와 Gmail을 활용한 이메일 전송 구현에 관한 글이 많이 있지만, 그럼에도 이 글을 쓰는 이유는 해당 방법이 통하지 않을 때가 있기 때문이다.
Google Cloud Platform은 Compute Engine이라 하는 AWS의 EC2와 동일한 VM 인스턴스 서비스를 제공한다.
하지만, GCP는 Compute Engine의 SMTP 포트 25를 정책상 막아놓았다. (물론 포트 자체는 다른 거 써도 되긴 함)
또한 Google 계정 관리에서 보안 설정을 해 줘야지 Gmail을 백엔드 서버에서 발신할 수 있는데 지금도 가능한지 모르겠음.
아무튼, 이런저런 이유 때문에 나는 서드파티 서비스를 사용해서 이메일을 전송하기로 하였다.
내가 선택한 서비스는 SendGrid로 GCP에서도 서드파티 메일링 서비스로 연결을 시켜주기도 하고, 공식 문서도 잘 작성되어 있어 구현하기가 어렵지 않았기 때문이다.
일단 가장 중요한 요금제부터.
Free | Essentials | Pro | Premier |
월 $0, 하루에 100건 | 월 $19.95, 10만건 이상 | 월 $89.95, 250만건 이상 | ~ |
일단 프로젝트 용이나 하루에 100건 미만으로 이메일을 발송하는 경우에는 비용이 전혀 들지 않는다. 학생 개발자 입장에서는 안쓸 이유가 없음.
SendGrid를 사용하려면 회원가입부터 진행한다.
회원가입 시 주의사항
Google 계정으로 가입을 할 때 계정 이름이 한글이면 가입 후 진행이 되지 않음..
혹시라도 Google 계정 이름을 한글로 사용하고 계신 분이 있다면 이메일로 회원가입 진행하세요.
'개발 > Spring' 카테고리의 다른 글
[Spring] Spring Boot에서 Google Cloud Storage(GCS)에 파일 업로드하기 - 2 (0) | 2024.05.23 |
---|---|
[Spring] Spring Boot에서 Google Cloud Storage(GCS)에 파일 업로드하기 - 1 (0) | 2024.05.22 |
[Spring] Spring Boot에서 SendGrid로 이메일 전송하기 - 3 (1) | 2024.05.21 |
[Spring] Spring Boot에서 SendGrid로 이메일 전송하기 - 2 (0) | 2024.05.21 |