Amazon SES 이벤트 게시를 사용하여 이메일 전송 모니터링 - Amazon Simple Email Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon SES 이벤트 게시를 사용하여 이메일 전송 모니터링

이메일 전송을 세부적으로 추적하기 위해 정의한 특성에 따라 Amazon CloudWatch, Amazon Data Firehose, Amazon Pinpoint, Amazon Simple Notification Service 또는 Amazon EventBridge에 이메일 전송 이벤트를 게시할 수 있도록 Amazon SES를 설정할 수 있습니다.

발신, 전송, 열기, 클릭, 반송, 수신 거부, 거부, 렌더링 실패 및 전송 지연을 포함하는 다양한 이메일 전송 이벤트 유형을 추적할 수 있습니다. 이 정보는 운영 및 분석에 유용할 수 있습니다. 예를 들어 이메일 전송 데이터를 CloudWatch에 게시하고 이메일 캠페인의 성과를 추적하는 대시보드를 만들거나 Amazon SNS를 사용해 특정 이벤트가 발생할 때 알림을 전송할 수 있습니다.

이벤트 게시가 구성 세트 및 메시지 태그와 작동하는 방법

이벤트 게시를 사용하려면 우선 하나 이상의 구성 세트를 설정해야 합니다. 구성 세트는 어떤 이벤트를 어디에 게시할지 지정합니다. 그런 다음 이메일을 보낼 때마다 구성 세트의 이름과 하나 이상의 메시지 태그를 이름/값 페어 형식으로 제공하여 이메일을 분류합니다. 예를 들어 책을 광고하는 경우, 메시지 태그에 genre라는 이름을 붙이고 sci-fi 또는 western 값을 할당할 수 있습니다.

사용 중인 이메일 전송 인터페이스에 따라 메시지 태그를 SendEmail API 작업 EmailTags 필드에 파라미터로 제공하거나 SES별 이메일 헤더 X-SES-MESSAGE-TAGS에 메시지 태그를 추가합니다. 구성 세트에 대한 자세한 내용은 Amazon에서 구성 세트 사용 SES 섹션을 참조하세요.

SES는 지정하는 메시지 태그 외에도 전송 메시지에 자동 태그도 추가합니다. 자동 태그를 사용하기 위해 추가로 실행해야 할 단계도 없습니다.

다음 테이블은 SES를 사용하여 전송하는 메시지에 자동으로 적용되는 자동 태그를 나열한 것입니다.

SES 자동 태그
자동 태그 이름 설명
ses:caller-identity 이메일을 전송한 SES 사용자의 IAM ID입니다.
ses:configuration-set 이메일에 연결된 구성 세트의 이름
ses:from-domain "From" 주소의 도메인
ses:outgoing-ip SES가 이메일 전송에 사용한 IP 주소입니다.
ses:source-ip 호출자가 이메일 전송에 사용한 IP 주소.
ses:source-tls-version 발신자가 이메일을 보내는 데 사용한 TLS 프로토콜 버전입니다.
ses:outgoing-tls-version SES가 이메일 전송에 사용한 TLS 프로토콜 버전입니다.

이메일 캠페인에 대한 세분화된 피드백

ses:feedback-id-<a or b> 태그는 하이브리드 또는 반자동 태그로 생각할 수 있는 선택적 메시지 태그입니다. 이전 섹션에서 다룬 자동 태그와 비슷하지만, 차이점은 수동으로 추가하고 ses: 접두사 키를 사용해야 한다는 것입니다. ses:feedback-id-ases:feedback-id-b로 정의된 이러한 태그 중 최대 2개를 사용할 수 있습니다.

이러한 태그를 지정하면 SES는 피드백 루프(FBL)의 일부로 수신 거부, 스팸 비율 등의 전송 통계를 제공하는 데 사용되는 표준 Feedback-ID 헤더에 태그를 자동으로 추가합니다. 피드백 루프의 내용을 참조하세요. Feedback-ID 헤더는 SES에서 수신 거부 정보 수집에 사용하는 SESInternalID 식별자와 SES를 다음과 같은 전송 플랫폼으로 식별하는 AmazonSES 정적 태그로 구성됩니다.

FeedBackId:feedback-id-a:feedback-id-b:((SESInternalID):(AmazonSES))

이러한 선택적 피드백 ID 태그는 이메일 캠페인의 일부로 보내는 메시지와 같이 세분화된 피드백을 생성하는 방법으로 제공됩니다. 다음 예제와 같이 SendEmail 작업 요청의 EmailTags 필드에 메시지 태그로 지정하여 ses:feedback-id-<a or b>를 사용할 수 있습니다.

{ "FromEmailAddress": "noreply@example.com", "Destination": { "ToAddresses": [ "customer@example.net" ] }, "Content": { "Simple": { "Subject": { "Data": "Hello and welcome" }, "Body": { "Text": { "Data": "Lorem ipsum dolor sit amet." }, "Html": { "Data": "Lorem ipsum dolor sit amet." } } } }, "EmailTags": [ { "Name": "ses:feedback-id-a", "Value": "new-members-campaign" }, { "Name": "ses:feedback-id-b", "Value": "football-campaign" } ], "ConfigurationSetName": "football-club" }

원시 형식으로 전송하는 경우 SES별 헤더 X-SES-MESSAGE-TAGS에 메시지 태그로 ses:feedback-id-<a or b>를 추가하면 됩니다.

ses:feedback-id-<a or b> 메시지 태그는 다른 메시지 태그와 마찬가지로 CloudWatch 값 소스로 지정하여 Amazon CloudWatch에서 추적할 수도 있습니다. CloudWatch 이벤트 대상 추가의 내용을 참조하세요(추가 요금이 적용되며, CloudWatch의 지표당 요금 참조).

이벤트 게시 사용 방법

다음 섹션에는 SES 이벤트 게시를 설정하고 사용하는 데 필요한 정보가 포함되어 있습니다.

이벤트 게시 용어

다음 목록은 SES 이벤트 게시에 관련된 용어를 정의한 것입니다.

이메일 전송 이벤트

SES에 제출한 이메일의 결과와 관련된 정보입니다. 전송 이벤트에는 다음이 포함됩니다.

  • 전송(Send) - 전송 요청이 성공했으며 Amazon SES는 메시지를 수신자의 메일 서버로 전송합니다. (계정 수준 또는 전역 금지를 사용하는 경우 SES가 여전히 전송으로 계산하지만 전송은 금지합니다.)

  • 렌더링 오류 – 템플릿 렌더링 문제로 인해 이메일이 전송되지 않았습니다. 이 이벤트 유형은 템플릿 데이터가 누락되었을 때 또는 템플릿 파라미터와 데이터가 불일치할 때 발생할 수 있습니다. (이 이벤트 유형은 SendTemplatedEmail 또는 SendBulkTemplatedEmail API 작업을 사용하는 이메일을 전송할 때만 발생합니다.)

  • 거부(Reject) - Amazon SES가 이메일을 수락했으나 이메일에 바이러스가 포함된 것으로 판단되어 수신자의 메일 서버로 전송하려고 시도하지 않았습니다.

  • 배달(Delivery) - Amazon SES에서 이메일을 수신자의 메일 서버로 성공적으로 전송했습니다.

  • 바운스 – 수신자의 메일 서버가 이메일을 영구적으로 거부하는 하드 바운스입니다. (소프트 바운스는 SES가 더 이상 이메일 전송을 재시도하지 않는 경우에만 포함됩니다. 일반적으로 이러한 소프트 바운스는 전송 실패를 나타내지만, 메일이 수신자의 받은 편지함에 도착하더라도 소프트 바운스가 반환되는 경우도 있습니다. 이러한 상황은 일반적으로 수신자가 부재 중 자동 회신을 보낼 때 발생합니다. AWS re:Post 문서에서 소프트 바운스에 대해 자세히 알아보세요.)

  • 수신 거부(Complaint) - 이메일이 수신자의 메일 서버로 성공적으로 전송되었지만 수신자가 이를 스팸으로 표시했습니다.

  • 배달 지연 – 일시적인 문제가 발생하여 수신자의 메일 서버에 이메일을 전송할 수 없습니다. 예를 들어 수신자의 받은 편지함이 가득 찼거나 이메일 수신 서버에 일시적인 문제가 발생했을 때 전송 지연이 발생할 수 있습니다.

  • 구독(Subscription) - 이메일이 성공적으로 배달되었지만 수신자가 이메일 헤더에서 List-Unsubscribe를 클릭하거나, 바닥글에서 Unsubscribe 링크를 선택하여 구독 기본 설정을 업데이트했습니다.

  • 열기(Open) – 수신자가 메시지를 수신하여 자신의 이메일 클라이언트에서 열었습니다.

  • 클릭(Click) – 수신자가 이메일의 링크를 1개 이상 클릭했습니다.

구성 세트

SES에서 이메일 전송 이벤트를 게시할 대상과 게시하려는 이메일 전송 이벤트 유형을 정의하는 규칙 세트입니다. 이벤트 게시와 함께 사용하려는 이메일을 전송할 때 이메일에 연결할 구성 세트를 지정합니다.

이벤트 대상

SES에서 이벤트 전송 이메일을 게시하는 AWS 서비스입니다. 설정하는 각 이벤트 대상은 단 하나의 구성 세트에만 속합니다.

메시지 태그

이벤트 게시를 목적으로 이메일을 분류하는 데 사용하는 이름/값 페어입니다. 예를 들면 campaign/book, campaign/clothing의 형식입니다. 이메일을 전송할 때 API 직접 호출에 대한 파라미터 또는 SES별 이메일 헤더로 메시지 태그를 지정합니다.

자동 태그

이벤트 게시 보고서에 자동으로 포함되는 메시지 태그입니다. 구성 세트 이름, 'From' 주소의 도메인, 호출자의 발신 IP 주소, SES 발신 IP 주소, 호출자의 IAM ID를 표시하는 자동 태그가 있습니다.