내 도메인의 이메일을 gmail로 받기(mailgun.org 경유, MX Record)
iOS 개발자 1명과 팀프로젝트를 꾸역꾸역 진행하는 와중에 개발된 앱이 비밀번호 찾기
기능이 없이 앱스토어에 올리기가 곤란하다는 의견을 들었다.
그래서 비밀번호 찾는 또는 리셋하는 링크를 회원의 이메일로 보내주는 방법을 사용하기로 했는데 ~~@gmail.com
으로 메일을 보내기가 싫어서 도메인의 이메일로 보내는 방법을 찾았다.
메일 서버를 만들 수는 없으니 포워딩을 해야하는데 gmail은 G-Suite를 사용하지 않고는 방법이 없는 것 같다.
G-Suite는 기본 계정도 유료이므로, 다른 서비스를 찾다가 mailgun.org를 찾아냈다.
몇일 동안 삽질을 하다가 드디어 성공하여 기록을 남긴다.
이 글을 참고했다.
1. mailgun.org 설정
1) 일단 mailgun에 가입한다.
2) 가입 확인을 거치고 나서 domain을 설정한다.
mg.mydomain.com
에 현혹되지 말고 자신의 루트 도메인을 적는다.
3) 다음 화면에서 DNS 제공자의 사이트에서 설정해야할 DNS Record들을 보여준다.
이 화면은 설정, 확인이 끝난 화면이다. 내용은 같음.
2. AWS Route53 설정
1) 위 내용을 가지고 AWS Route53의 Hosted Zone에 Record를 추가한다.
파란색 부분이 추가된 부분이다.
2) 레코드 추가가 끝나면 다시 mailgun으로 돌아가 DNS 설정을 확인해야한다.
Check DNS Records Now
클릭
3) DNS 설정이 잘 되었으면 모든 항목에 초록색 체크박스가 생긴다.
3. 받을 email 설정
1) mailgun에서 Route
탭으로 이동하여 New Route
를 생성한다.
2) 나는 하나의 이메일로 다 받을 거라 Expression Type
에 Catch all
을 선택하고 Action
은 Forward
를 체크하고 받을 이메일을 적었다.
4. SMTP 설정
1) 이메일을 내 도메인으로 보낼 수 있게 하기 위해 smtp를 설정해야한다.
2) mailgun의 Domains
탭으로 돌아가 설정한 도메인의 상세 화면으로 들어간다.
이미 Default SMTP 계정과 password가 정해져 있다.
3) Manage SMTP credentials
를 클릭하고 사용하고 싶은 계정과 password를 정해준다.
5. gmail에서 설정
1) gmail의 환경설정
> 계정 및 가져오기
> 다른 주소에서 메일 보내기
> 다른 이메일 주소 추가
2) 아까 생성한 SMTP credential 정보로 설정하면 완료.
mail 전달 과정 (받을때)
1) 받는 주소를 mail@pickycookbook.co.kr
로 메일을 보낸다.
2) AWS Route53에서 이것을 받아 mailgun으로 보낸다.
3) mailgun에서 gmail로 보낸다.
mail 전달 과정 (보낼때)
1) gmail에서 SMTP 인증 확인하여 발송
2) 인증은 AWS Route53 > mailgun(여기서 인증)