Amazon SES가 Amazon SNS에 게시하는 이벤트 데이터 내용 - Amazon Simple Email Service

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

Amazon SES가 Amazon SNS에 게시하는 이벤트 데이터 내용

Amazon SES는 이메일 전송 이벤트 레코드를 Amazon Simple Notification Service(Amazon SNS)에 JSON 형식으로 게시합니다.

이러한 모든 알림 유형에 대한 레코드 예는 Amazon SES가 Amazon SNS에 게시하는 이벤트 데이터 예제에서 찾을 수 있습니다.

최상위 JSON 객체

이메일 전송 이벤트 레코드의 최상위 JSON 객체는 다음 필드로 구성됩니다. 이벤트 유형에 따라 존재하는 다른 객체가 결정됩니다.

필드 이름 설명

eventType

이벤트 유형을 설명하는 문자열입니다. 가능한 값: Bounce, Complaint, Delivery, Send, Reject, Open, Click, Rendering Failure, DeliveryDelay 또는 Subscription

이벤트 게시를 설정하지 않은 경우 이 필드의 이름은 notificationType입니다.

mail

이벤트를 생성하는 이메일 관련 정보를 포함하는 JSON 객체입니다.

bounce

이 필드는 eventTypeBounce인 경우에만 존재합니다. 이 파일에는 반송 관련 정보가 포함되어 있습니다.

complaint

이 필드는 eventTypeComplaint인 경우에만 존재합니다. 이 파일에는 수신 거부 관련 정보가 포함되어 있습니다.

delivery

이 필드는 eventTypeDelivery인 경우에만 존재합니다. 이 파일에는 전송 관련 정보가 포함되어 있습니다.

send

이 필드는 eventTypeSend인 경우에만 존재합니다.

reject

이 필드는 eventTypeReject인 경우에만 존재합니다. 이 파일에는 거부 관련 정보가 포함되어 있습니다.

open

이 필드는 eventTypeOpen인 경우에만 존재합니다. 이 파일에는 열기 이벤트 관련 정보가 포함되어 있습니다.

click

이 필드는 eventTypeClick인 경우에만 존재합니다. 이 파일에는 클릭 이벤트 관련 정보가 포함되어 있습니다.

failure

이 필드는 eventTypeRendering Failure인 경우에만 존재합니다. 이 파일에는 렌더링 오류 이벤트 관련 정보가 포함되어 있습니다.

deliveryDelay

이 필드는 eventTypeDeliveryDelay인 경우에만 존재합니다. 이메일 전송 지연에 대한 정보가 포함되어 있습니다.

subscription

이 필드는 eventTypeSubscription인 경우에만 존재합니다. 여기에는 구독 기본 설정에 대한 정보가 포함되어 있습니다.

Mail 객체

각 이메일 전송 이벤트 레코드는 mail 객체에 원래 메일에 대한 정보를 포함하고 있습니다. mail 객체 정보를 포함하는 JSON 객체는 다음 필드로 구성됩니다.

필드 이름 설명

timestamp

메시지가 전송된 날짜와 시간으로, ISO8601 형식(YYYY-MM-DDThh:mm:ss.sZ)으로 표시됩니다.

messageId

Amazon SES가 메시지에 할당한 고유 ID입니다. 메시지를 보낼 때 Amazon SES에서 이 값을 반환했습니다.

참고

이 메시지 ID는 Amazon SES에서 할당한 것입니다. mail 객체의 headerscommonHeaders 필드에서 원래 메시지의 메시지 ID를 찾을 수 있습니다.

source

메시지를 전송한 이메일 주소(엔벌로프 MAIL FROM 주소).

sourceArn

이메일을 전송하는 데 사용된 자격 증명의 Amazon 리소스 이름(ARN). 권한 부여 전송의 경우 sourceArn은 자격 증명 소유자가 위임 발신자에게 메일 전송 시 사용하도록 권한을 부여한 자격 증명의 ARN입니다. 권한 부여 전송에 대한 자세한 내용은 이메일 인증 방법 단원을 참조하세요.

sendingAccountId

이메일을 전송하는 데 사용된 계정의 AWS 계정 ID. 권한 부여 전송의 경우 sendingAccountId는 위임 발신자의 계정 ID입니다.

destination

원래 메일의 수신자인 이메일 주소의 목록.

headersTruncated

알림에서 헤더가 잘렸는지 여부를 나타내는 문자열입니다. 헤더의 용량이 10KB를 초과할 경우 헤더가 잘립니다. 가능한 값은 truefalse입니다.

headers

이메일의 원래 헤더 목록입니다. 목록의 각 헤더에는 name 필드와 value 필드가 존재합니다.

참고

headers 필드의 모든 메시지 ID는 Amazon SES에 전달한 원본 메시지에서 가져온 것입니다. 이어서 Amazon SES가 메시지에 할당한 메시지 ID는 mail 객체의 messageId 필드에 들어 있습니다.

commonHeaders

자주 사용되는 원래 이메일 헤더의 매핑입니다.

참고

commonHeaders 필드의 모든 메시지 ID는 Amazon SES가 mail 객체의 messageId 필드 내 메시지에 할당한 메시지 ID입니다.

tags

이메일과 연결된 태그 목록입니다.

Bounce 객체

Bounce 이벤트 정보를 포함하는 JSON 객체는 다음 필드로 구성됩니다.

필드 이름 설명

bounceType

Amazon SES가 결정한 반송 메일의 유형.

bounceSubType

Amazon SES가 결정한 반송 메일의 하위 유형.

bouncedRecipients

반송된 원래 메일의 수신자 정보를 포함하는 목록.

timestamp

ISP가 반송 메일 알림을 전송한 날짜와 시간으로, ISO8601 형식(YYYY-MM-DDThh:mm:ss.sZ)으로 표시됩니다.

feedbackId

반송 메일의 고유 ID.

reportingMTA

DSN의 Reporting-MTA 필드의 값. DSN에서 설명하는 전송, 중계 또는 게이트웨이 작업을 시도하는 메시지 전송 권한(MTA)의 값입니다.

참고

이 필드는 반송 메일에 전송 상태 알림(DSN)이 첨부된 경우에만 표시됩니다.

반송 수신자

반송 이벤트는 단일 수신자 또는 여러 수신자와 관련이 있을 수 있습니다. bouncedRecipients 필드는 객체(이메일 주소가 반송 메일을 생성한 수신자당 객체 1개)의 목록을 포함하고 있으며 다음 필드로 구성됩니다.

필드 이름 설명

emailAddress

수신자의 이메일 주소. DSN이 사용 가능할 경우, DSN의 Final-Recipient 필드의 값입니다.

또는 반송 메일에 DSN이 첨부된 경우 다음 필드도 존재할 수 있습니다.

필드 이름 설명

action

DSN의 Action 필드의 값. 이 수신자에게 메시지를 전송하려는 시도의 결과로 보고-MTA가 수행하는 작업을 나타냅니다.

status

DSN의 Status 필드의 값. 메시지의 전송 상태를 나타내는 수신자별 전송 독립적 상태 코드입니다.

diagnosticCode

보고-MTA가 발행한 상태 코드. DSN의 Diagnostic-Code 필드의 값입니다. 이 필드가 DSN에는 없을 수 있습니다(따라서 JSON에도 없음).

반송 메일 유형

각 반송 메일 이벤트는 다음 표에 나와 있는 유형 중 하나가 됩니다.

이벤트 게시 시스템은 Amazon SES에서 더 이상 재시도하지 않을 하드 바운스 및 소프트 바운스만 게시합니다. Permanent로 표시된 반송 메일을 받으면 메일 그룹에서 해당 이메일 주소를 삭제해야 하며 다음부터는 그러한 이메일 주소로 전송할 수 없습니다. Transient 반송 메일은 메시지가 여러 번 소프트 바운스되어 Amazon SES에서 이러한 메일에 대해 재전송 시도를 중지한 경우에 전송됩니다. 처음에 Transient 반송 메일이 발생한 주소로 이후 전송 재시도가 성공할 수도 있습니다.

bounceType bounceSubType 설명

Undetermined

Undetermined

Amazon SES가 특정 반송 사유를 결정하지 못했습니다.

Permanent

General

Amazon SES가 일반 하드 바운스를 수신했습니다. 이 유형의 반송 메일을 받은 경우, 이 수신자의 이메일 주소를 메일 발송 목록에서 삭제해야 합니다.

Permanent

NoEmail

대상 이메일 주소가 존재하지 않아 Amazon SES가 영구 하드 바운스를 수신했습니다. 이 유형의 반송 메일을 받은 경우, 이 수신자의 이메일 주소를 메일 발송 목록에서 삭제해야 합니다.

Permanent

Suppressed

최근의 잘못된 주소로 인한 반송 이력 때문에 Amazon SES가 이 주소로 메일 전송을 금지했습니다. 전역 금지 목록을 재정의하려면 Amazon SES 계정 수준 금지 목록 사용 섹션을 참조하세요.

Permanent OnAccountSuppressionList 계정 수준 금지 목록에 있으므로 Amazon SES가 이 주소로 보내는 것을 금지했습니다. 이는 반송 비율 지표에 반영되지 않습니다.

Transient

General

Amazon SES가 일반 반송 메일을 수신했습니다. 이후에 이 수신자에게 전송이 성공할 수도 있습니다.

Transient

MailboxFull

Amazon SES가 메일박스 가득 참 반송 메일을 수신했습니다. 이후에 이 수신자에게 전송이 성공할 수도 있습니다.

Transient

MessageTooLarge

Amazon SES가 메시지 너무 큼 반송 메일을 수신했습니다. 메시지 크기를 줄일 경우 이 수신자에게 전송이 성공할 수도 있습니다.

Transient

ContentRejected

Amazon SES가 내용 거부 반송 메일을 수신했습니다. 메시지 내용을 변경할 경우 이 수신자에게 전송이 성공할 수도 있습니다.

Transient

AttachmentRejected

Amazon SES가 첨부 파일 거부 반송 메일을 수신했습니다. 첨부 파일을 제거하거나 변경할 경우 이 수신자에게 전송이 성공할 수도 있습니다.

Complaint 객체

Complaint 이벤트 정보를 포함하는 JSON 객체는 다음 필드로 구성됩니다.

필드 이름 설명

complainedRecipients

수신 거부를 제출했을 수 있는 수신자에 대한 정보를 포함하는 목록.

timestamp

ISP가 수신 거부 알림을 전송한 날짜와 시간으로, ISO8601 형식(YYYY-MM-DDThh:mm:ss.sZ)으로 표시됩니다.

feedbackId

수신 거부의 고유 ID.

complaintSubType

Amazon SES가 결정한 수신 거부의 하위 유형.

또한, 수신 거부에 피드백 보고서가 첨부된 경우 다음 필드가 포함될 수 있습니다.

필드 이름 설명

userAgent

피드백 보고서의 User-Agent 필드의 값입니다. 보고서를 생성한 시스템의 이름 및 버전을 나타냅니다.

complaintFeedbackType

ISP로부터 수신된 피드백 보고서의 Feedback-Type 필드의 값. 이 값은 피드백의 유형을 포함합니다.

arrivalDate

피드백 보고서의 Arrival-Date 또는 Received-Date 필드 값으로 ISO8601 형식(YYYY-MM-DDThh:mm:ss.sZ)입니다. 이 필드가 보고서에는 없을 수 있습니다(따라서 JSON에도 없음).

수신 거부한 수신자

complainedRecipients 필드는 수신 거부를 제출했을 수 있는 수신자의 목록을 포함합니다.

중요

대부분 ISP는 수신 거부를 제출한 수신자의 이메일 주소를 수정합니다. 이러한 이유로 complainedRecipients 필드에는 수신 거부 알림을 발행한 도메인의 주소로 이메일이 전송된 모든 사람의 목록이 있습니다.

이 목록의 JSON 객체는 다음 필드를 포함합니다.

필드 이름 설명

emailAddress

수신자의 이메일 주소.

수신 거부 유형

Internet Assigned Numbers Authority 웹사이트:에 따라 complaintFeedbackType 필드에 보고 ISP가 할당한 다음과 같은 수신 거부 유형이 나타날 수 있습니다.

필드 이름 설명

abuse

원치 않는 이메일 또는 기타 유형의 이메일 침해를 나타냅니다.

auth-failure

이메일 인증 실패 보고서.

fraud

일종의 사기 또는 피싱 활동을 나타냅니다.

not-spam

보고서를 제공하는 엔터티가 메시지를 스팸으로 간주하지 않음을 나타냅니다. 이는 스팸으로 잘못 태그 지정 또는 분류된 메시지를 교정하기 위해 사용될 수 있습니다.

other

다른 등록된 유형에 들어맞지 않는 기타 피드백을 나타냅니다.

virus

발원 메시지에서 바이러스가 발견되었다는 보고서.

수신 거부 하위 유형

complaintSubType 필드의 값은 null 또는 OnAccountSuppressionList일 수 있습니다. 값이 OnAccountSuppressionList인 경우 Amazon SES는 메시지를 수락했지만 계정 수준 금지 목록에 있었기 때문에 메시지를 보내려고 시도하지 않았습니다.

전송 객체

Delivery 이벤트 정보를 포함하는 JSON 객체는 다음 필드로 구성됩니다.

필드 이름 설명

timestamp

Amazon SES가 수신자의 메일 서버로 이메일을 전송한 날짜와 시간으로, ISO8601 형식(YYYY-MM-DDThh:mm:ss.sZ)으로 표시됩니다.

processingTimeMillis

Amazon SES가 발신자로부터 요청을 수락한 때로부터 Amazon SES가 수신자의 메일 서버로 메시지를 전송한 때까지의 시간(단위: 밀리초).

recipients

전송 이벤트가 적용되는 의도한 수신자의 목록.

smtpResponse

Amazon SES로부터 이메일을 수락한 원격 ISP의 SMTP 응답 메시지. 이 메시지는 이메일, 수신 메일 서버, 수신 ISP마다 다릅니다.

reportingMTA

메일을 전송한 Amazon SES 메일 서버의 호스트 이름.

Send 객체

send 이벤트 정보를 포함하는 JSON 객체는 항상 비어 있습니다.

Reject 객체

Reject 이벤트 정보를 포함하는 JSON 객체는 다음 필드로 구성됩니다.

필드 이름 설명

reason

이메일이 거부된 이유입니다. 유일하게 가능한 값은 Bad content로, Amazon SES가 바이러스 포함 이메일을 감지했다는 뜻입니다. 메시지가 거부되면 Amazon SES는 메시지 처리를 중지하고 해당 메시지를 수신자의 메일 서버로 전송하지 않습니다.

Open 객체

Open 이벤트 정보를 포함하는 JSON 객체는 다음 필드로 구성됩니다.

필드 이름 설명

ipAddress

수신자의 IP 주소입니다.

timestamp

열기 이벤트가 발생한 날짜와 시간으로, ISO8601 형식(YYYY-MM-DDThh:mm:ss.sZ)으로 표시됩니다.

userAgent

수신자가 이메일을 여는 데 사용한 이메일 클라이언트 또는 디바이스의 사용자 에이전트입니다.

Click 객체

Click 이벤트 정보를 포함하는 JSON 객체는 다음 필드로 구성됩니다.

필드 이름 설명

ipAddress

수신자의 IP 주소입니다.

timestamp

클릭 이벤트가 발생한 날짜와 시간으로, ISO8601 형식(YYYY-MM-DDThh:mm:ss.sZ)으로 표시됩니다.

userAgent

수신자가 이메일의 링크를 클릭하는 데 사용한 클라이언트의 사용자 에이전트입니다.

link

수신자가 클릭한 링크의 URL입니다.

linkTags

ses:tags 속성을 사용하여 링크에 추가된 태그 목록입니다. 이메일의 링크에 태그를 추가하는 방법은 Q5. 링크에 고유 식별자로 태그를 지정할 수 있습니까?Amazon SES 이메일 전송 지표 FAQ 단원을 참조하세요.

Rendering Failure 객체

Rendering Failure 이벤트 정보를 포함하는 JSON 객체는 다음 필드로 구성됩니다.

필드 이름 설명

templateName

이메일을 전송하는 데 사용하는 템플릿의 이름입니다.

errorMessage

렌더링 오류에 관한 자세한 정보를 제공하는 메시지입니다.

DeliveryDelay 객체

DeliveryDelay 이벤트 정보를 포함하는 JSON 객체는 다음 필드로 구성됩니다.

필드 이름 설명

delayType

지연 유형입니다. 가능한 값은 다음과 같습니다.

  • InternalFailure – 내부 Amazon SES 문제로 인해 메시지가 지연되었습니다.

  • General – SMTP 대화 중에 일반 오류가 발생했습니다.

  • MailboxFull – 수신자의 사서함이 꽉 차서 추가 메시지를 받을 수 없습니다.

  • SpamDetected – 수신자의 메일 서버가 귀하의 계정에서 많은 양의 원치 않는 이메일을 감지했습니다.

  • RecipientServerError – 수신자의 이메일 서버에 일시적인 문제가 생겨 메시지를 전송할 수 없습니다.

  • IPFailure – 수신자의 이메일 공급자가 메시지를 보내는 IP 주소를 차단하거나 제한하고 있습니다.

  • TransientCommunicationFailure – 수신자의 이메일 공급자와의 SMTP 대화 중에 일시적인 통신 오류가 발생했습니다.

  • BYOIPHostNameLookupUnavailable – Amazon SES에서 IP 주소의 DNS 호스트 이름을 찾을 수 없습니다. 이러한 지연 유형은 자체 IP 가져오기를 사용할 때만 발생합니다.

  • Undetermined – Amazon SES에서 전송 지연 사유를 확인할 수 없습니다.

  • SendingDeferral – Amazon SES가 메시지를 내부적으로 연기하는 것이 적절하다고 판단했습니다.

delayedRecipients

이메일 수신자에 대한 정보가 있는 객체입니다.

expirationTime

Amazon SES에서 메시지 전송 시도를 중지할 날짜 및 시간입니다. 이 값은 ISO 8601 형식으로 표시됩니다.

reportingMTA

지연을 보고한 MTA(메시지 전송 에이전트) 의 IP 주소입니다.

timestamp

지연이 발생한 날짜 및 시간으로 ISO 8601 형식으로 표시됩니다.

지연된 수신자

delayedRecipients 객체는 다음 값을 포함합니다.

필드 이름 설명

emailAddress

메시지 전송이 지연된 이메일 주소입니다.

status

전송 지연 관련된 SMTP 상태 코드입니다.

diagnosticCode

수신 메시지 전송 에이전트(MTA)에서 제공하는 진단 코드입니다.

구독 객체

Subscription 이벤트 정보를 포함하는 JSON 객체는 다음 필드로 구성됩니다.

필드 이름 설명

contactList

연락처가 있는 목록의 이름입니다.

timestamp

ISP가 구독 알림을 전송한 날짜와 시간으로, ISO8601 형식(YYYY-MM-DDThh:mm:ss.sZ)으로 표시됩니다.

source

메시지를 전송한 이메일 주소(엔벌로프 MAIL FROM 주소).

newTopicPreferences

연락처 목록에 있는 모든 주제의 구독 상태를 지정하는 JSON 데이터 구조(맵)로, 변경 후 상태를 나타냅니다(연락처 구독함 또는 구독 취소함).

oldTopicPreferences

연락처 목록에 있는 모든 주제의 구독 상태를 지정하는 JSON 데이터 구조(맵)로, 변경 전 상태를 나타냅니다(연락처 구독함 또는 구독 취소함).

신규/이전 주제 기본 설정

newTopicPreferencesoldTopicPreferences 객체는 다음 값을 포함합니다.

필드 이름 설명

unsubscribeAll

연락처 목록의 모든 주제에서 연락처가 구독을 취소했는지를 지정합니다.

topicSubscriptionStatus

topicName 필드의 주제를 지정하고 구독 상태(옵트인(OptIn) 또는 옵트아웃(OptOut))를 subscriptionStatus 필드에 매핑합니다.

topicDefaultSubscriptionStatus

topicName 필드의 주제를 지정하고 구독 상태(옵트인(OptIn) 또는 옵트아웃(OptOut))를 subscriptionStatus 필드에 매핑합니다.