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 서비스를 구현해보시면 좋을 것 같습니다 !
'Cloud > AWS' 카테고리의 다른 글
[AWS] RDS 인스턴스 생성 및 EC2에서 접근하기 ( MySQL, 프리티어 ) (1) | 2020.02.08 |
---|---|
[AWS] S3와 CloudFront 연동하기 (0) | 2020.02.01 |
[AWS] CloudWatch로 리소스 모니터링하기 (0) | 2017.11.25 |
[AWS] IAM (2) IAM 계정 생성 및 role부여 (2) | 2017.11.25 |
[AWS] IAM (1) Access Key and Security key (0) | 2017.11.24 |
[AWS] EC2 (3) - Elastic IP (EIP) (0) | 2017.11.24 |
[AWS] EC2 (2) - 윈도우에서 EC2 인스턴스 접속하기 (5) | 2017.11.24 |