메일 발송을 위해서 SMTP
서비스가 필요할 경우 sendgrid
나 mailgun
을 주로 사용했었는데 만약 AWS
주로 사용한다면 별도의 서비스를 사용하기 보다는 AWS
내 SMTP
를 사용하는 것이 관리하기에 편하다. AWS에는 Simple Email Service
라는 이름으로 SMTP
서비스를 제공하고 있다. 아래와 같이 서비스를 검색할 수 있다.
만약 서울 지역에서 서비스를 운영하고자 한다면 아래와 같이 지원하지 않는 지역이라는 메시지가 나타날 것이다. 그렇다면 서울 이외 SMTP
에 접속할 서버를 고려하여 가장 적합한 지역을 선택하여 진행하면 된다. 나는 US West
를 선택했다.
그 후 아래와 같이 도메인 인증 화면을 확인할 수 있다. Verify a New Domain
을 선택하여 도메인 인증을 진행해보자
도메인 인증을 시작하면 아래와 같이 도메인 명을 입력하는 화면과 DKIM
세팅을 생성하는 옵션을 확인할 수 있다. 도메인 명은 메일을 발송한 주소의 도메인을 입력하면 되고 DKIM
옵션은 선택하여 진행하는 것을 추천한다.
DKIM
이란 DomainKeys Identified Mail으로 특정 도메인에서 보내는 메일의 위장을 방지하는 기술을 말한다. SMTP
프로토콜 특성상 입력하는 대로 메일에 발신자를 표시할 수 있기 때문에 (프로토콜에서는 별도로 발신자 주소를 검증이 없다) 스팸이나 악용을 목적으로 메일을 발송하는 경우 신뢰할 수 있는 메일 주소로 발신자를 바꿔서 사용하는 경우가 많았다. 하지만 DKIM
는 비공개 키 1개와 공개 키 1개를 사용하여 메일 발송 시 비공개 키를 발신 헤더에 추가하고 수신하는 메일 서버에서 메일 수신 시 수신된 도메인의 DNS
(TXT레코드)에 설정된 DKIM
공개 키와 비교하고 공개 키를 사용하여 메일 서명을 복호화하고 서명된 메일 소스를 확인한다. 스팸 방지를 위해서는 SPF
레코드도 같이 설정해 주는 것이 좋은데 SPF
도 DKIM
과 비슷한 방법으로 DNS
를 이용하는 발신 소스를 확인하는 방법이다.
다음 화면에서 인증을 위해 설정해야 하는 DNS
레코드를 확인할 수 있다. 직접 입력해도 되고 Route 53
을 이용한다면 한번에 추가할 수 있는 기능도 제공했다.
DNS
설정이 모두 완료된다면 아래와 같이 인증 완료 화면이 보일 것이다.
이제 좌측 메뉴에서 SMTP Settings을 선택해 보자.
SMTP Server Name
과 Port
그리고 인증 정보를 확인할 수 있다. 아직 이 상태에서는 인증 정보가 생성되지 않아서 사용할 수 없다. Create My SMTP Credentials
를 클릭해서 인증 정보를 생성해 보자.
Create My SMTP Credentials
를 클릭하면 아래와 같이 IAM User Name
을 설정하는 페이지가 보이고 원하는 이름을 입력하면 된다.