

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.

# Gestion des flux de messagerie
<a name="email-flows"></a>

Pour faciliter la gestion des e-mails, vous pouvez configurer des *règles de flux d'e-mails*. Les règles de flux de messagerie peuvent effectuer une ou plusieurs actions sur les messages électroniques en fonction de leurs adresses ou de leurs domaines. Vous pouvez utiliser des règles de flux d'e-mails sur les adresses e-mail ou les domaines des expéditeurs et des destinataires.

Lorsque vous créez une règle de flux de courrier électronique, vous spécifiez une [*action de règle*](#email-flows-rule-actions) qui s'applique à un e-mail lorsqu'un [*modèle*](#email-flows-patterns) de règle spécifié correspond.

**Topics**
+ [Actions de règle pour les e-mails entrants](#email-flows-rule-actions)
+ [Actions de règle pour les e-mails sortants](#email-flows-rule-outbound)
+ [Modèles d'expéditeur et de destinataire](#email-flows-patterns)
+ [Création de règles de flux d'e-mails](create-email-rules.md)
+ [Modification des règles de flux d'e-mails](edit-rules.md)
+ [Configuration AWS Lambda pour Amazon WorkMail](lambda.md)
+ [Gestion de l'accès à l'API Amazon WorkMail Message Flow](lambda-content-access.md)
+ [Test d'une règle de flux de messagerie](test-email-flow-rule.md)
+ [Suppression d'une règle de flux de messagerie](remove-email-flow-rule.md)

## Actions de règle pour les e-mails entrants
<a name="email-flows-rule-actions"></a>

Les règles de flux de messagerie entrant empêchent les messages indésirables d'atteindre les boîtes aux lettres de vos utilisateurs. Les règles relatives au flux d'e-mails entrants, également appelées actions de règles, s'appliquent automatiquement à tous les e-mails envoyés à un membre de votre WorkMail organisation Amazon. Elles diffèrent des règles de messagerie pour les boîtes aux lettres individuelles.

**Note**  
Vous pouvez éventuellement utiliser des règles dotées d'une AWS Lambda fonction pour traiter les e-mails entrants avant qu'ils ne soient envoyés aux boîtes aux lettres de vos utilisateurs. Pour plus d'informations sur l'utilisation de Lambda avec Amazon WorkMail, consultez. [Configuration AWS Lambda pour Amazon WorkMail](lambda.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).

Les règles relatives au flux d'e-mails entrants, également appelées actions de règles, s'appliquent automatiquement à tous les e-mails envoyés à un membre de l' WorkMail organisation Amazon. Elles diffèrent des règles de messagerie pour les boîtes aux lettres individuelles.

Les actions de règle suivantes définissent la façon dont les messages entrants sont traités. Pour chaque règle, vous spécifiez des [modèles d'expéditeur et de destinataire](#email-flows-patterns), accompagnés de l'une des actions suivantes. 


****  

| Action | Description | 
| --- | --- | 
|  Drop email (Ignorer l'e-mail)  |  Le message électronique est ignoré. Il n'est pas remis et l'expéditeur n'est pas averti de sa non-remise.  | 
|  Send bounce response (Envoyer une réponse de retour à l'expéditeur)  |  Le message électronique n'est pas remis et l'expéditeur est informé de la non-livraison dans un message de rebond.  | 
| Deliver to junk folder (Placer dans le dossier Courrier indésirable) |  Le message électronique est envoyé dans les dossiers de spam ou de courrier indésirable des utilisateurs, même s'il n'a pas été initialement identifié comme spam par le système de détection du WorkMail spam Amazon.   | 
|  Par défaut  |  L'e-mail est livré après avoir été vérifié par le système de détection de WorkMail spam Amazon. Le message indésirable est placé dans le dossier Courrier indésirable. Tous les autres e-mails sont envoyés dans la boîte de réception. Les autres règles de flux de messagerie avec un modèle d'expéditeur moins spécifique sont ignorées. Pour ajouter des exceptions à des règles de flux de messagerie basées sur des domaines, configurez l'action par défaut avec un modèle d'expéditeur plus spécifique. Pour de plus amples informations, veuillez consulter [Modèles d'expéditeur et de destinataire](#email-flows-patterns).  | 
|  Never deliver to junk folder (Ne jamais placer dans le dossier Courrier indésirable)  |  Le message électronique est toujours envoyé dans les boîtes de réception des utilisateurs, même s'il est identifié comme spam par le système de détection du WorkMail spam Amazon.  En n'utilisant pas le système de détection de courrier indésirable par défaut, vous pouvez exposer vos utilisateur à du contenu présentant des risques élevés provenant des adresses que vous spécifiez.   | 
|  Courir AWS Lambda  |  Transmet le message électronique à une fonction Lambda pour traitement avant ou pendant son envoi dans les boîtes de réception des utilisateurs.  | 

**Note**  
Les e-mails entrants sont d'abord envoyés à Amazon SES, puis à Amazon WorkMail. Si Amazon SES bloque un e-mail entrant, les actions des règles ne s'appliqueront pas. Par exemple, Amazon SES bloque un e-mail lorsqu'un virus connu est détecté ou en raison de règles de filtrage IP explicites. La spécification d'une action de règle comme **Default (Par défaut)**, **Deliver to junk folder (Placer dans le dossier Courrier indésirable)** ou **Never deliver to junk folder (Ne jamais placer dans le dossier Courrier indésirable)** n'a aucun effet.

## Actions de règle pour les e-mails sortants
<a name="email-flows-rule-outbound"></a>

Vous utilisez les règles de flux de courrier sortant pour diriger les e-mails via des passerelles SMTP ou pour empêcher les expéditeurs d'envoyer des e-mails à des destinataires spécifiques. Pour plus d'informations sur les passerelles SMTP, consultez. [Activation des passerelles SMTP](smtp-gateway.md)

Vous pouvez également utiliser les règles de flux de courrier sortant pour transmettre le message électronique à une AWS Lambda fonction qui le traitera après son envoi. Pour plus d'informations sur Lambda, consultez le [guide du développeur *AWS Lambda *](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html).

Les actions de règle suivantes définissent la façon dont les messages sortants sont traités. Pour chaque règle, vous spécifiez des [modèles d'expéditeur et de destinataire](#email-flows-patterns), accompagnés de l'une des actions suivantes. 


****  

| Action | Description | 
| --- | --- | 
|  Par défaut  |  Le message électronique est envoyé via le flux normal.  | 
|  Drop email (Ignorer l'e-mail)  |  Le message électronique est supprimé. Il n'est pas envoyé et l'expéditeur n'est pas averti.  | 
| Send bounce response (Envoyer une réponse de retour à l'expéditeur) |  Le message électronique n'est pas envoyé et l'expéditeur est averti par un message indiquant que l'administrateur a bloqué le message électronique.   | 
|  Route to SMTP gateway (Acheminer vers la passerelle SMTP)  |  Le message électronique est envoyé via une passerelle SMTP configurée.  | 
|  Exécutez Lambda  |  Transmet le message électronique à une fonction Lambda pour traitement avant ou pendant l'envoi du message électronique.  | 

## Modèles d'expéditeur et de destinataire
<a name="email-flows-patterns"></a>

Une règle de flux de messagerie peut s'appliquer à une adresse particulière ou à toutes les adresses d'un domaine ou d'un ensemble de domaines donné. Vous définissez un modèle afin de déterminer les adresses e-mail auxquelles une règle s'applique.

Les modèles d'expéditeur et de destinataire ont l'une des formes suivantes :
+ Une *adresse e-mail* correspond à une adresse e-mail unique ; par exemple :

  ```
  mailbox@example.com
  ```
+ Un *nom de domaine* correspond à toutes les adresses e-mail de ce domaine ; par exemple :

  ```
  example.com
  ```
+ Un *domaine générique* correspond à toutes les adresses e-mail de ce domaine et de tous ses sous-domaines. Un caractère générique apparaît uniquement avant un domaine, par exemple :

  ```
  *.example.com
  ```
+ Une *étoile* correspond à n'importe quelle adresse e-mail de n'importe quel domaine.

  ```
  *
  ```

**Note**  
Le symbole \$1 n'est pas valide dans les modèles d'expéditeur ou de destinataire.

Vous pouvez préciser plusieurs modèles pour une même règle. Pour plus d’informations, consultez [Actions de règle pour les e-mails entrants](#email-flows-rule-actions) et [Actions de règle pour les e-mails sortants](#email-flows-rule-outbound).

Les règles de flux de courrier entrant sont appliquées si l'`From`en-tête `Sender` ou l'en-tête d'un e-mail entrant correspond à un modèle quelconque. Si elle est présente, l'adresse `Sender` est mise en correspondance d'abord. L'adresse `From` est mise en correspondance si aucun en-tête `Sender` n'est présent ou si celui-ci ne `Sender` correspond à aucune règle. Si plusieurs destinataires du message électronique répondent à des règles différentes, chaque règle s'applique aux destinataires correspondants.

Les règles de flux de courrier sortant sont appliquées si le destinataire et l'`From`en-tête `Sender` ou l'en-tête d'un e-mail sortant correspondent à un modèle quelconque. Si plusieurs destinataires du message électronique répondent à des règles différentes, chaque règle s'applique aux destinataires correspondants.

Si plusieurs règles correspondent, l'action de la règle la plus spécifique est appliquée. Par exemple, une règle pour une adresse e-mail précise prévaut sur une règle concernant un domaine complet. Si plusieurs règles ont la même spécificité, l'action la plus restrictive est appliquée. Par exemple, une action **Drop** a priorité sur une action **Bounce**. L'ordre de priorité des actions est le même que l'ordre dans lequel elles sont répertoriées dans [Actions de règle pour les e-mails entrants](#email-flows-rule-actions) et [Actions de règle pour les e-mails sortants](#email-flows-rule-outbound).

**Note**  
Soyez vigilant lorsque vous créez des règles comportant des modèles d'expéditeurs superposés avec des actions **Drop** ou **Bounce**. Un ordre de priorité inattendu peut empêcher la livraison de nombreux e-mails entrants.

# Création de règles de flux d'e-mails
<a name="create-email-rules"></a>

Les règles de flux de courrier électronique appliquent [des actions de règles](email-flows.md#email-flows-rule-actions) aux e-mails entrants et sortants. Les actions s'appliquent lorsque les messages correspondent à un [modèle](email-flows.md#email-flows-patterns) spécifié. Les nouvelles règles de flux d'e-mails entrent en vigueur immédiatement.

**Pour créer des règles de flux d'e-mails**

1. Ouvrez la WorkMail console Amazon à l'adresse [https://console.aws.amazon.com/workmail/](https://console.aws.amazon.com/workmail/).

   Si nécessaire, changez la région AWS. Dans la barre en haut de la fenêtre de console, ouvrez la liste **Sélectionnez une région** et choisissez une région. Pour plus d'informations, consultez [Régions et points de terminaison ](https://docs.aws.amazon.com/general/latest/gr/index.html?rande.html) dans le *Référence générale d'Amazon Web Services*.

1. Dans le volet de navigation, choisissez **Organizations**, puis choisissez le nom d'une organisation.

1. Dans le panneau de navigation, choisissez **Organization settings (Paramètres de l'organisation)**.

   La page des **paramètres de l'organisation** apparaît et contient un ensemble d'onglets. À partir de cette page, vous pouvez créer des règles entrantes ou sortantes. Les étapes suivantes expliquent comment créer les deux types.

**Pour créer des règles de trafic entrant**

   1. Cliquez sur l'onglet **Règles de trafic entrant**, puis sur **Créer**.

   1. Dans le champ **Nom de la règle**, entrez un nom unique.

   1. Sous **Action**, ouvrez la liste et sélectionnez une action. Chaque élément de la liste contient une description, et certains contiennent des liens pour **en savoir plus**.
**Note**  
Si vous choisissez l'action **Exécuter Lambda**, des commandes supplémentaires apparaissent : pour plus d'informations sur l'utilisation de ces commandes, reportez-vous à la section suivante,. [Configuration AWS Lambda pour Amazon WorkMail](lambda.md) 

   1. Sous **Domaines ou adresses de l'**expéditeur, entrez les domaines ou adresses de l'expéditeur auxquels vous souhaitez que la règle s'applique.

   1. Sous **Domaines ou adresses de destination**, entrez n'importe quelle combinaison de domaines de destination et d'adresses e-mail.

   1. Choisissez **Créer**.

**Pour créer des règles de sortie**

   1. Cliquez sur l'onglet **Règles sortantes**, puis sur **Créer**.

   1. Dans le champ **Nom de la règle**, entrez un nom unique.

   1. Sous **Action**, ouvrez la liste et sélectionnez une action. Chaque élément de la liste contient une description, et certains contiennent des liens pour **en savoir plus**.
**Note**  
Si vous choisissez l'action **Exécuter Lambda**, des commandes supplémentaires apparaissent. Pour plus d'informations sur l'utilisation de ces commandes, reportez-vous à la section suivante,[Configuration AWS Lambda pour Amazon WorkMail](lambda.md).

   1. Sous **Domaines ou adresses de l'expéditeur**, entrez n'importe quelle combinaison de domaines d'expéditeur et d'adresses e-mail valides.

   1. Sous **Domaines ou adresses de destination**, entrez n'importe quelle combinaison de domaines de destination et d'adresses e-mail valides.

   1. Choisissez **Créer**.

   Vous pouvez tester la nouvelle règle de flux de messagerie que vous avez créée. Pour de plus amples informations, veuillez consulter [Test d'une règle de flux de messagerie](test-email-flow-rule.md).

# Modification des règles de flux d'e-mails
<a name="edit-rules"></a>

Vous modifiez les règles de flux de courrier électronique chaque fois que vous devez modifier une ou plusieurs [actions de règle](email-flows.md#email-flows-rule-actions) pour les messages électroniques. Les étapes décrites dans cette section s'appliquent aux e-mails entrants et sortants.

**Pour modifier les règles de flux d'e-mails**

1. Ouvrez la WorkMail console Amazon à l'adresse [https://console.aws.amazon.com/workmail/](https://console.aws.amazon.com/workmail/).

   Si nécessaire, changez la région AWS. Dans la barre en haut de la fenêtre de console, ouvrez la liste **Sélectionnez une région** et choisissez une région. Pour plus d'informations, consultez [Régions et points de terminaison ](https://docs.aws.amazon.com/general/latest/gr/index.html?rande.html) dans le *Référence générale d'Amazon Web Services*.

1. Dans le volet de navigation, choisissez **Organizations**, puis choisissez le nom d'une organisation.

1. Dans le panneau de navigation, choisissez **Organization settings (Paramètres de l'organisation)**.

   La page des **paramètres de l'organisation** apparaît et contient un ensemble d'onglets.

1. Choisissez les onglets **Règles entrantes ou Règles** **sortantes**. 

1. Cliquez sur le bouton radio situé à côté de la règle que vous souhaitez modifier, puis sélectionnez **Modifier**.

1. Modifiez l'action ou les actions de la règle selon vos besoins, puis choisissez **Enregistrer**.

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

# Gestion de l'accès à l'API Amazon WorkMail Message Flow
<a name="lambda-content-access"></a>

Utilisez des politiques Gestion des identités et des accès AWS (IAM) pour gérer l'accès à l'API Amazon WorkMail Message Flow.

L'API Amazon WorkMail Message Flow fonctionne avec un seul type de ressource, un e-mail en transit. Chaque e-mail en transit est associé à un Amazon Resource Name (ARN) unique.

L'exemple suivant montre la syntaxe d'un ARN associé à un message électronique en transit.

```
arn:aws:workmailmessageflow:region:account:message/organization/context/messageID
```

Les champs modifiables de l'exemple précédent sont les suivants :
+ **Région** : région AWS de votre WorkMail organisation Amazon.
+ **Compte** : Compte AWS identifiant de votre WorkMail organisation Amazon.
+ **Organisation : l'**identifiant de votre WorkMail organisation Amazon.
+ **Contexte** — Indique si le message est `incoming` destiné à votre organisation ou `outgoing` provient de celle-ci.
+ **ID du message : identifiant** unique du message électronique transmis en entrée à votre fonction Lambda.

L'exemple suivant inclut un IDs exemple d'ARN associé à un e-mail entrant en transit.

```
arn:aws:workmailmessageflow:us-east-1:111122223333:message/m-n1pq2345678r901st2u3vx45x6789yza/incoming/d1234567-8e90-1f23-456g-hjk7lmnop8q9                
```

Vous pouvez les utiliser ARNs comme ressources dans la `Resource` section de vos politiques utilisateur IAM afin de gérer l'accès aux WorkMail messages Amazon en transit.

## Exemples de politiques IAM pour l'accès au flux de WorkMail messages Amazon
<a name="lambda-content-policies"></a>

L'exemple de politique suivant accorde à une entité IAM un accès en lecture complet à tous les messages entrants et sortants pour chaque WorkMail organisation Amazon de votre entreprise. Compte AWS

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "workmailmessageflow:GetRawMessageContent"
            ],
            "Resource": "arn:aws:workmailmessageflow:us-east-1:111122223333:message/*",
            "Effect": "Allow"
        }
    ]
}
```

------

Si vous avez plusieurs organisations Compte AWS, vous pouvez également limiter l'accès à une ou plusieurs organisations. Cela est utile si certaines fonctions Lambda ne doivent être utilisées que pour certaines organisations.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "workmailmessageflow:GetRawMessageContent"
            ],
            "Resource": "arn:aws:workmailmessageflow:us-east-1:111122223333:message/organization/*",
            "Effect": "Allow"
        }
    ]
}
```

------

Vous pouvez également choisir d'accorder l'accès aux messages selon qu'ils `incoming` à votre organisation ou `outgoing` partir de celle-ci. Pour ce faire, utilisez le qualificateur `incoming` ou `outgoing` dans l'ARN. 

L'exemple de stratégie suivant accorde l'accès uniquement aux messages entrants dans votre organisation.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "workmailmessageflow:GetRawMessageContent"
            ],
            "Resource": "arn:aws:workmailmessageflow:us-east-1:111122223333:message/organization/incoming/*",
            "Effect": "Allow"
        }
    ]
}
```

------

L'exemple de politique suivant accorde à une entité IAM un accès complet en lecture et en mise à jour à tous les messages entrants et sortants pour chaque WorkMail organisation Amazon de votre entreprise. Comptes AWS

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "workmailmessageflow:GetRawMessageContent",
                "workmailmessageflow:PutRawMessageContent"
            ],
            "Resource": "arn:aws:workmailmessageflow:us-east-1:111122223333:message/*",
            "Effect": "Allow"
        }
    ]
}
```

------

# Test d'une règle de flux de messagerie
<a name="test-email-flow-rule"></a>

Pour vérifier votre configuration de règle actuelle, vous pouvez tester le comportement de la configuration avec des adresses spécifiques. 

**Pour tester une règle de flux de messagerie**

1. Ouvrez la WorkMail console Amazon à l'adresse [https://console.aws.amazon.com/workmail/](https://console.aws.amazon.com/workmail/).

   Si nécessaire, changez la région AWS. Dans la barre en haut de la fenêtre de console, ouvrez la liste **Sélectionnez une région** et choisissez une région. Pour plus d'informations, consultez [Régions et points de terminaison ](https://docs.aws.amazon.com/general/latest/gr/index.html?rande.html) dans le *Référence générale d'Amazon Web Services*.

1. Dans le volet de navigation, choisissez **Organizations**, puis le nom de votre organisation.

1. Dans le panneau de navigation, choisissez **Organization settings (Paramètres de l'organisation)**, **Inbound/Outbound rules (Règles entrantes/sortantes)**.

1. En regard de **Test configuration (Tester la configuration)**, entrez les adresses e-mail complètes de l'expéditeur et du destinataire à tester.

1. Sélectionnez **Tester)**. L'action à réaliser pour l'adresse fournie s'affiche.

# Suppression d'une règle de flux de messagerie
<a name="remove-email-flow-rule"></a>

Lorsque vous supprimez une règle de flux de messagerie, les changements sont appliqués sur-le-champ.

**Pour supprimer une règle de flux de messagerie**

1. Ouvrez la WorkMail console Amazon à l'adresse [https://console.aws.amazon.com/workmail/](https://console.aws.amazon.com/workmail/).

   Si nécessaire, changez la région AWS. Dans la barre en haut de la fenêtre de console, ouvrez la liste **Sélectionnez une région** et choisissez une région. Pour plus d'informations, consultez [Régions et points de terminaison ](https://docs.aws.amazon.com/general/latest/gr/index.html?rande.html) dans le *Référence générale d'Amazon Web Services*.

1. Dans le volet de navigation, choisissez **Organizations**, puis le nom de votre organisation.

1. Dans le panneau de navigation, choisissez **Organization settings (Paramètres de l'organisation)**, **Inbound/Outbound rules (Règles entrantes/sortantes)**.

1. Sélectionnez la règle et choisissez **Remove (Supprimer)**. 

1. À l'invite de confirmation, choisissez **Remove (Supprimer)**.