SMTP 프로토콜을 활용 해 각종 메일을 지원하는 인터넷 서비스에서 SMTP 정보를 활용 해 SMTP 메일 전송이 가능하다.
AWS 에서는 AWS SES 라는 서비스를 통해 SMTP를 활용 가능하다.
SES 자체에서 처음부터 aws 내 이메일을 제공해주는 것은 아니고, 전송 도메인과 전송 이메일을 등록 한 이후 SMTP 정보를 확인할 수 있다.
처음 SES 서비스 접근 시 시작하기 페이지가 뜬다.
시작하기를 눌러 설정 페이지로 넘어간다.
설정 페이지 진입 시, 나는 이미 설정을 완료 한 상태이나 최초 설정 창이 있었던 것 같다.
이메일 주소 확인:
최초에 전송에 필요한 이메일 주소를 입력받는다.
나의 경우에는 내 이메일인 jaehan1346@icloud.com을 입력했다.
입력한 이메일로 확인 인증 메일이 보내지며, 확인 시 이메일 주소 확인에 대한 인증이 활성화된다.
확인 후, SES 메일 전송에 도메인과 이메일 주소를 더블 체킹하는 듯 싶다.
전송 도메인 확인:
전송 도메인 확인을 위해 도메인 추가 시 실제로 DNS 정보가 존재하는 도메인을 등록해야 한다.
도메인 추가에
내 도메인을 지정하고 DKIM 설정을 추가로 해야 한다.
그 도메인이 내 도메인인지 확인하는 절차인 것 같다.
일단 도메인 추가 이후, DNS 정보를 설정하는 서버 또는 서비스 (가비아, Route53 등) 에서 DKIM 검증을 한다.
아래에 보면 DKIM 설정을 위한 CNAME 타입의 DNS 레코드 정보 3개가 존재하며, 각 DNS 설정 사이트 내에 각 이름으로 된 CNAME DNS 레코드 추가 후 값을 지정하여야 한다.
Route53의 경우, 다음과 같이 CNAME 타입으로, 이름에 도메인명을 제외한 나머지 부분을 채워넣고 값 부분에도 잘 채워넣고 저장하면 된다.
DNS 설정 사이트 내에 3개의 DKIM 설정 이후, 일정 시간이 지나면 도메인 설정이 완료된다.
확인 보류중에서 확인됨으로 변경되면 도메인에 대한 검증이 완료되었다는 것이다.
도메인 검증, 이메일 검증 이후:
그 이후부터는 테스트 메일 보내기를 통해 실제로 메일을 보낼 수는 있다.
하지만 처음에는 샌드박스 모드이기 때문에 테스트 메일은 실제로 최초에 추가한 이메일에만 보내거나 사전에 정의 된 AWS 관련 메일에만 전송이 가능하다.
SES 페이지 내 상단에 프로덕션 요청이 있다면, 적당한 사유 및 존재하는 도메인을 통해 프로덕션 레벨 신청을 하면 최대 24시간 내에 신청에 대한 처리를 해 준다고 한다.
어떤 경우에는 필요 정보가 부족하다고 하는 메일이 오면서 추가적인 정보를 기입해야 할 수도 있다.
프로덕션 레벨 신청이 완료되면 일일 전송 할당량이 늘어나고 다른 도메인( 다른 이메일 )에 대해서도 메일 전송이 가능하다.
SMTP 설정 탭을 들어 가 SMTP 호스트와 포트를 확인 할 수 있다.
SMTP 설정 내 기존 SMTP 보안 인증 관리 툴을 통해 기존 버전의 SMTP 보안(SMTP 계정 생성 및 액세스 키 확인)
또는 SMTP 보안 인증 생성을 통해 따로 설정을 한 뒤 SMTP 보안정보를 확인한다.
나의 경우에는 기존 SMTP 보안 관리 툴을 사용 해 SMTP를 사용했다.
새로운 iam 계정이 생성되면서 액세스 키, 비밀번호가 부여된다.
이 액세스 키와 비밀번호를 스프링부트 등의 SMTP 관련 환경변수에 대입하여 설정 후 사용하면 된다.
Amazon SES의 SMTP 정보를 활용 해 메일 전송 시
올바르게 메일이 전송되는 것을 볼 수 있다.