본문 바로가기

IT . Web/소프트웨어 . 웹 서비스

아마존 웹서비스를 통해 이메일 발송하기 - Amazon AWS SES(Simple Email Service)

이메일은 우리 일상에 싸이월드, 페이스북, 트위터 같은 다양한 형태의 SNS가 존재함에도 불구하고 마치 사라지지 않는 엽서처럼 자기 자리를 굳건히 지키고 있는 메시징 방식입니다. 기업규모가 어느 정도 되어서 IT Infrastructure 자체구축이 자연스러운 곳이라면 모르겠지만, SMB 환경에서 Google Apps 의 무료 서비스를 이용해도 충분한 규모의 조직에서는 대량메일발송을 통한 마케팅에 불편함이 조금 따릅니다.

왜냐하면 이메일 마케팅을 할 때는 인증된 발송처에서 보내야 스팸에 걸리지 않고 잘 도착할 확률이 높은데, Google Apps의 계정을 C#이나 Java로 연동하면 하루에 500건 이상 연속으로 보내기 어렵기 때문입니다. 자칫 잘못하면 계정이 정지상태가 되기도 합니다. 제가 속한 조직도 총 인원이 10명 이하이지만 누적된 고객정보는 수만 건에 이르고 주문기록 등을 감안해서 발송대상을 축소하더라도 수천 명에게는 발송해야 합니다.

이럴 때 좋은 대안이 될 수 있는 서비스가 바로 아마존의 단순메일서비스입니다. 이 서비스는 아직 베타인데 동작은 안정적인 것 같습니다. 요금도 상당히 착한데, 메일 한 통을 한 명의 수신자에게 보낼 때 1건으로 계산해서 1,000건당 0.1 달러입니다. (참고로 EC2 인스턴스를 사용하는 분은 하루 2,000건까지 무료입니다. - 2011년 4월 기준)

수신, 전송 데이터 양에 따라 네트워크 비용도 적용되기는 하지만 굉장히 미미한 수준인지라 메시지 비용만큼도 안 든다고 보면 됩니다. 저희는 한 달에 한 번 정도 전체 고객에게 마케팅 또는 알림 메일을 보내는데, 만 건을 보낸다고 가정하면 한 달에 고작 1~2 달러면 충분한 것입니다.


이용절차는 다른 서비스에 비해서는 조금 까다로운데 대량메일을 불순한 의도로 활용하는 것을 막기 위함인 것 같습니다. 먼저 접속한 계정으로 SES 서비스를 등록하고 발신자로 설정할 이메일을 인증합니다. 그 후에 테스트 메시지를 보낼 수 있고요. 그런 다음에야 Request production access 라는 것을 통해서 대량발송허가를 요청할 수 있습니다. 아마도 베타이기 때문에 더 까다로운 듯싶은데, 얼마나 많이 보낼 계획인지와 용도 등을 간단히 입력하게 되어 있습니다.

조금 있으면 아마존 측에서 승인이 되고 하루 기본 발송량 1,000건이 설정됩니다. 참고할 점은 허가요청에 아무리 많은 예상 발송량을 입력했어도 실제로 바로 적용되지는 않는다는 것입니다. 처음에는 하루 1,000건, 3일 지나면 10배인 10,000건, 10일 후에 또다시 10배인 100,000건, 2주 후에 다시 1,000,000건입니다. 따라서 수 일 이내에 다량의 메일을 아마존 SES로 보내고 싶다면 미리 등록해두는 것이 좋겠습니다.

자바 애플리케이션으로 메일을 보내려고 한다면 이클립스에서 아마존 웹서비스 플러그인을 설치할 것을 권장 드립니다. 이렇게 하면 새 프로젝트에서 아마존 SES 샘플 프로젝트를 바로 생성할 수 있습니다. "Hello World!"를 메일 본문으로 하는 예제가 자동 생성되므로 수신자 목록과 내용 등을 수정해서 활용하면 편리합니다.