

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). 

# Nachrichteninhalt wird abgerufen mit AWS Lambda
<a name="lambda-content"></a>

Nachdem Sie eine AWS Lambda Funktion zur Verwaltung von E-Mail-Flüssen für Amazon konfiguriert haben WorkMail, können Sie auf den vollständigen Inhalt der E-Mail-Nachrichten zugreifen, die mit Lambda verarbeitet werden. Weitere Informationen zu den ersten Schritten mit Lambda für Amazon finden Sie WorkMail unter[Konfiguration AWS Lambda für Amazon WorkMail](lambda.md).

Verwenden Sie die `GetRawMessageContent` Aktion in der Amazon WorkMail Message Flow API, um auf den vollständigen Inhalt von E-Mail-Nachrichten zuzugreifen. Die E-Mail-Nachrichten-ID, die beim Aufruf an Ihre Lambda-Funktion übergeben wird, sendet eine Anfrage an die API. Anschließend antwortet die API mit dem vollständigen MIME-Inhalt der E-Mail-Nachricht. Weitere Informationen finden Sie unter [Amazon WorkMail Message Flow](https://docs.aws.amazon.com/workmail/latest/APIReference/API_Operations_Amazon_WorkMail_Message_Flow.html) in der *Amazon WorkMail API-Referenz*.

Das folgende Beispiel zeigt, wie eine Lambda-Funktion, die die Python-Laufzeitumgebung verwendet, den vollständigen Nachrichteninhalt abrufen kann.

**Tipp**  
Wenn Sie zunächst die Amazon 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) über Ihr Konto bereitstellen, erstellt das System in Ihrem Konto eine Lambda-Funktion mit allen erforderlichen Ressourcen und Berechtigungen. AWS Serverless Application Repository Anschließend können Sie je nach Anwendungsfall Ihre Geschäftslogik zur Lambda-Funktion hinzufügen.

```
import boto3
import email
import os

def email_handler(event, context):
    workmail = boto3.client('workmailmessageflow', region_name=os.environ["AWS_REGION"])
    msg_id = event['messageId']
    raw_msg = workmail.get_raw_message_content(messageId=msg_id)

    parsed_msg = email.message_from_bytes(raw_msg['messageContent'].read())
    print(parsed_msg)
```

Ausführlichere Beispiele für Methoden zur Analyse des Inhalts von Nachrichten, die gerade übertragen werden, finden Sie im Repository unter. [amazon-workmail-lambda-templates](https://github.com/aws-samples/amazon-workmail-lambda-templates) GitHub

**Anmerkung**  
Sie verwenden die Amazon WorkMail Message Flow API nur, um auf E-Mail-Nachrichten zuzugreifen, die gerade übertragen werden. Sie können nur innerhalb von 24 Stunden nach dem Senden oder Empfangen auf die Nachrichten zugreifen. Verwenden Sie eines der anderen von Amazon unterstützten Protokolle, wie IMAP oder Exchange Web Services (EWS) WorkMail, um programmgesteuert auf Nachrichten im Postfach eines Benutzers zuzugreifen.

# Nachrichteninhalte mit AWS Lambda aktualisieren
<a name="update-with-lambda"></a>

Nachdem Sie eine synchrone AWS Lambda Funktion zur Verwaltung von E-Mail-Datenströmen konfiguriert haben, können Sie die `PutRawMessageContent` Aktion in der Amazon WorkMail Message Flow-API verwenden, um den Inhalt von E-Mail-Nachrichten während der Übertragung zu aktualisieren. Weitere Informationen zu den ersten Schritten mit Lambda-Funktionen für Amazon finden Sie WorkMail unter[Konfiguration synchroner **Run-Lambda-Regeln**](lambda.md#synchronous-rules). Weitere Informationen zur API finden Sie unter [ PutRawMessageContent](https://docs.aws.amazon.com/workmail/latest/APIReference/API_messageflow_PutRawMessageContent.html).

**Anmerkung**  
Die PutRawMessageContent API benötigt boto3 1.17.8, oder Sie können Ihrer Lambda-Funktion eine Ebene hinzufügen. [Informationen zum Herunterladen der richtigen Boto3-Version finden Sie auf der Boto-Seite unter. GitHub](https://github.com/boto/boto) Weitere Informationen zum Hinzufügen von Ebenen finden [Sie unter Eine Funktion für die Verwendung von Ebenen konfigurieren](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html#configuration-layers-using).   
Hier ist ein Beispiel für eine Ebene:`"LayerArn":"arn:aws:lambda:${AWS::Region}:489970191081:layer:WorkMailLambdaLayer:2"`. Ersetzen Sie in diesem Beispiel `${AWS::Region}` durch eine entsprechende AWS-Region, z. B. us-east-1.

**Tipp**  
Wenn Sie zunächst die Amazon 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) aus dem AWS Serverless Application Repository für Ihr Konto bereitstellen, erstellt das System in Ihrem Konto eine Lambda-Funktion mit den erforderlichen Ressourcen und Berechtigungen. Anschließend können Sie der Lambda-Funktion Geschäftslogik hinzufügen, die auf Ihren Anwendungsfällen basiert.

Denken Sie dabei an Folgendes:
+ Verwenden Sie die [ GetRawMessageContent](https://docs.aws.amazon.com/workmail/latest/APIReference/API_messageflow_GetRawMessageContent.html)API, um den ursprünglichen Nachrichteninhalt abzurufen. Weitere Informationen finden Sie unter [Nachrichteninhalt wird abgerufen mit AWS Lambda](lambda-content.md).
+ Sobald Sie die ursprüngliche Nachricht haben, ändern Sie den MIME-Inhalt. Wenn Sie fertig sind, laden Sie die Nachricht in einen Amazon Simple Storage Service (Amazon S3) -Bucket in Ihrem Konto hoch. Stellen Sie sicher, dass der S3-Bucket dasselbe verwendet AWS-Konto wie Ihr WorkMail Amazon-Betrieb und dass er dieselbe AWS-Region wie Ihre API-Aufrufe verwendet.
+ Damit Amazon WorkMail Anfragen bearbeiten kann, muss Ihr S3-Bucket über die richtige Richtlinie verfügen, um auf das S3-Objekt zugreifen zu können. Weitere Informationen finden Sie unter [Example S3 policy](#s3example).
+ Verwenden Sie die [ PutRawMessageContent](https://docs.aws.amazon.com/workmail/latest/APIReference/API_messageflow_PutRawMessageContent.html)API, um den aktualisierten Nachrichteninhalt zurück an Amazon zu senden WorkMail.

**Anmerkung**  
Die `PutRawMessageContent` API stellt sicher, dass der MIME-Inhalt der aktualisierten Nachricht den RFC-Standards sowie den im [RawMessageContent](https://docs.aws.amazon.com/workmail/latest/APIReference/API_messageflow_RawMessageContent.html)Datentyp genannten Kriterien entspricht. E-Mails, die an Ihre WorkMail Amazon-Organisation eingehen, erfüllen diese Standards nicht immer, sodass die `PutRawMessageContent` API sie möglicherweise ablehnt. In solchen Fällen finden Sie in der zurückgegebenen Fehlermeldung weitere Informationen zur Behebung von Problemen.

**Example Beispiel für eine S3-Richtlinie**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "workmail.REGION.amazonaws.com"
            },
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::My-Test-S3-Bucket/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "Bool": {
                    "aws:SecureTransport": "true"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:workmailmessageflow:us-east-1:111122223333:message/WORKMAIL_ORGANIZATION_ID/*"
                }
            }
        }
    ]
}
```

Das folgende Beispiel zeigt, wie eine Lambda-Funktion die Python-Laufzeit verwendet, um den Betreff einer E-Mail-Nachricht während der Übertragung zu aktualisieren.

```
    import boto3
    import os
    import uuid
    import email
     
    def email_handler(event, context):
        workmail = boto3.client('workmailmessageflow', region_name=os.environ["AWS_REGION"])
        s3 = boto3.client('s3', region_name=os.environ["AWS_REGION"])
        
        msg_id = event['messageId']
        raw_msg = workmail.get_raw_message_content(messageId=msg_id)
        parsed_msg = email.message_from_bytes(raw_msg['messageContent'].read())
        
        # Updating subject. For more examples, see https://github.com/aws-samples/amazon-workmail-lambda-templates.
        parsed_msg.replace_header('Subject', "New Subject Updated From Lambda")
       
        # Store updated email in S3
        key = str(uuid.uuid4());
        s3.put_object(Body=parsed_msg.as_bytes(), Bucket="amzn-s3-demo-bucket", Key=key)
     
        # Update the email in WorkMail
        s3_reference = {
            'bucket': "amzn-s3-demo-bucket",
            'key': key
        }
        content = {
            's3Reference': s3_reference
        }
        workmail.put_raw_message_content(messageId=msg_id, content=content)
```

Weitere Beispiele für Methoden zur Analyse des Inhalts von Nachrichten während der Übertragung finden Sie im [ amazon-workmail-lambda-templates](https://github.com/aws-samples/amazon-workmail-lambda-templates)Repository unter. GitHub