지식 베이스

고객님의 Amazon SES 계정을 통해 이메일 발송

SMTP를 통해 자체 Amazon SES 계정 연결하기: 한 리전을 선택하여 유지하기, Easy DKIM, 연결하기 전 샌드박스 벗어나기, 그리고 SMTP 자격 증명이 AWS 액세스 키가 아닌 이유.

AWS 계정과 도메인의 DNS에 대한 액세스 권한이 필요합니다. SES는 이 목록에서 단연 가장 저렴한 옵션이지만, 단계가 가장 많은 옵션이기도 합니다.

Amazon 자체 문서: 도메인 인증하기 · SMTP 자격 증명 얻기 · 샌드박스 벗어나기

당사는 REST API가 아니라 SMTP 인터페이스를 통해 SES에 연결합니다. 그렇기 때문에 AWS 액세스 키 대신 SMTP 사용자 이름과 비밀번호를 요청하는 것입니다. 두 경로 모두 정확히 동일한 메시지를 전달합니다. SMTP 방식은 외부에서 진단하기 매우 번거로운 일련의 AWS 요청 서명 문제를 방지하며, 당사 같은 도구가 사용할 수 있도록 Amazon이 정확히 이 인터페이스용 자격 증명을 게시합니다.

1. 리전을 선택하고 그 리전 고수하기

SES는 리전별로 작동합니다. 인증된 도메인, 자격 증명, 발송 할당량을 포함한 아래의 모든 항목은 하나의 AWS 리전에 속하며 다른 리전에는 존재하지 않습니다.

고객과 가장 가까운 곳을 선택하고(eu-west-1은 유럽, us-east-1은 북미) 이를 기록해 둡니다. 아일랜드에서 도메인을 인증한 다음 프랑크푸르트에서 자격 증명을 만드는 것은 여기서 오후 시간을 낭비하는 가장 흔한 방법이며, 이로 인해 발생하는 오류는 리전에 대해 아무것도 알려주지 않습니다.

2. 도메인 인증하기

Amazon SES 콘솔 → Identities → Create identity → Domain. mail.yourdomain.com과 같은 서브도메인을 입력합니다.

Easy DKIM을 켜고 RSA_2048_BIT를 선택합니다. SES는 세 개의 CNAME 레코드를 제공합니다.

| 유형 | 호스트 | | --- | --- | | CNAME | <token1>._domainkey.mail.yourdomain.com | | CNAME | <token2>._domainkey.mail.yourdomain.com | | CNAME | <token3>._domainkey.mail.yourdomain.com |

세 가지를 모두 추가합니다. 인증은 보통 1시간 이내에 완료됩니다.

⭐ 또한 사용자 지정 MAIL FROM 도메인(bounce.mail.yourdomain.com)을 활성화하고 요청하는 MX 및 SPF TXT 레코드를 추가합니다. 이 작업이 없으면 봉투 발신자가 amazonses.com이 되므로 SPF가 귀하가 아닌 Amazon과 일치하게 되며 DKIM에만 의존하게 됩니다.

3. 샌드박스 탈출하기 — 사람들이 놓치는 단계입니다.

⛔⛔ 새 SES 계정은 샌드박스 상태이므로 별도로 인증한 주소로만 보낼 수 있습니다. 다른 모든 주소는 수락하지만 배달은 전혀 되지 않습니다.

이것이 정확히 당사의 인증 단계가 존재하는 이유입니다. 샌드박스에서 SES는 완벽히 일반적인 성공 응답으로 메시지를 수락한 다음 폐기합니다. AWS에서 우연히 인증한 주소로 테스트를 전송하여 당사 설정을 확인하면 작동하겠지만, 실제 고객에게 보내는 모든 메시지는 사라질 것입니다.

계정 대시보드(Account dashboard) → Request production access. Amazon은 무엇을 보내고 반송(bounce)을 어떻게 처리하는지 묻습니다. 자신의 고객에게 보내는 트랜잭션 알림에 대한 몇 마디의 솔직한 문장은 보통 24시간 이내에 승인됩니다.

⭐ SES를 여기에 연결하기 전에 이 작업을 수행하세요. 실패하는 항목이 없으므로 나중에 디버깅할 것도 없습니다.

4. SMTP 자격 증명 만들기

SES 콘솔 → SMTP 설정 → SMTP 자격 증명 만들기(Create SMTP credentials).

이 작업을 수행하면 전송 전용 권한이 있는 IAM 사용자가 생성되고 SMTP 사용자 이름SMTP 비밀번호가 제공됩니다.

이는 AWS 액세스 키 및 시크릿이 아닙니다. 특정 알고리즘에 의해 IAM 시크릿에서 파생된 것이며 상호 교환할 수 없습니다. 여기에 AWS 시크릿 액세스 키를 붙여넣으면 매번 인증에 실패하며, 오류는 단순히 자격 증명이 거부되었다고만 표시합니다.

⚠️ 비밀번호는 한 번만 표시됩니다. 페이지를 떠나기 전에 CSV를 다운로드하세요.

5. Zinn®에서 연결하기

대시보드에서 이메일 발송(Email sending)을 엽니다.

  • 제공업체(Provider) — Amazon SES
  • 이 도메인에서 보냄(Send from this domain)mail.yourdomain.com
  • AWS 리전(AWS region) — 1단계의 리전(예: eu-west-1)
  • SMTP 사용자 이름(SMTP username) — 4단계의 값
  • 포트(Port) — 587로 유지
  • SES SMTP 비밀번호(SES SMTP password) — 4단계의 값

당사가 호스트(email-smtp.<region>.amazonaws.com)를 생성해 드리므로 오타를 낼 호스트 이름이 없습니다.

6. 테스트 발송 및 코드 입력

AWS에서 인증하지 않은 다른 도메인의 받은 편지함으로 테스트 메시지 보내기(Send test message)를 누릅니다. 개인 Gmail 주소가 샌드박스를 벗어났음을 증명하는 가장 좋은 방법입니다. 코드를 읽고 입력하세요.

작동하지 않을 때

실제 고객에게 보내는 동안 "Email address is not verified" — 여전히 샌드박스 상태입니다. 3단계를 확인하세요.

535 Authentication Credentials Invalid — SMTP 자격 증명(4단계) 대신 AWS 액세스 키를 사용했거나, 입력한 리전과 다른 리전의 자격 증명입니다.

"Maximum sending rate exceeded" — 신규 프로덕션 계정은 초당 14개, 일일 50,000개의 메시지로 시작합니다. 엄청나게 많은 알림이지만 대규모 고객 기반을 마이그레이션하는 경우 먼저 용량 확장을 요청하세요.

테스트에서는 작동했는데 프로덕션에서 멈춘 경우 — SES 평판(Reputation) 대시보드를 확인하세요. 반송 또는 불만족 비율이 임계값을 넘으면 Amazon이 자동으로 발송을 일시 중지하며, 오래된 고객 명단으로는 이를 넘기 쉽습니다.

여전히 해결되지 않으셨나요?

모든 요금제에 지원이 포함되어 있으며, 모국어로 답변을 받아보실 수 있습니다.

고객센터 문의 모든 문서