본문 바로가기
Amazon Web Services

AWS SES 맛보기 (Simple Email Service)

1103동103호·2018년 1월 5일·조회 3,334

1. 개요

AWS의 이메일 서비스인 Amazon SES(Simple Email Service)를 사용해 이메일 주소를 인증하고, SMTP 자격 증명으로 테스트 메일을 발송하며, 수신 메일을 S3에 저장하는 기본 흐름을 정리한다.

콘솔 화면의 메뉴명은 AWS 콘솔 개편이나 선택한 리전에 따라 조금씩 다를 수 있다. 특히 SES는 리전별로 기능과 설정이 분리되어 있으므로, 작업을 시작하기 전에 콘솔 우측 상단의 리전을 먼저 확인하는 것이 좋다.


2. 주의사항

2018년 1월 기준 서울 리전은 지원하지 않았다. 당시 사용할 수 있었던 리전은 다음과 같다.

  • EU (아일랜드)
  • 미국 동부 (버지니아 북부)
  • 미국 서부 (오레곤)

현재 지원 리전은 변경되었을 수 있으므로, 실제 구성 전에는 AWS 콘솔의 SES 리전 목록 또는 공식 문서에서 현재 사용 가능한 리전을 확인한다. SES 설정, 인증 상태, 샌드박스 상태는 리전별로 관리된다.


3. 이메일 인증

Verify a New Email Address에서 본인 이메일 주소를 입력한 뒤 인증을 진행한다. 입력한 주소로 인증 링크가 포함된 메일이 발송되며, 해당 링크를 클릭해야 인증이 완료된다.

샌드박스 상태에서는 발신 주소뿐 아니라 수신 주소도 인증되어 있어야 테스트 메일을 보낼 수 있다. 따라서 처음 테스트할 때는 발신자와 수신자를 같은 인증 이메일 주소로 지정하면 확인이 쉽다.


4. SMTP 설정

Create My SMTP Credentials에서 신규 SMTP 계정을 생성하고 자격 증명을 얻는다. 이름은 명시적으로 지정하거나 콘솔에서 제시하는 기본 이름을 사용할 수 있다.

생성된 SMTP 사용자 이름과 비밀번호는 애플리케이션에서 메일을 발송할 때 사용한다. 비밀번호는 다시 확인하기 어려울 수 있으므로 생성 직후 안전한 곳에 보관한다.


5. 메일 수신

메일을 수신하려면 SES의 Rule Sets을 생성한다. 수신 규칙에서는 어떤 주소 또는 도메인으로 들어온 메일을 처리할지, 그리고 처리 결과를 어디에 저장할지 정의한다.

5-1. 이메일 주소 정의

수신할 이메일 주소 또는 도메인을 정의한다. 도메인을 사용하는 경우에는 도메인 인증과 함께 DNS 설정이 필요할 수 있다.

5-2. 메일을 수신할 S3 정의

  • 메일을 저장할 S3 버킷이 없으면 새로 만든다. Rule Sets 설정 단계에서도 생성할 수 있다.
  • S3 프리 티어 혜택은 다음과 같다.
AWS 프리 티어를 사용하는 고객은 Amazon S3를 무료로 시작할 수 있습니다. AWS 신규 가입 고객은 1년 동안 매달 5GB의 Amazon S3 스토리지(표준 스토리지 클래스), 20,000건의 Get 요청, 2,000건의 Put 요청, 15GB의 데이터 전송 혜택을 받게 됩니다.

S3에 저장된 원본 메일은 객체 형태로 확인할 수 있다. 테스트할 때는 버킷에 새 객체가 생성되는지, 객체 내용에 메일 헤더와 본문이 포함되어 있는지 확인하면 된다.

5-3. 메일 테스트

정의한 이메일 주소로 테스트 메일을 보내면 S3에 메일이 저장됨을 확인할 수 있다. 메일이 저장되지 않는다면 리전, Rule Set 활성화 여부, 수신 주소 조건, S3 버킷 권한을 차례로 확인한다.


6. 테스트 메일 발송

  • 샌드박스 상태인 경우 From뿐 아니라 To 이메일도 검증되어 있어야 한다.
  • 따라서 From과 To를 동일한 인증 이메일 주소로 지정해 테스트할 수 있다.

SMTP로 발송을 테스트할 때는 SMTP 엔드포인트가 현재 SES 리전과 일치하는지 확인한다. 인증은 성공하지만 메일이 발송되지 않거나 인증 오류가 발생한다면 리전 불일치 또는 샌드박스 제한을 먼저 의심해 볼 수 있다.


7. 샌드박스

샌드박스 상태에서는 발송 대상과 발송량에 제한이 있다. 운영 환경에서 외부 사용자에게 메일을 보내려면 샌드박스 해제를 요청해야 한다.

Your Amazon SES account has "sandbox" access in region US East (N. Virginia). With sandbox access you can only send email to the Amazon SES mailbox simulator and to email addresses or domains that you have verified. To be moved out of the sandbox, please request a sending limit increase. Learn more.
Can't find your existing account settings? Your account may be set up in a different AWS region. Try switching regions in the upper right corner of the console.

샌드박스 해제를 요청할 때는 어떤 용도로 메일을 발송하는지, 수신 동의를 어떻게 관리하는지, 반송 및 수신 거부를 어떻게 처리하는지 등을 구체적으로 작성하는 것이 좋다.

관련 글

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.