여기에서는 이메일마케팅을 위한 이메일 솔류션 중에서 가장 가성비가 좋다는 아마존 이메일 서비스, Amazon SES 설정 방법에 대해서 자세하게 살펴보겠습니다.
그 동안 스타트업 메일 시스템으로 구글 지메일을 활용하는 방법을 고민했었지만 여러가지 조건을 검토한 결과 구글 지메일로는 스타트업 이메일 마케팅을 수행하기는 어렵다는 결론을 내렸습니다.
그동안 가장 저렴한 비용으로메일을 보낼 수 있는 방법으로 알려졌던 Google Workspace SMTP 릴레이 서비스는 사용자가 적은 스타트업은 상당한 제약이 따른다는 결론입니다.
- 사용자 기준으로 일 10,000개의 메일을 보낼 수 있다고는 하지만
- 스타트업과 같이 사용자가 1~2명에 불과한 경우는 사용자 수 * 130배 정도로 제한합니다.
. Google Workspace 라이센스가 2명이라면 260개의 메일만 가능
물론 일정 조건, 비용 지불이 누적 100달러를 넘고 6개월이상 사용한 경우 한도를 올려준다는 이야기는 있지만요.
그래서 여러가지 메일 서비스를 알아봤지만 가장 가격 경쟁력이 있는 것은 아마존 웹 서비스(AWS)에서 제공하는 SES(Simple Email Service)이라고 할 수 있습니다.
- 아마존은 철저한 정량제 가격을 받고 있는데요.
1,000 메일당 0.1달러를 받습니다.
이는 월 2만통을 보내는 스타트업의 경우 비용이 2달러에 불과 - 또한 아마존 메일 서비스는 저렴한 대신 이용자 관리를 철저히 하면서 아마존 메일 서비스를 통해서 발송되는 메일의 신뢰성을 높여왔기 때문에
메일 신뢰성을 위해 지메일을 이용할 필요는 없습니다.
1. 이메일 인증
아마존 이메일 서비스, Amazon SES(Simple Email Service)를 이용하기 위해서 첫 번째로 할 일은 보내는 이메일과 도메인을 등록하고 인증 받는 것입니다.
계정이 있다고 아무 메일 주소에서나 이메일을 보낼 수 있는게 아니고 등록된 이메일 주소에서만 보낼 수 있습니다.
AWS 콘솔에 로그인 한 후, Amazon SES 서비스로 이동합니다. 여기서 Email Addresses를 클릭합니다. 아래는 1번
그러면 아래와 같은 화면이 나오는데, 여기서 Verify a New Email Address 버튼을 누릅니다.
그러면 아래와 같이 Email Address 부분에 발송 시 사용하는 이메일을 등록합니다. 그리고 아래 Verify This Email Address버튼을 누릅니다.
Verify This Email Address버튼을 누르면 아래와 같이 이메일 주소 검증 메일이 보내졌다는 메세지가 뜹니다.
그러면 등록한 메일로 이 메일이 맞은다면 클릭해서 인증하라는 내용의 메일이 옵니다.
위 메일에서 중간 링크 부분을 틀릭하면 인증이 확인 절차가 끝납니다. 그러면 SES – Email Address에서 등록한 메일이 검증되었다는 의미로 Verified로 변경됩니다.
2. 도메인 인증
이메일 인증이 끝났으니 이제는 도메인을 등록하고 인증을 받도록 하겟습니다. Amazon SES에서 Domain을 클릭합니다. 아래 2번
Domain 버튼을 누르면 아래와 같이 Varify a New Domain 섹션을 만날 수 있습니다.
여기서 등록하는 도메인은 반드시 등록한 메일에 들어있는 도메인이라기 보다는 서버에 설치되어 있는 사이트 도메인을 말합니다. 여기 사이트 도메인에서 메일을 보내는 것이죠.
아래와 같으 화면이 나오면 메일을 보내는 도메인을 등록하고, 이메일 신뢰성을 높이기 위해서 DKIM setting에도 체크해 줍니다. 그리고Verify This Domain 버튼을 누릅니다.
위에서 설명한대로 Verify This Domain 버튼을 누르면 아래와 같이 DNS에서 추가할 내용들이 나옵니다.
이 내용에 따라 도메인 정보를 등록하는 호스팅이나 서버 업체의 DNS 정보에서 DNS 정보를 추가해 줍니다.
- Domain Verification Record 용으로 TXT 추가
- DKIM Record Set으로 CNAME 정보 3가지 추가
- Email Receiving Record로 MX 정보 추가
이러한 정보를 DNS에서 추가해 주면 나중에 이를 인식해 위에서 등록한 도메인이 검증 완료 상태(Verified)로 바뀝니다.
3. SMTP 사용자 정보 생성
다음으로는 SMTP IM 계정을 만듭니다.
이는 SES 보드 메뉴 아래쪽에 있는 SMTP setting을 눌러서 진행합니다. 아래 이미지의 4번 항목
먼저 아래와 같은 화면이 나타나는데요.
여기서 Server Name, Port 등등 기본 정보들을 알려줍니다. 그리고 아래 Create My SMTP credentials버튼을 눌러서 ID와 패스워드 정보를 얻도록 합니다.
여기서 아래 정보를 얻습니다.
- IAM User Name :
- User SMTP Security Credentials
4. Access key 발급
그 다음으로는 Amazon AWS Access Key를 발급받습니다. 이는 SDK를 이용한 별도 이메일 프로그램을 통해서 이메일을 보낼 때 필요합니다.
저는 메일스터라는 워드프레스 이메일 플러그인을 통해서 이메일을 작성하고 보내기 때문에 이 메일스터에서 Amazon AWS Access Key를 등록해 주어야 합니다.
이러려면 Amazon AWS Access Key와 비밀번호가 필요합니다. 이는 IAM을 검색해 AWS리소스에 대한 액세스 관리 화면으로 들어가면 됩니다.
여기서 사용자를 클릭하면 등록된 사용자를 확인할 수 있습니다.
여기서 사용자 이름을 눌러 상세 정보 화면으로 이동합니다. 여기에는 권한, 그룹, 태그, 보안자격증명 그리고 액세스 관리자 섹션이 있는데요.
이 중에서 보안 자격 증명으로 이동해 액세스 키 만들기 버튼을 눌러 액세스 키를 만듭니다.
여기서 얻은 Access key와 비밀번호를 저장해 놓았다가 이 정보가 필요한 곳에서 입력해 사용하면 됩니다.
5. SMTP 사용자 계정에 정책 할당
다음에는 위에서 생성한 SMTP 사용자 계정에 SESFullaccess 권한을 할당합니다.
IAM > 정책에서 SES 검색하면 여러가지 권한이 나오는데 그 중에서 Fullaccess를 선택합니다..
6. 반송 메일 모니터링을 위한 SNS 생성
아마존은 계정에서 지나치게 높은 반송이 나오면 AWS 계정 자체를 블럭해 버릴 정도로 이메일 품질 관리를 중요시 합니다. 그렇지 않으면 수많은 이상한 메일들이 보내지면서 아마존 이메일 서비스 자체 평판을 떨어뜨릴 수 있기 때문입니다.
반송율이 5~10%가 되면 아마존에서 경고를 주고 더 심해지면 계정을 블락한다고 하네요.
그렇기 때문에 반송되는 메일에는 무엇이 있는지 모니터링해서 그런 메일 주소는 리스트에서 제외해야 합니다.
이런 것을 모니터링 하기 위해서는 아마존 SNS 서비스를 등록합니다. 이는 AWS콘솔에서 SNS를 클릭하면 아래와 같은 화면이 나오는데요.
여기에서 주제이름을 입력하고 다음 단계버튼을 눌러 넘어 갑니다.
그러면 아래와 같은 화면이 나오는데요. 별다른 변경없이 주제생성 버튼을 클릭합니다.
그러면 아래 이미지와 같은 입력한 이름의 주제가 생성되었다는 메세지가 나옵니다.
여기서 구독생성 버튼을 눌러 구독을 생성을 시작합니다.
구독생성 화면에서 프로토콜을 선택할 수 있는데요. 저는 이메일로 관련 정보를 받아야 하기 때문에 이메일을 선택했습니다.
구독 확정
그러면 등록한 이메일로 정말로 구독할 것인지를 묻습니다.
여기서 Conform을 클릭하면 구독이 확정됩니다.
Notifications 세팅
이제 아마존 이메일 서비스(SES)와 아마존 SNS 서비스를 연도하도록 합니다.
SES 보드에서 Email Address를 클랙해 등록한 이메일을 클릭합니다. 그러면 Varification, Notification 등의 항목을 볼 수 있는데요. 이중 Notofication을 누르면 아래와 같은 내용이 나오는데, 이중 두번째에서 Bounce Notifications SNS Topic
를 볼 수 있을 것입니다.
여기서 Edit Configuration을 눌러서 위에서 생성한 SNS Topic을 선택하도록 합니다.
그러면 이렇게 Notofication을 세팅하면 반송되는 메일을 통보하게 됩니다.
그러면 엔드포인트로 입력한 메일 주소로 반송 메일 정보가 전달될 것입니다.
7. 이메일 허용 한도 증대
이렇게 아마존 이메일 서비스 설정을 완료하면 기본적으로 하루 200통만 허용됩니다.
그렇기 때문에 Sending Statistics를 클릭해 계상 상세 내용을 보여주는 페이지로 이동합니다. 아래 이미지 3번
여기서 왼쪽을 보면 Request a Sending Limit Increase 메뉴가 있는데요. 이를 눌러 한도 증대 요청을 합니다.
우선 먼저 나오는 내용을 채웁니다. Mail Type과 Website URL은 적절하게..
그 아래 요구 사항을 정의합니다.
- Region – 메일 발송 지역으로 서울을 선택
- Limit – 하루 발송량을 늘리겠다고 Daily Sending Quota 선택
- New limit Value – 원하는 전송량
저의 경우는 처음이라서인지 정보가 너무 단순하다고 거절 메일이 왔네요 그러면서 조금 더 자세한 정보를 달라고 요청이 와서 아래처럼 이메일 운영 내용을 적어 보냈더니 처리해 주더군요.
1. Limit type - SES Sending Limits
2. Mail type - Marketing
3. website URL - https://happist.com
4. ses region - seoul
5. Limit - Desired Daily Sending Quota
6. New limit value
- under 10,000 mail per day
7. how often you send email
- 3~4 times in week
8. how you maintain your recipient lists
- I use wordpress plugin Mailster
- This plugin manage newsletter subscriber
9. how you manage bounces, complaints, and unsubscribe requests.
- wordpress plugin Mailster will manage those
10. examples of the email you plan to send so we can ensure that you are sending high-quality content.
- https://happist.com/newsletter/%ed%8c%ac%eb%8d%b0%eb%af%b9-%ec%9d%b4%ed%9b%84-%ec%a4%91%ea%b5%ad-%ec%9d%b4%ec%bb%a4%eb%a8%b8%ec%8a%a4-%ed%8a%b8%eb%a0%8c%eb%93%9c-10
- https://happist.com/newsletter/2021%eb%85%84-%ec%9a%b0%eb%a6%ac-%ec%82%b6%ec%9d%84-%eb%b0%94%ea%bf%80-%ea%b8%b0%ec%88%a0-%ed%8a%b8%eb%a0%8c%eb%93%9c-9%ea%b0%80%ec%a7%80
Code language: PHP (php)