1. SES( Simple Email Service )

SES는 이메일을 전송할 수 있는 서비스입니다.

SES를 사용하는 목적은 회원들에게 프로모션 전송, 회원가입 시 이메일 확인 인증, 비밀번호 전송 등을 수행하기 위해서이며, 프리티어 기준 매일 2,000통을 보낼 수 있습니다.





2. 발송 테스트

SES로 메일을 보내는 간단한 테스트를 해보도록 하겠습니다.

테스트를 진행하기 위해 자신의 이메일을 인증받아야 합니다.


지금은 샌드박스( Sand box ) 환경이기 때문에 아무에게나 메일을 보낼 수 없습니다.

샌드박스 환경을 나가는 방법은 뒤에서 다루도록 하겠습니다.


우선 테스트 메일을 수신 받을 이메일을 등록하도록 하겠습니다.


1)


"Verify a New Email Address"를 클릭해서 이메일 주소를 입력해주세요.

그리고 입력한 이메일에서 인증절차를 진행해주세요 !



2)


인증이 완료되면 status가 "verified"상태로 바뀝니다.

인증된 메일 주소의 체크박스를 클릭하여 "Send a Test Email" 버튼을 클릭합니다.


현재 등록된 메일이 한 개 뿐이므로 다른 메일 주소로 메일을 보낼 수 없고 자기 자신에게 메일을 보내야 할 것 같습니다.

To를 작성하는 공간에 인증된 메일 주소를 입력해주세요.

그리고 Subject에는 제목을 Body에는 내용을 입력해주세요.


정말로 메일이 왔는지 확인해보세요 !



그런데 실제 서비스에서 이렇게 사용할 수 있을까요?

회원으로부터 자사의 웹 서비스에 대한 메일을 수신할 것인지 일일이 인증을 받아야만 하는 것은 좋은 방법은 아닌 것 같습니다.

AWS에서 스팸을 방지하기 위해 신규 등록 고객에게 이러한 제한을 걸어두는데, 이 환경을 벗어나는 방법을 설명하도록 하겠습니다.





3. 샌드박스 나가기

SES 서비스를 이용하기 위해서는 샌드박스( sandbox )를 나가야 합니다.

( SES 샌드박스 나가기와 관련된 문서를 여기를 참고해주세요 ! )


공식 문서에서 샌드박스에 대한 설명은 다음과 같습니다.


샌드박스 환경을 나가면 수신자 주소에 대한 제한을 없애고 메일 발신 한도를 높일 수 있습니다.


샌드박스를 나가기 위해서는 SES를 사용하려는 목적에 대해서, 그리고 매일 몇 건의 발송 건을 요청할 것인지 AWS에 영어로 작성해서 보내야 합니다.

우선 이곳을 클릭하여 작성 화면으로 이동하겠습니다.

( AWS의 우상단 - 지원 - 지원센터 - 좌측의 create case 로 들어갈수도 있습니다. )


각 항목에 대해 다음과 같이 작성해주세요.

항목에 대한 설명은 위의 문서를 참고해주시고, 아래는 제가 사용했던 예제입니다. ( 예시이므로 참고만 해주세요. )

  • regarding : Service Limit increase
  • Limit Type : SES Sending Limits
  • Region : Oregon
    • Limit : Desired Daily Sending Quota
    • New limit value : 200  ( 한 달 동안 몇 개의 메일을 발송 할 것인지 예상치를 작성합니다. )
  • Mail Type : System Notifications
  • Website url : not yet
  • My email-sending ....(이용약관) : yes
  • only send to ... (내 메일을 특별히 요청한 수신인에게만 보낸다) : No 
  • I have a process ... (불만을 처리하는 프로세스가 있다)             : No
  • Use Case Description : 사용 목적을 작성합니다.

요청을 보내면 AWS 직원이 이를 확인하고 메일을 보내줍니다.

보통 3시간 안에 확인할 수 있습니다.


승인 메일을 받았으면 본격적으로 SES를 사용할 수 있게 된 것입니다.

일일이 회원의 이메일로 메일을 수신할 것인지 인증을 요구할 필요 없으며 발신 한도도 높일 수 있게 되었습니다.





이상으로 이메일을 전송하는 SES 서비스에 대해 알아보았습니다.

AWS console에서 하는 이메일을 전송은 사실 무의미합니다.

샌드박스 환경을 나가는 것이 중요하며, 이후에는 프로그래밍을 통해 SMTP API( 링크 )를 호출하여 메일을 보내면 됩니다.

각 언어마다 SMTP API를 사용할 수 있도록 AWS API를 제공하므로 이를 참고하여 프로젝트에 SES 서비스를 구현해보시면 좋을 것 같습니다 !