

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration AWS Lambda pour Amazon WorkMail
<a name="lambda"></a>

Utilisez l'action **Exécuter Lambda** dans les règles de flux de courrier entrant et sortant pour transmettre les messages électroniques conformes aux règles à une AWS Lambda fonction à des fins de traitement.

Choisissez parmi les configurations suivantes pour une action **Run Lambda** dans Amazon. WorkMail

**Configuration **Lambda d'exécution** synchrone**  
Les messages électroniques qui correspondent à la règle de flux sont transmis à une fonction Lambda pour traitement avant d'être envoyés ou remis. Utilisez cette configuration pour modifier le contenu des e-mails. Vous pouvez également contrôler le flux de courrier entrant ou sortant pour différents cas d'utilisation. Par exemple, une règle transmise à une fonction Lambda peut bloquer la livraison de messages électroniques sensibles, supprimer des pièces jointes ou ajouter des clauses de non-responsabilité.

**Configuration d'exécution asynchrone de **Lambda****  
Les messages électroniques qui correspondent à la règle de flux sont transmis à une fonction Lambda pour être traités lors de leur envoi ou de leur remise. Cette configuration n'affecte pas la livraison des e-mails, et est utilisée lors de tâches telles que la collecte de métriques pour les messages électroniques entrants ou sortants.

Que vous choisissiez une configuration synchrone ou asynchrone, l'objet d'événement transmis à votre fonction Lambda contient les métadonnées de l'événement d'e-mail entrant ou sortant. Vous pouvez également accéder au contenu complet du message électronique grâce à l'ID de message dans les métadonnées. Pour de plus amples informations, veuillez consulter [Récupération du contenu des messages avec AWS Lambda](lambda-content.md). Pour de plus amples informations sur les événements d’e-mails, veuillez consulter [Données d'événements Lambda](#lambda-data).

Pour plus d'informations sur les règles de flux de messagerie entrant et sortant, consultez [Gestion des flux de messagerie](email-flows.md). Pour plus d'informations sur Lambda, consultez le [guide du développeur *AWS Lambda *](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html).

**Note**  
Actuellement, les règles de flux de messagerie Lambda font uniquement référence aux fonctions Lambda dans la même région AWS et dans la même organisation Amazon WorkMail en cours Compte AWS de configuration.

## Commencer à utiliser AWS Lambda pour Amazon WorkMail
<a name="start-lambda"></a>

Pour commencer à utiliser AWS Lambda Amazon WorkMail, nous vous recommandons de déployer la [fonction WorkMail Hello World Lambda](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:489970191081:applications/workmail-hello-world-python) depuis votre AWS Serverless Application Repository compte. La fonction dispose de toutes les ressources nécessaires et des autorisations configurées pour vous. Pour plus d'exemples, consultez le [amazon-workmail-lambda-templates](https://github.com/aws-samples/amazon-workmail-lambda-templates)référentiel sur GitHub.

Si vous choisissez de créer votre propre fonction Lambda, vous devez configurer les autorisations à l'aide de AWS Command Line Interface ()AWS CLI. Dans l'exemple de commande suivant, procédez comme suit :
+ Remplacez `MY_FUNCTION_NAME` par le nom de votre fonction Lambda.
+ `REGION`Remplacez-le par votre région Amazon WorkMail AWS. Les WorkMail régions Amazon disponibles incluent `us-east-1` (USA Est (Virginie du Nord)), `us-west-2` (USA Ouest (Oregon)) et `eu-west-1` (Europe (Irlande)).
+ `AWS_ACCOUNT_ID`Remplacez-le par votre Compte AWS identifiant à 12 chiffres.
+ `WORKMAIL_ORGANIZATION_ID`Remplacez-le par votre identifiant d' WorkMailorganisation Amazon. Vous le trouverez sur la carte de votre organisation sur la page **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
```

Pour plus d'informations sur l'utilisation du AWS CLI, consultez le [https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html).

## Configuration des règles **Run Lambda** synchrones
<a name="synchronous-rules"></a>

Pour configurer une règle d'**exécution Lambda** synchrone, créez une règle de flux de courrier électronique avec l'action **Exécuter Lambda** et cochez **la** case Exécuter de manière synchrone. Pour plus d'informations sur la création de règles de flux d’e-mails, veuillez consulter [Création de règles de flux d'e-mails](create-email-rules.md).

Pour terminer la création de la règle synchrone, ajoutez le nom de ressource Lambda Amazon (ARN) et configurez les options suivantes.

****Action de secours****  
L'action Amazon WorkMail s'applique si la fonction Lambda ne s'exécute pas. Cette action s'applique également à tous les destinataires omis dans la réponse Lambda si l'indicateur **AllRecipients** n'est pas défini. L'**action Fallback** ne peut pas être une autre action Lambda.

****Temps d’expiration de la règle** (en minutes)**  
Période pendant laquelle la fonction Lambda est réessayée si Amazon WorkMail ne parvient pas à l'invoquer. L'**action de secours** est utilisée à la fin de cette période.

**Note**  
Les règles Synchrous **Run Lambda** ne prennent en charge que **\$1** la condition de destination.

## Données d'événements Lambda
<a name="lambda-data"></a>

La fonction Lambda est déclenchée à l'aide des données d'événement suivantes. La présentation des données varie en fonction du langage de programmation utilisé pour la fonction Lambda.

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

L'événement JSON comprend les données suivantes.

**summaryVersion**  
Le numéro de version de`LambdaEventData`. Cela n'est mis à jour que lorsque vous apportez une modification rétrocompatible dans`LambdaEventData`.

**envelope**  
L'enveloppe du message électronique, qui comprend les éléments suivants : champs.    
**mailFrom**  
L’adresse **From (d’expédition)**, généralement l'adresse e-mail de l'utilisateur ayant envoyé le message. Si l'utilisateur a envoyé l’e-mail au nom d’une autre personne ou en tant qu'un autre utilisateur, le champ **mailFrom** renvoie l'adresse e-mail de l'utilisateur au nom de qui le message a été envoyé, et non celle de l'émetteur réel.  
**recipients**  
Liste de toutes les adresses e-mail des destinataires Amazon WorkMail ne fait pas de distinction entre **To**, **CC** ou **BCC**.  
En ce qui concerne les règles relatives au flux d'e-mails entrants, cette liste inclut les destinataires de tous les domaines de WorkMail l'organisation Amazon dans laquelle vous créez la règle. La fonction Lambda est invoquée séparément pour chaque conversation SMTP par l'expéditeur, et le champ des destinataires répertorie les destinataires de cette conversation SMTP. Les destinataires avec des domaines externes ne sont pas inclus.

**sender**  
Adresse e-mail de l'utilisateur qui a envoyé l'e-mail au nom d'un autre utilisateur. Ce champ est défini uniquement lorsqu'un e-mail est envoyé au nom d'un autre utilisateur.

**subject**  
Ligne d'objet de l'e-mail. Tronquée lorsqu'elle dépasse la limite de 256 caractères.

**messageId**  
Un identifiant unique utilisé pour accéder à l'intégralité du contenu de l'e-mail lors de l'utilisation du SDK Amazon WorkMail Message Flow.

**invocationId**  
L'ID d'un appel Lambda unique. Cet identifiant reste le même lorsqu'une fonction Lambda est appelée plusieurs fois pour la même fonction. **LambdaEventData** Permet de détecter les nouvelles tentatives et éviter la duplication.

**flowDirection**  
Indique la direction du flux de messagerie, soit **INBOUND (ENTRANT)** ou **OUTBOUND (SORTANT)**.

**truncated**  
S'applique à la charge utile, non à la longueur de la ligne d'objet. Lorsque la valeur est `true`, la taille de la charge utile dépasse la limite de 128 Ko. La liste des destinataires est donc tronquée pour respecter la limite.

## Schéma de réponse Synchrous **Run Lambda**
<a name="synchronous-schema"></a>

Lorsqu'une règle de flux d'e-mails comportant une action **Run Lambda** synchrone correspond à un e-mail entrant ou sortant, Amazon WorkMail appelle la fonction Lambda configurée et attend la réponse avant de prendre des mesures sur le message électronique. La fonction Lambda renvoie une réponse selon un schéma prédéfini qui répertorie les actions, les types d'actions, les paramètres applicables et les destinataires auxquels l'action s'applique.

L'exemple suivant montre une réponse **Run Lambda** synchrone. Les réponses varient en fonction du langage de programmation utilisé pour la fonction Lambda.

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

La réponse JSON inclut les données suivantes :

**action**  
L’action à entreprendre pour les destinataires.

**type**  
Le type d'action. Les types d'action ne sont pas renvoyés pour les actions Run **Lambda** asynchrones.  
Les types d'action de messages entrants incluent **BOUNCE (RETOUR À L’EXPÉDITEUR)**, **DROP (IGNORER)**, **DEFAULT (PAR DÉFAUT)**, **BYPASS\$1SPAM\$1CHECK (ÉVITER\$1VÉRIFICATION\$1ANTI-SPAM)**, et **MOVE\$1TO\$1JUNK (DÉPLACER\$1VERS\$1COURRIER\$1INDÉSIRABLE)**. Pour de plus amples informations, veuillez consulter [Actions de règle pour les e-mails entrants](email-flows.md#email-flows-rule-actions).  
Les types d'action de messages sortants incluent **BOUNCE (RETOUR À L’EXPÉDITEUR)**, **DROP (IGNORER)**, et **DEFAULT (PAR DÉFAUT)**. Pour de plus amples informations, veuillez consulter [Actions de règle pour les e-mails sortants](email-flows.md#email-flows-rule-outbound). 

**parameters**  
Paramètres d'action supplémentaires. Compatibles avec les types d’action **BOUNCE (RETOUR À L’EXPÉDITEUR)** en tant qu'objet JSON avec la clé **bounceMessage** et la **chaîne**de valeur. L’option de message de retour à l’expéditeur est utilisée pour créer un e-mail revenant à l’expéditeur.

**recipients**  
Liste des adresses e-mail concernées par l’action. Vous pouvez ajouter de nouveaux destinataires à la réponse, même s'ils n'étaient pas inclus dans la liste initiale. Ce champ n'est pas obligatoire si **allRecipients** est activé pour une action.  
Lorsqu'une action Lambda est appelée pour un e-mail entrant, vous ne pouvez ajouter que de nouveaux destinataires issus de votre organisation. Les nouveaux destinataires ajoutés à la réponse apparaissent dans le champ **BCC (Cci)**.

**allRecipients**  
Lorsque vrai, applique l'action à tous les destinataires qui ne sont pas soumis à une autre action spécifique dans la réponse Lambda.

### Limites d'action Synchrous **Run Lambda**
<a name="synchronous-limits"></a>

Les limites suivantes s'appliquent lorsqu'Amazon WorkMail invoque des fonctions Lambda pour des actions **Run Lambda synchrones** : 
+ Les fonctions Lambda doivent répondre dans les 15 secondes, sous peine d'être traitées comme des appels ayant échoué.
**Note**  
Le système tente à nouveau l'appel pendant l'intervalle de **délai d'expiration des règles que vous** spécifiez.
+ Les réponses de la fonction Lambda jusqu'à 256 Ko sont autorisées.
+ Jusqu'à 10 actions différentes sont autorisées pour la réponse. S’il y en a plus de 10, elles seront soumises à l'**action de secours**préalablement configurée. 
+ Jusqu'à 500 destinataires sont autorisés pour les fonctions Lambda sortantes.
+ La valeur maximale du **temps d’expiration de la règle** est de 240 minutes. Si la valeur minimale de 0 est configurée, il n'y a aucune nouvelle tentative avant qu'Amazon n' WorkMail applique l'action de secours.

### Défaillances de l'action Synchrone **Run Lambda**
<a name="synchronous-failures"></a>

**Si Amazon ne WorkMail parvient pas à appeler votre fonction Lambda en raison d'une erreur, d'une réponse non valide ou d'un délai Lambda expiré, Amazon WorkMail réessaie l'appel avec un retard exponentiel qui réduit le taux de traitement jusqu'à la fin du délai d'expiration de la règle.** Ensuite, l'**action de secours** est appliquée à tous les destinataires de l’e-mail. Pour de plus amples informations, veuillez consulter [Configuration des règles **Run Lambda** synchrones](#synchronous-rules).

## Exemple de réponses **Run Lambda** synchrones
<a name="synchronous-responses"></a>

Les exemples suivants illustrent la structure des réponses **Run Lambda** synchrones courantes.

**Example : supprime certains destinataires précis d'un e-mail**  
L'exemple suivant illustre la structure d'une réponse synchrone **Run Lambda** pour supprimer des destinataires d'un message électronique.  

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

**Example : Renvoyer un e-mail personnalisé à l’expéditeur**  
L'exemple suivant illustre la structure d'une réponse synchrone **Run Lambda** destinée à être renvoyée à un e-mail personnalisé.  

```
{
    "actions" : [
      {
        "action" : {
          "type": 'BOUNCE',
          "parameters": {
            "bounceMessage" : "Email in breach of company policy."
          }
        },
        "allRecipients": true
      }
    ]
}
```

**Example : Ajouter des destinataires à un e-mail**  
L'exemple suivant illustre la structure d'une réponse synchrone **Run Lambda** pour ajouter des destinataires au message électronique. Cela ne met pas à jour les champs **To (À)** ou **CC** de l’e-mail.  

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

[Pour plus d'exemples de code à utiliser lors de la création de fonctions Lambda pour les actions Run **Lambda**, consultez les modèles Amazon Lambda. WorkMail ](https://github.com/aws-samples/amazon-workmail-lambda-templates)

## Plus d'informations sur l'utilisation de Lambda avec Amazon WorkMail
<a name="lambda-more"></a>

Vous pouvez également accéder au contenu complet du message électronique qui déclenche la fonction Lambda. Pour de plus amples informations, veuillez consulter [Récupération du contenu des messages avec AWS Lambda](lambda-content.md). 

# Récupération du contenu des messages avec AWS Lambda
<a name="lambda-content"></a>

Après avoir configuré une AWS Lambda fonction pour gérer les flux d'e-mails pour Amazon WorkMail, vous pouvez accéder au contenu complet des e-mails traités à l'aide de Lambda. Pour plus d'informations sur la prise en main de Lambda pour Amazon WorkMail, consultez. [Configuration AWS Lambda pour Amazon WorkMail](lambda.md)

Pour accéder au contenu complet des e-mails, utilisez l'`GetRawMessageContent`action dans l'API Amazon WorkMail Message Flow. L'ID du message électronique transmis à votre fonction Lambda lors de l'invocation envoie une demande à l'API. Ensuite, l'API répond avec le contenu MIME complet du message électronique. Pour plus d'informations, consultez [Amazon WorkMail Message Flow](https://docs.aws.amazon.com/workmail/latest/APIReference/API_Operations_Amazon_WorkMail_Message_Flow.html) dans le manuel *Amazon WorkMail API Reference*.

L'exemple suivant montre comment une fonction Lambda utilisant l'environnement d'exécution Python peut récupérer le contenu complet du message.

**Astuce**  
Si vous commencez par déployer la [fonction Lambda Amazon WorkMail Hello World](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:489970191081:applications/workmail-hello-world-python) depuis votre compte, le AWS Serverless Application Repository système crée une fonction Lambda dans votre compte avec toutes les ressources et autorisations nécessaires. Vous pouvez ensuite ajouter votre logique métier à la fonction lambda en fonction de votre cas d'utilisation.

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

Pour des exemples plus détaillés de méthodes d'analyse du contenu des messages en transit, consultez le [amazon-workmail-lambda-templates](https://github.com/aws-samples/amazon-workmail-lambda-templates)référentiel sur GitHub.

**Note**  
Vous utilisez uniquement l'API Amazon WorkMail Message Flow pour accéder aux e-mails en transit. Vous ne pouvez accéder aux messages que dans les 24 heures suivant leur envoi ou leur réception. Pour accéder par programmation aux messages dans la boîte aux lettres d'un utilisateur, utilisez l'un des autres protocoles pris en charge par Amazon WorkMail, tels que IMAP ou Exchange Web Services (EWS).

# Mise à jour du contenu des messages avec AWS Lambda
<a name="update-with-lambda"></a>

Après avoir configuré une AWS Lambda fonction synchrone pour gérer les flux d'e-mails, vous pouvez utiliser l'`PutRawMessageContent`action de l'API Amazon WorkMail Message flow pour mettre à jour le contenu des e-mails en transit. Pour plus d'informations sur la prise en main des fonctions Lambda pour Amazon WorkMail, consultez. [Configuration des règles **Run Lambda** synchrones](lambda.md#synchronous-rules) Pour plus d’informations sur l’API, consultez [ PutRawMessageContent](https://docs.aws.amazon.com/workmail/latest/APIReference/API_messageflow_PutRawMessageContent.html).

**Note**  
L' PutRawMessageContent API nécessite boto3 1.17.8, ou vous pouvez ajouter une couche à votre fonction Lambda. Pour télécharger la bonne version de boto3, consultez la page de démarrage [sur](https://github.com/boto/boto). GitHub Pour plus d'informations sur l'ajout de couches, voir [Configurer une fonction pour utiliser des couches](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html#configuration-layers-using).   
Voici un exemple de couche :`"LayerArn":"arn:aws:lambda:${AWS::Region}:489970191081:layer:WorkMailLambdaLayer:2"`. Dans cet exemple, remplacez-le `${AWS::Region}` par une région aws appropriée, telle que us-east-1.

**Astuce**  
Si vous commencez par déployer la [fonction Lambda Amazon WorkMail Hello World](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:489970191081:applications/workmail-hello-world-python) depuis AWS Serverless Application Repository sur votre compte, le système crée une fonction Lambda dans votre compte avec les ressources et autorisations nécessaires. Vous pouvez ensuite ajouter une logique métier à la fonction lambda, en fonction de vos cas d'utilisation.

Au fur et à mesure, souvenez-vous de ce qui suit :
+ Utilisez l'[ GetRawMessageContent](https://docs.aws.amazon.com/workmail/latest/APIReference/API_messageflow_GetRawMessageContent.html)API pour récupérer le contenu du message d'origine. Pour de plus amples informations, veuillez consulter [Récupération du contenu des messages avec AWS Lambda](lambda-content.md).
+ Une fois que vous avez le message d'origine, modifiez le contenu MIME. Lorsque vous avez terminé, téléchargez le message dans un compartiment Amazon Simple Storage Service (Amazon S3) de votre compte. Assurez-vous que le compartiment S3 utilise la même chose Compte AWS que vos WorkMail opérations Amazon et qu'il utilise la même région AWS que vos appels d'API.
+ Pour WorkMail qu'Amazon puisse traiter les demandes, votre compartiment S3 doit disposer de la politique appropriée afin d'accéder à l'objet S3. Pour de plus amples informations, veuillez consulter [Example S3 policy](#s3example).
+ Utilisez l'[ PutRawMessageContent](https://docs.aws.amazon.com/workmail/latest/APIReference/API_messageflow_PutRawMessageContent.html)API pour renvoyer le contenu du message mis à jour à Amazon WorkMail.

**Note**  
L'`PutRawMessageContent`API garantit que le contenu MIME du message mis à jour répond aux normes RFC, ainsi qu'aux critères mentionnés dans le type de [RawMessageContent](https://docs.aws.amazon.com/workmail/latest/APIReference/API_messageflow_RawMessageContent.html)données. Les e-mails envoyés à votre WorkMail organisation Amazon ne répondent pas toujours à ces normes. Il est donc possible que l'`PutRawMessageContent`API les rejette. Dans de tels cas, vous pouvez consulter le message d'erreur renvoyé pour plus d'informations sur la manière de résoudre les problèmes.

**Example Exemple de politique S3**    
****  

```
{
    "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/*"
                }
            }
        }
    ]
}
```

L'exemple suivant montre comment une fonction Lambda utilise le moteur d'exécution Python pour mettre à jour l'objet d'un e-mail en transit.

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

Pour d'autres exemples de méthodes d'analyse du contenu des messages en transit, consultez le [ amazon-workmail-lambda-templates](https://github.com/aws-samples/amazon-workmail-lambda-templates)référentiel sur GitHub.