Konfiguration AWS Lambda für Amazon WorkMail - Amazon WorkMail

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.

Konfiguration AWS Lambda für Amazon WorkMail

Verwenden Sie die Aktion Lambda ausführen in den Regeln für den Fluss eingehender und ausgehender E-Mails, um E-Mail-Nachrichten, die den Regeln entsprechen, zur Verarbeitung an eine AWS Lambda Funktion weiterzuleiten.

Wählen Sie aus den folgenden Konfigurationen für eine Aktion „Lambda ausführen“ in Amazon WorkMail.

Lambda-Konfiguration für synchrone Ausführung

E-Mail-Nachrichten, die der Flussregel entsprechen, werden zur Verarbeitung an eine Lambda-Funktion übergeben, bevor sie gesendet oder zugestellt werden. Verwenden Sie diese Konfiguration, um E-Mail-Inhalte zu ändern. Sie können auch den eingehenden oder ausgehenden E-Mail-Fluss für verschiedene Anwendungsfälle steuern. Beispielsweise kann eine an eine Lambda-Funktion übergebene Regel die Zustellung vertraulicher E-Mail-Nachrichten blockieren, Anlagen entfernen oder Haftungsausschlüsse hinzufügen.

Lambda-Konfiguration für asynchrone Ausführung

E-Mail-Nachrichten, die der Flow-Regel entsprechen, werden an eine Lambda-Funktion zur Verarbeitung übergeben, während sie gesendet oder zugestellt werden. Diese Konfiguration hat keine Auswirkungen auf die E-Mail-Zustellung und wird für Aufgaben wie das Sammeln von Metriken für eingehende oder ausgehende E-Mail-Nachrichten verwendet.

Unabhängig davon, ob Sie sich für eine synchrone oder asynchrone Konfiguration entscheiden, enthält das an Ihre Lambda-Funktion übergebene Ereignisobjekt Metadaten für das eingehende oder ausgehende E-Mail-Ereignis. Sie können auch die Nachrichten-ID in den Metadaten verwenden, um auf den vollständigen Inhalt der E-Mail-Nachricht zuzugreifen. Weitere Informationen finden Sie unter Nachrichteninhalt wird abgerufen mit AWS Lambda. Weitere Informationen zu E-Mail-Ereignissen finden Sie unter Lambda-Ereignisdaten.

Weitere Informationen über E-Mail-Flussregeln für ein- und ausgehenden E-Mail-Verkehr finden Sie unter E-Mail-Fluss verwalten. Weitere Informationen zu Lambda finden Sie im AWS Lambda Entwicklerhandbuch.

Anmerkung

Derzeit verweisen Lambda-E-Mail-Flussregeln nur auf Lambda-Funktionen in derselben AWS Region und AWS-Konto in der WorkMail Amazon-Organisation, die konfiguriert wird.

Erste Schritte mit AWS Lambda für Amazon WorkMail

Um mit der Nutzung AWS Lambda mit Amazon zu beginnen WorkMail, empfehlen wir, die WorkMail Hello World Lambda-Funktion von AWS Serverless Application Repository auf Ihrem Konto bereitzustellen. Die Funktion verfügt über alle erforderlichen Ressourcen und die für Sie konfigurierten Berechtigungen. Weitere Beispiele finden Sie im amazon-workmail-lambda-templatesRepository unter GitHub.

Wenn Sie Ihre eigene Lambda-Funktion erstellen möchten, müssen Sie Berechtigungen mit der AWS Command Line Interface (AWS CLI) konfigurieren. Gehen Sie im folgenden Beispielbefehl wie folgt vor:

  • MY_FUNCTION_NAMEErsetzen Sie durch den Namen Ihrer Lambda-Funktion.

  • Ersetze es REGION durch deine WorkMail AWS Amazon-Region. Zu den verfügbaren WorkMail Amazon-Regionen gehören us-east-1 (USA Ost (Nord-Virginia)), us-west-2 (USA West (Oregon)) und eu-west-1 (Europa (Irland)).

  • Ersetzen Sie es AWS_ACCOUNT_ID durch Ihre 12-stellige AWS-Konto ID.

  • WORKMAIL_ORGANIZATION_IDErsetzen Sie es durch Ihre WorkMail Amazon-Organisations-ID. Sie finden es auf der Karte für Ihre Organisation auf der Seite Organizations.

aws --region REGION lambda add-permission --function-name MY_FUNCTION_NAME --statement-id AllowWorkMail --action "lambda:InvokeFunction" --principal workmail.REGION.amazonaws.com --source-arn arn:aws:workmail:REGION:AWS_ACCOUNT_ID:organization/WORKMAIL_ORGANIZATION_ID

Weitere Informationen zur Verwendung von AWS CLI finden Sie im AWS Command Line Interface Benutzerhandbuch.

Konfiguration synchroner Run-Lambda-Regeln

Um eine synchrone Lambda-Regel auszuführen zu konfigurieren, erstellen Sie eine E-Mail-Flussregel mit der Aktion Lambda ausführen und aktivieren Sie das Kontrollkästchen Synchron ausführen. Weitere Informationen zum Erstellen von Nachrichtenflussregeln finden Sie unter Regeln für den E-Mail-Fluss erstellen.

Um die Erstellung der synchronen Regel abzuschließen, fügen Sie den Lambda-Amazon-Ressourcennamen (ARN) hinzu und konfigurieren Sie die folgenden Optionen.

Fallback-Aktion

Die Aktion, die Amazon WorkMail anwendet, wenn die Lambda-Funktion nicht ausgeführt werden kann. Diese Aktion gilt auch für alle Empfänger, die in der Lambda-Antwort weggelassen werden, wenn das allRecipientsFlag nicht gesetzt ist. Die Fallback-Aktion kann keine weitere Lambda-Aktion sein.

Regel-Timeout (in Minuten)

Der Zeitraum, in dem die Lambda-Funktion erneut versucht wird, falls Amazon sie WorkMail nicht aufrufen kann. Die Fallback-Aktion wird am Ende dieses Zeitraums angewendet.

Anmerkung

Lambda-Regeln für synchronen Lauf unterstützen nur die * Zielbedingung.

Lambda-Ereignisdaten

Die Lambda-Funktion wird mithilfe der folgenden Ereignisdaten ausgelöst. Die Darstellung der Daten hängt davon ab, welche Programmiersprache für die Lambda-Funktion verwendet wird.

{ "summaryVersion": "2018-10-10", "envelope": { "mailFrom" : { "address" : "from@example.com" }, "recipients" : [ { "address" : "recipient1@example.com" }, { "address" : "recipient2@example.com" } ] }, "sender" : { "address" : "sender@example.com" }, "subject" : "Hello From Amazon WorkMail!", "messageId": "00000000-0000-0000-0000-000000000000", "invocationId": "00000000000000000000000000000000", "flowDirection": "INBOUND", "truncated": false }

Die Veranstaltung JSON umfasst die folgenden Daten.

summaryVersion

Die Versionsnummer fürLambdaEventData. Dies wird nur aktualisiert, wenn Sie eine rückwärtsinkompatible Änderung in LambdaEventData vornehmen.

envelope

Der Umschlag der E-Mail-Nachricht, der Folgendes umfasst: Felder.

mailFrom

Die Adresse für Von. Dies ist in der Regel die E-Mail-Adresse des Benutzers, der die E-Mail-Nachricht gesendet hat. Wenn der Benutzer die E-Mail-Nachricht als ein anderer Benutzer oder im Namen eines anderen Benutzers gesendet hat, gibt das mailFromFeld die E-Mail-Adresse des Benutzers zurück, in dessen Namen die E-Mail-Nachricht gesendet wurde, nicht die E-Mail-Adresse des tatsächlichen Absenders.

recipients

Eine Liste der Empfänger-E-Mail-Adressen. Amazon unterscheidet WorkMail nicht zwischen To, CC oder BCC.

Anmerkung

Bei Regeln für den E-Mail-Verkehr für eingehende E-Mails enthält diese Liste Empfänger in allen Domains der WorkMail Amazon-Organisation, in der Sie die Regel erstellen. Die Lambda-Funktion wird für jede SMTP Konversation des Absenders separat aufgerufen, und das Empfängerfeld listet die Empfänger dieser SMTP Konversation auf. Empfänger mit externen Domänen werden nicht eingeschlossen.

sender

Die E-Mail-Adresse des Benutzers, der die E-Mail-Nachricht im Namen eines anderen Benutzers gesendet hat. Dieses Feld wird nur festgelegt, wenn eine E-Mail-Nachricht im Namen eines anderen Benutzers gesendet wird.

subject

Die E-Mail-Betreffzeile. Wird abgeschnitten, wenn die Beschränkung auf 256 Zeichen überschritten wird.

messageId

Eine eindeutige ID, die für den Zugriff auf den gesamten Inhalt der E-Mail-Nachricht verwendet wird, wenn der Amazon WorkMail Message Flow verwendet wirdSDK.

invocationId

Die ID für einen eindeutigen Lambda-Aufruf. Diese ID bleibt gleich, wenn eine Lambda-Funktion mehrmals für dieselbe LambdaEventDataaufgerufen wird. Verwenden Sie diese Option, um Wiederholungen zu erkennen und Duplizierungen zu vermeiden.

flowDirection

Gibt die Richtung des E-Mail-Flusses an, entweder INBOUNDoder OUTBOUND.

truncated

Gilt für die Nutzlastgröße und nicht für die Länge der Betreffzeile. Bei dem Wert true überschreitet die Nutzlast das 128-KB-Limit, sodass die Liste von Empfängern abgeschnitten wird, um dem Limit zu entsprechen.

Lambda-Antwortschema für synchrone Ausführung

Wenn eine E-Mail-Flussregel mit einer synchronen Aktion „Lambda ausführen“ mit einer eingehenden oder ausgehenden E-Mail-Nachricht übereinstimmt, WorkMail ruft Amazon die konfigurierte Lambda-Funktion auf und wartet auf die Antwort, bevor Maßnahmen für die E-Mail-Nachricht ergriffen werden. Die Lambda-Funktion gibt eine Antwort gemäß einem vordefinierten Schema zurück, das die Aktionen, Aktionstypen, anwendbaren Parameter und Empfänger auflistet, für die die Aktion gilt.

Das folgende Beispiel zeigt eine synchrone Run Lambda-Antwort. Die Antworten variieren je nach der für die Lambda-Funktion verwendeten Programmiersprache.

{ "actions": [ { "action" : { "type": "string", "parameters": { various } }, "recipients": [list of strings], "allRecipients": boolean } ] }

Die Antwort JSON enthält die folgenden Daten.

action

Die Aktion, die für die Empfänger ausgeführt werden soll.

Typ

Der Aktionstyp. Aktionstypen werden für asynchrone Run Lambda-Aktionen nicht zurückgegeben.

Zu den Aktionstypen für eingehende Regeln gehören BOUNCE,, DROPDEFAULT, BYPASS_ _ und SPAM _TO_ CHECK. MOVE JUNK Weitere Informationen finden Sie unter Regelaktionen für eingehende E-Mails.

Zu den Aktionstypen für ausgehende Regeln gehören BOUNCE, und. DROPDEFAULT Weitere Informationen finden Sie unter Regelaktionen für ausgehende E-Mails.

Parameter

Zusätzliche Aktionsparameter. Wird für den BOUNCEAktionstyp als JSON Objekt mit der Schlüssel bounceMessage- und Wertzeichenfolge unterstützt. Diese Unzustellbarkeitsnachricht wird verwendet, um die Unzustellbarkeits-E-Mail-Nachricht zu erstellen.

recipients

Liste der E-Mail-Adressen, für die die Aktion durchgeführt werden soll. Sie können der Antwort neue Empfänger hinzufügen, auch wenn sie nicht in der ursprünglichen Empfängerliste enthalten waren. Dieses Feld ist nicht erforderlich, wenn allRecipientses für eine Aktion wahr ist.

Anmerkung

Wenn eine Lambda-Aktion für eingehende E-Mails aufgerufen wird, können Sie nur neue Empfänger hinzufügen, die aus Ihrer Organisation stammen. Die neuen Empfänger werden der Antwort als hinzugefügt. BCC

allRecipients

Wenn wahr, wird die Aktion auf alle Empfänger angewendet, die keiner anderen spezifischen Aktion in der Lambda-Antwort unterliegen.

Limits für Lambda-Aktionen bei synchroner Ausführung

Die folgenden Beschränkungen gelten, wenn Amazon Lambda-Funktionen für synchrone Run Lambda-Aktionen WorkMail aufruft:

  • Lambda-Funktionen müssen innerhalb von 15 Sekunden antworten oder als fehlgeschlagene Aufrufe behandelt werden.

    Anmerkung

    Das System wiederholt den Aufruf für das von Ihnen angegebene Regel-Timeout-Intervall.

  • Lambda-Funktionsantworten bis zu 256 KB sind zulässig.

  • Bis zu 10 eindeutige Aktionen sind in der Antwort zulässig. Aktionen, die größer als 10 sind, unterliegen der konfigurierten Fallback-Aktion.

  • Für ausgehende Lambda-Funktionen sind bis zu 500 Empfänger zulässig.

  • Der maximale Wert für Regel-Timeout beträgt 240 Minuten. Wenn der Mindestwert 0 konfiguriert ist, gibt es keine erneuten Versuche, bevor Amazon die Fallback-Aktion WorkMail anwendet.

Fehler bei der Aktion „Synchronous Run Lambda

Wenn Amazon Ihre Lambda-Funktion aufgrund eines Fehlers, einer ungültigen Antwort oder eines Lambda-Timeouts nicht aufrufen WorkMail kann, WorkMail wiederholt Amazon den Aufruf mit einem exponentiellen Backoff, der die Verarbeitungsrate verringert, bis der Regel-Timeout-Zeitraum abgelaufen ist. Anschließend wird die Fallback-Aktion auf alle Empfänger der E-Mail-Nachricht angewendet. Weitere Informationen finden Sie unter Konfiguration synchroner Run-Lambda-Regeln.

Beispiel für synchrone Run-Lambda-Antworten

Die folgenden Beispiele veranschaulichen die Struktur gängiger synchroner Run-Lambda-Antworten.

Beispiel : Entfernen angegebene Empfänger aus einer E-Mail-Nachricht

Das folgende Beispiel zeigt die Struktur einer synchronen Run Lambda-Antwort zum Entfernen von Empfängern aus einer E-Mail-Nachricht.

{ "actions": [ { "action": { "type": "DEFAULT" }, "allRecipients": true }, { "action": { "type": "DROP" }, "recipients": [ "drop-recipient@example.com" ] } ] }
Beispiel : Bounce mit einer benutzerdefinierten E-Mail-Nachricht

Das folgende Beispiel zeigt die Struktur einer synchronen Run Lambda-Antwort für das Bouncing mit einer benutzerdefinierten E-Mail-Nachricht.

{ "actions" : [ { "action" : { "type": 'BOUNCE', "parameters": { "bounceMessage" : "Email in breach of company policy." } }, "allRecipients": true } ] }
Beispiel : Hinzufügen von Empfängern zu einer E-Mail-Nachricht

Das folgende Beispiel zeigt die Struktur einer synchronen Run Lambda-Antwort zum Hinzufügen von Empfängern zur E-Mail-Nachricht. Dadurch werden die Felder An oder CC der E-Mail-Nachricht nicht aktualisiert.

{ "actions": [ { "action": { "type": "DEFAULT" }, "recipients": [ "new-recipient@example.com" ] }, { "action": { "type": "DEFAULT" }, "allRecipients": true } ] }

Weitere Codebeispiele, die Sie beim Erstellen von Lambda-Funktionen für Run Lambda-Aktionen verwenden können, finden Sie unter Amazon WorkMail Lambda-Vorlagen.

Weitere Informationen zur Verwendung von Lambda mit Amazon WorkMail

Sie können auch auf den vollständigen Inhalt der E-Mail-Nachricht zugreifen, die die Lambda-Funktion auslöst. Weitere Informationen finden Sie unter Nachrichteninhalt wird abgerufen mit AWS Lambda.