View a markdown version of this page

Récupération du contenu des messages avec AWS Lambda - Amazon WorkMail

Avis de fin de support : le 31 mars 2027, le support d'Amazon AWS WorkMail prendra fin. Après le 31 mars 2027, vous ne pourrez plus accéder à la WorkMail console Amazon ni aux WorkMail ressources Amazon. Pour plus d'informations, consultez la page de WorkMail fin de support d'Amazon.

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

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

Pour accéder au contenu complet des e-mails, utilisez l'GetRawMessageContentaction 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 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 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-templatesré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).