

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.

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