Amazon SES が Firehose に発行するイベントデータの内容 - Amazon Simple Email Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SES が Firehose に発行するイベントデータの内容

Amazon SES は、E メール送信イベントレコードを JSON 形式で Amazon Data Firehose に発行します。Firehose にイベントを発行する場合、Amazon SES は各 JSON レコードに改行文字を置きます。

これらのすべての通知タイプのレコード例については、「Amazon SES が Firehose に発行するイベントデータの例」を参照してください。

トップレベル JSON オブジェクト

メール送信イベントレコードのトップレベル JSON オブジェクトには、以下のフィールドが含まれています。

フィールド名 説明

eventType

イベントのタイプを説明する文字列。可能な値: BounceComplaintDeliverySendRejectOpenClickRendering FailureDeliveryDelay、または Subscription

もしイベント発行のセットアップをしなかった場合は、このフィールドは notificationType と名付けられます。

mail

イベントを作成した E メールに関する情報を含む JSON オブジェクト。

bounce

このフィールドは、eventTypeBounce の場合のみ表示されます。このフィールドには、バウンスに関する情報が含まれています。

complaint

このフィールドは、eventTypeComplaint の場合のみ表示されます。このフィールドには、苦情に関する情報が含まれています。

delivery

このフィールドは、eventTypeDelivery の場合のみ表示されます。このフィールドには、配信に関する情報が含まれています。

send

このフィールドは、eventTypeSend の場合のみ表示されます。

reject

このフィールドは、eventTypeReject の場合のみ表示されます。このフィールドには、拒否に関する情報が含まれています。

open

このフィールドは、eventTypeOpen の場合のみ表示されます。このフィールドには、オープンイベントに関する情報が含まれています。

click

このフィールドは、eventTypeClick の場合のみ表示されます。このフィールドには、クリックイベントに関する情報が含まれています。

failure

このフィールドは、eventTypeRendering Failure の場合のみ表示されます。このフィールドには、レンダリング失敗イベントに関する情報が含まれています。

deliveryDelay

このフィールドは、eventTypeDeliveryDelay の場合のみ表示されます。E メールの遅延配信に関する情報が含まれています。

subscription

このフィールドは、eventTypeSubscription の場合のみ表示されます。このフィールドには、サブスクリプション設定に関する情報が含まれています。

Mail オブジェクト

各メール送信イベントレコードには、mail オブジェクトの元のメールに関する情報が含まれています。mail オブジェクトについての情報を含む JSON オブジェクトには次のフィールドが含まれます。

フィールド名 説明

timestamp

メッセージが送信された、ISO8601 形式 (YYYY-MM-DDThh:mm:ss.sZ) の日時。

messageId

Amazon SES がメッセージに割り当てた一意の ID。ユーザーがメッセージを送信すると、Amazon SES がこの値を返します。

注記

このメッセージ ID は Amazon SES によって割り当てられます。元の E メールのメッセージ ID は、mail オブジェクトの headers および commonHeaders フィールドにあります。

source

メッセージの送信元の E メールアドレス (エンベロープ MAIL FROM アドレス)。

sourceArn

E メールの送信に使用された ID の Amazon リソースネーム (ARN)。送信承認の場合、sourceArn は、代理送信者が E メールの送信に使用することをアイデンティティ所有者により承認されたアイデンティティの ARN です。送信承認の詳細については、「E メールの認証方法」を参照してください。

sendingAccountId

E メールの送信に使用されたアカウントの AWS アカウント ID。送信承認の場合、sendingAccountId は代理送信者のアカウント ID です。

destination

元のメールの受取人の E メールアドレスのリスト。

headersTruncated

通知でヘッダーが切り捨てられたかどうかを示す文字列。切り捨ては、ヘッダーが 10 KB を超える場合に発生します。指定できる値は true および false です。

headers

E メールの元のヘッダーの一覧。リスト内の各ヘッダーには、name フィールドと value フィールドがあります。

注記

headers フィールド内のメッセージ ID は、Amazon SES に渡した元のメッセージのものです。その後 Amazon SES がメッセージに割り当てるメッセージ ID は、mail オブジェクトの messageId フィールドのものです。

commonHeaders

E メールの元の一般的に使用されるヘッダーのマッピング。

注記

commonHeaders フィールド内のメッセージ ID は、Amazon SES が後で mail オブジェクトの messageId フィールドでメッセージに割り当てたメッセージ ID です。

tags

E メールに関連付けられたタグのリストです。

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 (Message Transfer Authority) の値です。

注記

このフィールドは、配信ステータス通知 (DSN) がバウンスにアタッチされている場合にのみ表示されます。

バウンスとなった受取人

バウンスイベントには、1 人の受信者に関するものと複数の受信者に関するものがあります。bouncedRecipients フィールドにはオブジェクトのリストが含まれ (バウンスイベントが関係する受信者ごとに 1 つのオブジェクト)、常に以下のフィールドが含まれています。

フィールド名 説明

emailAddress

受取人の E メールアドレス。DSN が利用できる場合、これが DSN の Final-Recipient フィールドの値です。

オプションで、DSN がバウンスに添付されている場合、以下のフィールドも表示される場合があります。

フィールド名 説明

action

DSN の Action フィールドの値。このフィールドには、Reporting-MTA により実行された、この受取人に対してメッセージを送信しようとした結果のアクションが示されます。

status

DSN の Status フィールドの値。これは、メッセージの配信状態を示す、受取人ごとに個別の、トランスポート独立型ステータスコードです。

diagnosticCode

ステータスコードは、Reporting-MTA により発行されます。これは、DSN の Diagnostic-Code フィールドの値です。このフィールドが DSN に存在しない場合もあります (その場合 JSON オブジェクトにも表示されません)。

バウンスのタイプ

各バウンスイベントは、以下の表に示すいずれかのタイプになります。

イベント発行システムは、Amazon SES によって再試行されなくなるハードバウンスおよびソフトバウンスのみを発行します。Permanent とマークされたバウンスを受信した場合は、対応する E メールアドレスをメーリングリストから削除する必要があります。これらは今後も送信できません。Transient バウンスは、メッセージに対してソフトバウンスが複数回発生して Amazon SES が再送を停止した場合に送信されます。最初は Transient バウンスとして返されても、将来的には同じアドレスに正常に再送できる場合があります。

bounceType bounceSubType 説明

Undetermined

Undetermined

Amazon SES はバウンスの理由を特定できませんでした。

Permanent

General

Amazon SES は、一般的なハードバウンスを受け取りました。このタイプのバウンスを受信した場合は、メーリングリストからこの受信者のメールアドレスを削除する必要があります。

Permanent

NoEmail

Amazon SES は、送信先の E メールアドレスが存在しないことが原因である永続的なハードバウンスを受け取りました。このタイプのバウンスを受信した場合は、メーリングリストからこの受信者のメールアドレスを削除する必要があります。

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 イベントに関する情報を含む JSON オブジェクトには以下のフィールドが含まれます。

フィールド名 説明

complainedRecipients

苦情を送信した可能性がある受取人に関する情報を含むリスト。

timestamp

ISP が苦情通知を送信した、ISO8601 形式 (YYYY-MM-DDThh:mm:ss.sZ) の日時。

feedbackId

苦情の一意の ID。

complaintSubType

苦情のサブタイプで、Amazon SES によって決定されます。

また、フィードバックレポートが苦情に添付されている場合、以下のフィールドが示される場合があります。

フィールド名 説明

userAgent

フィードバックレポートの User-Agent フィールドの値。これは、レポートを生成したシステムの名前とバージョンを示します。

complaintFeedbackType

ISP から受け取ったフィードバックレポートの Feedback-Type フィールドの値。これには、フィードバックのタイプが含まれます。

arrivalDate

ISO 8601 形式のフィードバックレポートの Arrival-Date または Received-Date フィールドの値 (YYYY-MM-DDThh:mm:ss.sZ)。このフィールドがレポートにない場合もあります (その場合、JSON オブジェクトにも表示されません)。

苦情を申告した受取人

complainedRecipients フィールドには、苦情の送信元と思われる受信者のリストが含まれます。

重要

ほとんどの ISP は、苦情の通知に基づいて苦情を送信した受信者の E メールアドレスを編集するため、このリストは、元のメッセージの受信者と苦情を送信した ISP に基づいて想定される苦情送信元の受信者に関する情報を示します。Amazon SES では、この受信者のリストを確認するために元のメッセージを参照します。

このリストの JSON オブジェクトには以下のフィールドが含まれます。

フィールド名 説明

emailAddress

受取人の E メールアドレス。

苦情のタイプ

complaintFeedbackType フィールドには以下の苦情のタイプが示されます (Internet Assigned Numbers Authority ウェブサイト に基づいて、報告する ISP により割り当てられます)。

フィールド名 説明

abuse

迷惑メールまたはその他のメール不正使用。

auth-failure

E メールの認証障害レポート

fraud

なんらかの詐欺またはフィッシング行為を示します。

not-spam

レポートの提供者がこのメッセージをスパムではないと見なしていることを示します。このタイプは、誤ってスパムとしてタグ付けまたは分類されたメッセージを修正するために使用される場合があります。

other

その他の登録されたタイプに該当しないフィードバックを示します。

virus

元のメッセージでウイルスが見つかったことを示します。

配信オブジェクト

Delivery イベントに関する情報を含む JSON オブジェクトには常に以下のフィールドが含まれます。

フィールド名 説明

timestamp

Amazon SES が受信者のメールサーバーにメールを配信した、ISO8601 形式 (YYYY-MM-DDThh:mm:ss.sZ) の日時。

processingTimeMillis

Amazon SES で送信者からリクエストを受理して、Amazon SES が受取人のメールサーバーにメッセージを渡すまでのミリ秒単位の時間。

recipients

配信イベントの適用対象となる受信者のリスト。

smtpResponse

Amazon SES から E メールを受け取ったリモート ISP による SMTP 応答メッセージ。このメッセージは、E メール、受信メールサーバー、または受信する ISP によって異なります。

reportingMTA

メールを送信する Amazon SES メールサーバーのホスト名。

Send オブジェクト

send イベントに関する情報を含む JSON オブジェクトは常に空です。

Reject オブジェクト

Reject イベントに関する情報を含む JSON オブジェクトには常に以下のフィールドが含まれます。

フィールド名 説明

reason

メールが拒否された理由。このフィールドの唯一の値は Bad content です。E メール内のウイルスを Amazon SES で検出したことを意味します。メッセージが拒否されると、Amazon SES はメッセージの処理を停止し、そのメッセージを受信者のメールサーバーに配信しようとしません。

Open オブジェクト

Open イベントに関する情報を含む JSON オブジェクトには、常に以下のフィールドが含まれます。

フィールド名 説明

ipAddress

受信側の IP アドレス

timestamp

ISO8601 形式 (YYYY-MM-DDThh:mm:ss.sZ) で表示された、オープンイベントが発生日時。

userAgent

受取人がメールを開くために使用したしたデバイスまたは E メールクライアントのユーザーエージェント。

Click オブジェクト

Click イベントに関する情報を含む JSON オブジェクトには、常に以下のフィールドが含まれます。

フィールド名 説明

ipAddress

受信側の IP アドレス

timestamp

ISO8601 形式 (YYYY-MM-DDThh:mm:ss.sZ) で表示された、クリックイベントが発生日時。

userAgent

受信者が E メールのリンクをクリックするために使用したクライアントのユーザーエージェント。

link

受取人がクリックしたリンクの URL。

linkTags

ses:tags 属性を使用してリンクに追加されたタグのリスト。メール内のリンクにタグを追加する方法については、「Amazon SES E メール送信メトリクスに関するよくある質問」の「Q5. リンクに一意の識別子をタグ付けできますか?」を参照してください。

レンダリング失敗オブジェクト

Rendering Failure イベントに関する情報を含む JSON オブジェクトには以下のフィールドが含まれます。

フィールド名 説明

templateName

E メールの送信に使用されるテンプレートの名前。

errorMessage

レンダリング失敗に関する詳細情報を提供するメッセージ。

DeliveryDelay オブジェクト

DeliveryDelay イベントに関する情報を含む JSON オブジェクトには以下のフィールドが含まれます。

フィールド名 説明

delayType

遅延のタイプ。可能な値は以下のとおりです。

  • InternalFailure – 内部 Amazon SES の問題により、メッセージが遅れました。

  • 一般 – SMTP 通信中に一般的なエラーが発生しました。

  • MailboxFull – 受信者のメールボックスがいっぱいで、追加のメッセージを受信できません。

  • SpamDetected – 受信者のメールサーバーが、お客様のアカウントから大量の未承諾メールを検出しました。

  • RecipientServerError — 受信者の E メールサーバーで一時的な問題が発生し、メッセージの配信が妨げられています。

  • IPFailure – メッセージを送信する IP アドレスは、受信者の E メールプロバイダーによってブロックまたはスロットリングされています。

  • TransientCommunicationFailure — 受信者の E メールプロバイダーとの SMTP 会話中に、一時的な通信障害が発生しました。

  • BYOIPHostNameLookupUnavailable – Amazon SES は IP アドレスの DNS ホスト名を検索できませんでした。このタイプの遅延は、Bring Your Own IP を使用する場合にのみ発生します。

  • 未確定 – Amazon SES は配信遅延の理由を判断できませんでした。

  • SendingDeferral — Amazon SES は、メッセージを内部的に延期することが適切であると判断しました。

delayedRecipients

E メールの受取人に関する情報を含むオブジェクト。

expirationTime

Amazon SES がメッセージの配信を停止する日時。この値は ISO 8601 形式で表示されます。

reportingMTA

遅延を報告したメッセージ転送エージェント (MTA) の IP アドレス。

timestamp

遅延が発生した日時。ISO 8601 形式で表示されます。

遅延受取人

delayedRecipients オブジェクトには、以下の値が含まれています。

フィールド名 説明

emailAddress

メッセージの配信が遅れる原因となった E メールアドレス。

status

配信遅延に関連付けられた SMTP ステータスコード。

diagnosticCode

受信側メッセージ転送エージェント (MTA) によって提供される診断コード。

サブスクリプションオブジェクト

Subscription イベントに関する情報を含む JSON オブジェクトには以下のフィールドが含まれます。

フィールド名 説明

contactList

連絡先が含まれているリストの名前。

timestamp

ISP がサブスクリプション通知を送信した、ISO8601 形式 (YYYY-MM-DDThh:mm:ss.sZ) の日時。

source

メッセージの送信元の E メールアドレス (エンベロープ MAIL FROM アドレス)。

newTopicPreferences

連絡先リスト内のすべてのトピックのサブスクリプションステータスを指定する JSON データ構造 (マップ) です。変更後のステータス (連絡先がサブスクライブ済み、またはサブスクライブ解除) を示します。

oldTopicPreferences

連絡先リスト内のすべてのトピックのサブスクリプションステータスを指定する JSON データ構造 (マップ)。変更前のステータス (連絡先がサブスクライブ済みまたは未サブスクライブ解除) を示します。

新旧トピックの設定

newTopicPreferences および oldTopicPreferences オブジェクトには、以下の値が含まれています。

フィールド名 説明

unsubscribeAll

連絡先リストのすべてのトピックから、連絡先がサブスクライブ解除されているかどうかを指定します。

topicSubscriptionStatus

topicName フィールドでトピックを指定し、 subscriptionStatusフィールドでサブスクリプションステータス (OptIn または OptOut) をマッピングします。

topicDefaultSubscriptionStatus

topicName フィールドでトピックを指定し、 subscriptionStatusフィールドでサブスクリプションステータス (OptIn または OptOut) をマッピングします。