Recuperar conteúdo de mensagens com o AWS Lambda
Depois de configurar uma função do AWS Lambda para gerenciar fluxos de e-mail do Amazon WorkMail, você pode acessar o conteúdo completo das mensagens de e-mail processadas usando o Lambda. Para obter mais informações sobre os conceitos básicos do Lambda no Amazon WorkMail, consulte Configurar o AWS Lambda para o Amazon WorkMail.
Para acessar o conteúdo completo de mensagens de e-mail, use a ação GetRawMessageContent na API de fluxo de mensagens do Amazon WorkMail. O ID da mensagem de e-mail que é transmitido para sua função do Lambda na invocação envia uma solicitação para a API. Em seguida, a API responde com o conteúdo MIME completo da mensagem de e-mail. Para obter mais informações, consulte Fluxo de mensagens do Amazon WorkMail na Referência de API do Amazon WorkMail.
O exemplo a seguir mostra como uma função do Lambda usando o ambiente de runtime do Python pode recuperar o conteúdo completo da mensagem.
dica
Se você começar implantando a função do Lambda Hello World
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)
Para obter exemplos mais detalhados de maneiras de analisar o conteúdo de mensagens em trânsito, consulte o repositório amazon-workmail-lambda-templates
nota
Você só usa a API de fluxo de mensagens do Amazon WorkMail para acessar mensagens de e-mail em trânsito. As mensagens só podem ser acessadas em até 24 horas após serem enviadas ou recebidas. Para acessar programaticamente mensagens que já foram entregues na caixa de correio de um usuário, use um dos outros protocolos compatíveis com o Amazon WorkMail, como IMAP ou Exchange Web Services (EWS).