Überwachung von SES-Ereignissen mit Amazon EventBridge - Amazon Simple Email Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Überwachung von SES-Ereignissen mit Amazon EventBridge

EventBridge ist ein serverloser Dienst, der Ereignisse verwendet, um Anwendungskomponenten miteinander zu verbinden, sodass Sie leichter skalierbare, ereignisgesteuerte Anwendungen erstellen können. Bei der ereignisgesteuerten Architektur werden lose gekoppelte Softwaresysteme entwickelt, die zusammenarbeiten, indem sie Ereignisse senden und darauf reagieren. Bei Ereignissen handelt es sich um Nachrichten im JSON-Format, die in der Regel eine Änderung einer Ressource oder Umgebung oder ein anderes Verwaltungsereignis darstellen.

Bestimmte SES-Funktionen generieren Ereignisse, die Sie bei der Erstellung eines Ereignisziels definieren, und senden sie an den EventBridge Standard-Event-Bus. Ein Event Bus ist ein Router, der Ereignisse empfängt und sie an null oder mehr Ziele weiterleitet. Regeln, die Sie dem Event Bus zuordnen, werten die eintreffenden Ereignisse aus. Bei jeder Regel wird geprüft, ob ein Ereignis dem Muster der Regel entspricht. Wenn das Ereignis übereinstimmt, wird das Ereignis an die angegebenen Ziele EventBridge gesendet.

SES sendet Ereignisse, EventBridge wenn ein Feature einen Statuswechsel oder eine Statusaktualisierung erfährt. Sie können EventBridge Regeln verwenden, um Ereignisse an Ihre definierten Ziele weiterzuleiten. Diese Ereignisse werden auf Grundlage einer optimalen Leistung übermittelt und können in falscher Reihenfolge geliefert werden.

SES-Ereignisse

Die folgenden Ereignisse werden von SES-Funktionen generiert und an den standardmäßigen Event-Bus-Eingang gesendet EventBridge. Weitere Informationen, einschließlich detaillierter Daten für jeden Ereignistyp, finden Sie unterReferenz zu SES-Ereignisschemas.

Veranstaltungen für Virtual Deliverability Manager-Berater
Ereignistyp Beschreibung

Empfehlungsstatus des Beraters: Offen

Ein Ereignis, das immer dann generiert wird, wenn eine neue Empfehlung im Virtual-Deliverability-Manager-Berater geöffnet wird.

Empfehlungsstatus des Beraters: Gelöst

Ein Ereignis, das immer dann generiert wird, wenn eine Empfehlung im Virtual-Deliverability-Manager-Berater gelöst wird.

Ereignisse beim Senden von SES-E-Mails
Ereignistyp Beschreibung

E-Mail wurde zurückgeschickt

Ein harter Bounce, bei dem der E-Mail-Server des Empfängers die E-Mail dauerhaft zurückgewiesen hat. (Soft bounces (Temporäre Unzustellbarkeiten) werden nur dann aufgenommen, wenn SES über einen bestimmten Zeitraum vergeblich versucht hat, die E-Mail zuzustellen.)

E-Mail angeklickt

Der Empfänger hat auf einen oder mehrere Links in der E-Mail geklickt.

E-Mail-Beschwerde erhalten

Die E-Mail wurde erfolgreich an den E-Mail-Server des Empfängers zugestellt, aber der Empfänger hat sie als Spam markiert.

E-Mail zugestellt

SES hat die E-Mail erfolgreich an den Mailserver des Empfängers zugestellt.

E-Mail-Zustellung verzögert

Die E-Mail konnte nicht an den E-Mail-Server des Empfängers zugestellt werden, da ein vorübergehendes Problem aufgetreten ist. Verzögerungen bei der Zustellung können, z. B. auftreten, wenn der Posteingang des Empfängers voll ist oder der empfangende E-Mail-Server ein vorübergehendes Problem aufweist.

E-Mail geöffnet

Der Empfänger hat die Nachricht erhalten und sie in seinem E-Mail-Client geöffnet.

E-Mail zurückgewiesen

SES akzeptierte die E-Mail, stellte jedoch fest, dass sie einen Virus enthielt, und versuchte nicht, sie an den E-Mail-Server des Empfängers zuzustellen.

Das Rendern der E-Mail ist fehlgeschlagen

Die E-Mail wurde aufgrund eines Problems beim Rendern der Vorlage nicht gesendet. Dieser Ereignistyp kann auftreten, wenn Vorlagendaten fehlen oder die Vorlagenparameter nicht mit den Daten übereinstimmen. Dieser Ereignistyp tritt nur auf, wenn Sie eine E-Mail-Vorlage mithilfe der SendTemplatedEmail- oder SendBulkTemplatedEmail-API-Operationen senden.

E-Mail gesendet

Die Sendeanfrage war erfolgreich und SES wird versuchen, die Nachricht an den Mailserver des Empfängers zu senden. (Wenn eine Unterdrückung auf Kontoebene oder eine globale Unterdrückung verwendet wird, zählt SES sie weiterhin als Senden, aber die Zustellung wird unterdrückt.)

E-Mail abonniert

Die E-Mail wurde erfolgreich zugestellt, aber der Empfänger hat die Abonnementeinstellungen aktualisiert, indem er List-Unsubscribe in den E-Mail-Header oder auf den Unsubscribe Link in der Fußzeile geklickt hat.

Referenz zu SES-Ereignisschemas

Alle Ereignisse von AWS Diensten haben einen gemeinsamen Satz von Feldern, die Metadaten über das Ereignis enthalten, z. B. den AWS Dienst, der die Quelle des Ereignisses ist, den Zeitpunkt, zu dem das Ereignis generiert wurde, das Konto und die Region, in der das Ereignis stattgefunden hat, und andere. Definitionen dieser allgemeinen Felder finden Sie unter Referenz zur Ereignisstruktur im EventBridge Benutzerhandbuch.

Darüber hinaus weist jedes Ereignis ein detail-Feld auf, das spezifische Daten für das betreffende Ereignis enthält. In der folgenden Referenz werden die Detailfelder für die verschiedenen SES-Ereignisse definiert.

Bei der EventBridge Auswahl und Verwaltung von SES-Ereignissen ist es hilfreich, Folgendes zu beachten:

  • Das Feld source ist für alle Ereignisse aus SES auf aws.ses eingestellt.

  • Das Feld detail-type gibt den Ereignistyp an. Die Tabelle mit den Ereignistypen finden Sie unterSES-Ereignisse.

  • Das Feld detail enthält die Daten, die für das betreffende Ereignis spezifisch sind.

    Bei einigen Ereignistypen, z. B. denen für Virtual Deliverability Manager, ist das Detailfeld eine ziemlich vereinfachte Datenzeichenfolge, die aus einer endlichen Menge statischer Werte aufgefüllt wird. Umgekehrt ist das Detailfeld für E-Mail-Versandereignisse komplexer, da es aus vielen Detailunterfeldern bestehen kann, bei denen es sich um eine Kombination aus statischen und dynamischen Werten handelt, z. B. dem Zeitstempel, zu dem eine E-Mail gesendet wurde, der Empfängeradresse und vielen anderen E-Mail-Attributen.

Schema des Status des Virtual-Deliverability-Manager-Beraters

Die folgende Schemareferenz definiert die Felder, die spezifisch für Virtual Deliverability Manager Advisor-Statusereignisse sind.

Definitionen für die allgemeinen Felder, die in allen Ereignisschemas vorkommen (wieversion, idaccount, und andere), finden Sie in der Referenz zur Ereignisstruktur im EventBridge Benutzerhandbuch. Die Felder source und detail-type sind in der folgenden Referenz enthalten, da sie SES-spezifische Werte für SES-Ereignisse enthalten.

source

Identifiziert den Service, aus dem das Ereignis stammt. Bei SES-Ereignissen lautet dieser Wert aws.ses.

detail-type

Identifiziert den Ereignistyp.

Die Werte für dieses Feld sind in der Virtual Deliverability Manager-Advisor-Ereignistabelle unter aufgeführt. SES-Ereignisse

detail

Ein JSON-Objekt, das Informationen zum Ereignis enthält. Der Service, der das Ereignis generiert, bestimmt den Inhalt dieses Feldes.

Die Werte für dieses Feld können sein:

  • DKIM verification is not enabled.

  • DKIM verification has failed.

  • DKIM signing key length is below 2048 bits.

  • DMARC configuration was not found.

  • DMARC configuration could not be parsed.

  • DKIM record was not found.

  • DKIM record is not aligned.

  • MAIL FROM record is not aligned.

  • SPF record was not found.

  • SPF record for Amazon SES was not found.

  • SPF all qualifier is missing.

  • An SPF configuration issue was found.

  • BIMI record not found or configured without default selector.

  • BIMI has malformed TXT record.

Beispiel: Statusereignis des Virtual-Deliverability-Manager-Beraters

Im Folgenden finden Sie ein Beispiel für ein Statusereignis des Virtual-Deliverability-Manager-Beraters für den Ereignistyp Advisor Recommendation Status Open. Der Detailereigniswert in diesem Beispiel istSPF record was not found..

{ "version": "0", "id": "abcd9999-ef33-0123-90ab-abcdef666666", "detail-type": "Advisor Recommendation Status Open", "source": "aws.ses", "account": "012345678901", "time": "2023-11-15T17:00:59Z", "region": "us-east-1", "resources": [ "arn:aws:ses:us-east-1:012345678901:identity/vdm.events-publishing.cajun.syster-games.example.com" ], "detail": { "version": "1.0.0", "data": "SPF record was not found." } }

Statusschema für den SES-E-Mail-Versand

Die folgende Schemareferenz definiert die Felder, die für SES-E-Mail-Versandstatusereignisse spezifisch sind.

Definitionen für die allgemeinen Felder, die in allen Ereignisschemas vorkommen (wieversion, idaccount, und andere), finden Sie in der Referenz zur Ereignisstruktur im EventBridge Benutzerhandbuch. Die Felder source und detail-type sind in der folgenden Referenz enthalten, da sie SES-spezifische Werte für SES-Ereignisse enthalten.

source

Identifiziert den Service, aus dem das Ereignis stammt. Bei SES-Ereignissen lautet dieser Wert aws.ses.

detail-type

Identifiziert den Ereignistyp.

Die Werte für dieses Feld sind in der Tabelle mit SES-E-Mail-Versandereignissen unter aufgeführtSES-Ereignisse.

detail

Ein JSON-Objekt, das Informationen zum Ereignis enthält. Der Service, der das Ereignis generiert, bestimmt den Inhalt dieses Feldes.

Alle möglichen Werte für dieses Feld können hier nicht aufgeführt werden, da sie aus statischen und dynamischen Werten bestehen, die durch jede einzelne E-Mail generiert werden, die zu einem bestimmten Zeitpunkt gesendet wird. Es wird jedoch ein Beispiel bereitgestellt, um Ihnen eine Vorstellung davon zu geben, welche Art von Daten dieses Feld enthalten kann. Ausführliche Beispieldaten für alle Ereignistypen beim Senden von E-Mails finden Sie in der EventBridge Sandbox, sieheGeben Sie ein Beispielereignis an in EventBridge.

Ein Beispiel für Detaildaten, die für das SES-E-Mail-Versandereignis Email Rendering Failed generiert wurden:

..., "detail": { "eventType": "Rendering Failure", "mail": { "timestamp": "2018-01-22T18:43:06.197Z", "source": "sender@example.com", "sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com", "sendingAccountId": "123456789012", "messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000", "destination": ["recipient@example.com"], "headersTruncated": false, "tags": { "ses:configuration-set": ["ConfigSet"] } }, "failure": { "errorMessage": "Attribute 'attributeName' is not present in the rendering data.", "templateName": "MyTemplate" } }
Beispiel: Ereignis zum Status des E-Mail-Versands

Im Folgenden finden Sie ein Beispiel für das vollständige Ereignis mit dem Status des E-Mail-Versands für den EreignistypEmail Rendering Failed. Der Detailereigniswert in diesem Beispiel ist eine Kombination aus statischen und dynamischen Werten, die auf dem E-Mail-Sendeereignis für eine bestimmte E-Mail basieren.

{ "version": "0", "id": "12a18625-3328-fafd-2809-a5e16004f112", "detail-type": "Email Rendering Failed", "source": "aws.ses", "account": "123456789012", "time": "2023-07-17T16:48:05Z", "region": "us-east-1", "resources": ["arn:aws:ses:us-east-1:123456789012:identity/example.com"], "detail": { "eventType": "Rendering Failure", "mail": { "timestamp": "2018-01-22T18:43:06.197Z", "source": "sender@example.com", "sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com", "sendingAccountId": "123456789012", "messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000", "destination": ["recipient@example.com"], "headersTruncated": false, "tags": { "ses:configuration-set": ["ConfigSet"] } }, "failure": { "errorMessage": "Attribute 'attributeName' is not present in the rendering data.", "templateName": "MyTemplate" } } }

Verwendung EventBridge mit SES-Ereignissen

Standardmäßig sendet SES Ereignisse an den EventBridge Standard-Event-Bus. Sie können Regeln für den Standard-Event-Bus erstellen, um bestimmte Ereignisse zu identifizieren EventBridge , die an ein oder mehrere angegebene Ziele gesendet werden sollen. Jede Regel enthält ein Ereignismuster, das EventBridge verwendet wird, um Ereignisse zuzuordnen, sobald sie auf dem Event-Bus ankommen. Wenn ein Ereignis dem Ereignismuster für eine bestimmte Regel entspricht, wird das Ereignis an das in der Regel angegebene Ziel EventBridge gesendet.

In EventBridge ist die Definition eines Ereignismusters in der Regel Teil des umfassenderen Prozesses der Erstellung einer neuen Regel oder der Bearbeitung einer vorhandenen Regel. Informationen zum Erstellen von EventBridge Regeln finden Sie im EventBridge Benutzerhandbuch unter Erstellen von EventBridge Amazon-Regeln, die auf Ereignisse reagieren.

Mithilfe der Sandbox-Funktion unter können Sie schnell ein Ereignismuster definieren und anhand eines Beispielereignisses überprüfen, ob das Muster mit den gewünschten Ereignissen übereinstimmt, ohne zuerst eine Regel erstellen oder bearbeiten zu müssen. EventBridge Ausführliche Anweisungen zur Verwendung der Sandbox finden Sie im Benutzerhandbuch unter Testen eines Ereignismusters mithilfe der EventBridge Sandbox. EventBridge

Geben Sie ein SES-Beispielereignis in der Sandbox an EventBridge

Sie können Beispielereignisse für SES-Ereignisse auswählen, um damit die erstellten Ereignismuster zu testen.

Um ein SES-Beispielereignis in der EventBridge Sandbox anzugeben
  1. Öffnen Sie die EventBridge Amazon-Konsole unter https://console.aws.amazon.com/events/.

  2. Wählen Sie im Navigationsbereich Entwicklerressourcen und dann Sandbox aus. Wählen Sie auf der Seite Sandbox die Registerkarte Ereignismuster.

  3. Wählen Sie als Quelle der Veranstaltung AWS Veranstaltungen oder EventBridge Partnerveranstaltungen aus.

  4. Wählen Sie im Bereich Beispielereignis für Typ des Beispielereignisses die Option AWS -Ereignisse aus.

  5. Scrollen Sie für Beispielereignisse nach unten zu SES und wählen Sie dann das gewünschte SES-Ereignis aus.

    EventBridge zeigt ein Beispielereignis mit all seinen Detaildaten für den Ereignistyp an.

    Sie können dieses Ereignis dann verwenden, um das Ereignismuster zu testen, das Sie im Abschnitt Ereignismuster erstellen, oder es als Grundlage für die Erstellung eigener Beispielereignisse für Mustertests verwenden, die im folgenden Abschnitt behandelt werden.

Erstellen und Testen von Ereignismustern für SES-Ereignisse

Nachdem Sie, wie im vorherigen Abschnitt erklärt, ein Beispielereignis ausgewählt haben, können Sie ein Ereignismuster erstellen und anhand des Beispielereignisses sicherstellen, dass es den gewünschten Ereignissen entspricht.

Um ein Ereignismuster zu erstellen und zu testen, das den SES-Ereignissen in der EventBridge Sandbox entspricht
  1. Öffnen Sie die EventBridge Amazon-Konsole unter https://console.aws.amazon.com/events/.

  2. Wählen Sie im Navigationsbereich Entwicklerressourcen und dann Sandbox aus. Wählen Sie auf der Seite Sandbox die Registerkarte Ereignismuster.

  3. Wählen Sie als Ereignisquelle AWS Ereignisse oder EventBridge Partnerereignisse aus und wählen Sie das Beispielereignis aus, das Sie testen möchten, wie im vorherigen Abschnitt beschrieben.

  4. Scrollen Sie nach unten zu Erstellungsmethode und wählen Sie Musterformular verwenden aus.

  5. Wählen Sie im Bereich Ereignismuster unter Ereignisquelle die Option AWS -Services aus.

  6. Wählen Sie unter AWS Service die Option SES aus.

  7. Wählen Sie unter Ereignistyp den SES-Ereignistyp aus, den Sie zuordnen möchten.

    EventBridge zeigt das minimale Ereignismuster, bestehend aus detail-type Feldern source und, an, das dem ausgewählten SES-Ereignis entspricht.

    In den beiden Beispielen entspricht das erste Ereignismuster allen Advisor Recommendation Status Resolved Ereignissen und im zweiten allen Email Bounced Ereignissen:

    { "source": ["aws.ses"], "detail-type": ["Advisor Recommendation Status Resolved"] }
    { "source": ["aws.ses"], "detail-type": ["Email Bounced"] }
  8. Um Änderungen am Ereignismuster vorzunehmen, wählen Sie Muster bearbeiten aus und nehmen Sie Ihre Änderungen im JSON-Editor vor.

    Außerdem kann die Zuordnung auf Grundlage von Werten in einem oder mehreren Feldern mit Detaildaten erfolgen. Dazu gehört die Angabe mehrerer möglicher Werte für einen Feldwert.

    Im folgenden Beispiel wurde das Detailfeld zum generierten Mindestereignismuster hinzugefügt, wobei der data Feldwert als DKIM record was not found angegeben wurde, um alle Virtual Deliverability Manager-Advisor-Ereignisse mit demselben Detailwert zu finden:

    { "source": ["aws.ses"], "detail-type": ["Advisor Recommendation Status Resolved"], "detail": { "data": ["DKIM record was not found."] } }

    In diesem Beispiel wurden Detail-Unterfelder hinzugefügt, um über Ereignisse zu berichten, die durch alle E-Mails generiert wurden, die von noreply@example.com am 05.08.2024 gesendet und zurückgesendet wurden. (Der Präfixabgleich wird hier als Teil der Inhaltsfilterung verwendet. ):

    { "source": ["aws.ses"], "detail-type": ["Email Bounced"], "detail": { "mail": { "timestamp": [{ "prefix": "2024-08-05" }], "source": ["noreply@example.com"] } } }

    Es ist wichtig, dass Sie den Abschnitt Ereignismuster im EventBridge Benutzerhandbuch lesen. Dort wird erklärt, dass der Wert für das Ereignismuster, den Sie in den JSON-Editor eingeben, von eckigen Klammern umgeben sein muss[...], da er als Array betrachtet wird. Diese und weitere Informationen zur Erstellung erweiterter Ereignismuster finden Sie ebenfalls.

  9. Um zu testen, ob Ihr Ereignismuster mit dem Beispielereignis übereinstimmt, das Sie oben im Bereich Beispielereignis angegeben haben, wählen Sie Testmuster aus. Wenn es übereinstimmt, wird unten im JSON-Editor ein grünes Banner mit der Aufschrift „Das Beispielereignis stimmte mit dem Ereignismuster überein“ angezeigt.

  10. So beheben Sie Fehler nach der Auswahl von Testmuster:

    • Wenn es JSON-bezogene Fehler gibt, wird in der Meldung der Grund angegeben, z. B. „Das Ereignismuster ist nicht gültig. Grund: „Daten“ müssen ein Objekt oder ein Array in Zeile: 5, Spalte: 14 sein.“ Um dem abzuhelfen, schließen Sie den Wert in Zeile 5 mit eckigen Klammern ein. [...]

    • Wenn es eine Diskrepanz zwischen den Werten im Beispielereignis und Ihrem Ereignismuster gibt, wird die Meldung „Das Beispielereignis stimmte nicht mit dem Ereignismuster überein“ angezeigt. Das bedeutet, dass sich ein oder mehrere Werte, die Sie testen möchten, von den Beispielwerten unterscheiden, die vom Generator für Beispielereignisse generiert wurden. Um dieses Problem zu beheben, fahren Sie mit den verbleibenden Schritten fort.

  11. Um die Beispielwerte im Beispielereignis zu ändern, um Ihr Event-Muster erfolgreich zu testen, wählen Sie im Bereich Beispielereignis im JSON-Editor die Option Kopieren aus.

  12. Wählen Sie über dem Editor das Optionsfeld neben Eigenen eingeben für den Ereignistyp Beispiel aus.

  13. Fügen Sie das Beispielereignis in den JSON-Editor ein, und ersetzen Sie für jedes Feld, das Sie in Ihrem Ereignismuster verwenden, den Wert desselben Felds so, dass er dem Wert entspricht, den Sie in Ihrem Ereignismuster angegeben haben.

  14. Scrollen Sie zurück zum Bereich Ereignismuster und wählen Sie erneut Muster testen aus. Wenn alle Werte korrekt eingegeben wurden und übereinstimmen, wird unten im JSON-Editor ein grünes Banner mit der Aufschrift „Das Beispielereignis stimmte mit dem Ereignismuster überein“ angezeigt.

Zusätzliche EventBridge Ressourcen

Weitere Informationen zur Verarbeitung und Verwaltung von Ereignissen finden Sie EventBridge in den folgenden Themen im EventBridge Amazon-Benutzerhandbuch.