

Hinweis zum Ende des Supports: Am 31. März 2027 AWS wird der Support für Amazon WorkMail eingestellt. Nach dem 31. März 2027 können Sie nicht mehr auf die WorkMail Amazon-Konsole oder WorkMail Amazon-Ressourcen zugreifen. Weitere Informationen finden Sie unter [ WorkMail Ende des Supports von Amazon](https://docs.aws.amazon.com/workmail/latest/adminguide/workmail-end-of-support.html). 

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
<a name="lambda"></a>

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](lambda-content.md). Weitere Informationen zu E-Mail-Ereignissen finden Sie unter [Lambda-Ereignisdaten](#lambda-data).

Weitere Informationen über E-Mail-Flussregeln für ein- und ausgehenden E-Mail-Verkehr finden Sie unter [E-Mail-Fluss verwalten](email-flows.md). Weitere Informationen zu Lambda finden Sie im [https://docs.aws.amazon.com/lambda/latest/dg/welcome.html](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html).

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

## Erste Schritte mit AWS Lambda für Amazon WorkMail
<a name="start-lambda"></a>

Um mit der Nutzung AWS Lambda mit Amazon zu beginnen WorkMail, empfehlen wir, die [ WorkMail Hello World Lambda-Funktion](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:489970191081:applications/workmail-hello-world-python) 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-templates](https://github.com/aws-samples/amazon-workmail-lambda-templates)Repository 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_NAME`Ersetzen Sie durch den Namen Ihrer Lambda-Funktion.
+ `REGION`Ersetzen Sie durch Ihre Amazon WorkMail AWS-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_ID`Ersetzen 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 [https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html).

## Konfiguration synchroner **Run-Lambda-Regeln**
<a name="synchronous-rules"></a>

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](create-email-rules.md).

Um die Erstellung der synchronen Regel abzuschließen, fügen Sie den Lambda Amazon Resource Name (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 allRecipients, die in der Lambda-Antwort nicht enthalten sind, wenn das **AllRecipients-Flag** 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 **\$1** Zielbedingung.

## Lambda-Ereignisdaten
<a name="lambda-data"></a>

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
}
```

Das Ereignis-JSON enthält die folgenden Daten.

**summaryVersion**  
Die Versionsnummer für`LambdaEventData`. 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 Auftrag eines anderen Benutzers gesendet hat, gibt das Feld **mailFrom** die E-Mail-Adresse des Benutzers zurück, in dessen Auftrag die E-Mail-Nachricht gesendet wurde, und 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**.  
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 das Amazon WorkMail Message Flow SDK verwendet wird.

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

**flowDirection**  
Gibt die Richtung des E-Mail-Flusses an, entweder **EINGEHEND** oder **AUSGEHEND**.

**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**
<a name="synchronous-schema"></a>

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            
      }
    ]
}
```

Das Antwort-JSON enthält die folgenden Daten.

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

**type**  
Der Aktionstyp. Aktionstypen werden für asynchrone **Run Lambda-Aktionen** nicht zurückgegeben.  
Zu den Aktionstypen für eingehende Regeln gehören **BOUNCE**, **DROP**, **DEFAULT**, **BYPASS\$1SPAM\$1CHECK** und **MOVE\$1TO\$1JUNK**. Weitere Informationen finden Sie unter [Regelaktionen für eingehende E-Mails](email-flows.md#email-flows-rule-actions).  
Zu den Aktionstypen für ausgehende Regeln gehören **BOUNCE**, **DROP** und **DEFAULT**. Weitere Informationen finden Sie unter [Regelaktionen für ausgehende E-Mails](email-flows.md#email-flows-rule-outbound). 

**Parameter**  
Zusätzliche Aktionsparameter. Unterstützt für den **BOUNCE**-Aktionstyp als JSON-Objekt mit dem Schlüssel **bounceMessage** und dem Wert **string**. 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 **allRecipients** für eine Aktion „true“ ist.  
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 **BCC** hinzugefügt.

**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**
<a name="synchronous-limits"></a>

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**“
<a name="synchronous-failures"></a>

**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**](#synchronous-rules).

## Beispiel für synchrone **Run-Lambda-Antworten**
<a name="synchronous-responses"></a>

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

**Example : 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"
        ]
      }
    ]
}
```

**Example : 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
      }
    ]
}
```

**Example : 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 für die Erstellung von Lambda-Funktionen für **Run Lambda-Aktionen finden Sie unter [Amazon WorkMail Lambda-Vorlagen](https://github.com/aws-samples/amazon-workmail-lambda-templates)**.

## Weitere Informationen zur Verwendung von Lambda mit Amazon WorkMail
<a name="lambda-more"></a>

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](lambda-content.md). 