Aviso de fim do suporte: em 31 de março de 2027, AWS encerrará o suporte para a Amazon WorkMail. Depois de 31 de março de 2027, você não poderá mais acessar o WorkMail console da Amazon ou os WorkMail recursos da Amazon. Para obter mais informações, consulte WorkMail Fim do suporte da Amazon.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Atualização do conteúdo de mensagens com o AWS Lambda
Depois de configurar uma AWS Lambda função síncrona para gerenciar fluxos de e-mail, você pode usar a PutRawMessageContent ação na API de fluxo de WorkMail mensagens da Amazon para atualizar o conteúdo das mensagens de e-mail em trânsito. Para obter mais informações sobre como começar a usar as funções Lambda para a Amazon WorkMail, consulte. Configurar regras síncronas de Executar o Lambda Para obter mais informações sobre a API, consulte PutRawMessageContent.
nota
A PutRawMessageContent API requer o boto3 1.17.8, ou você pode adicionar uma camada à sua função Lambda. Para baixar a versão correta do boto3, consulte a página de inicialização em
Confira a seguir um exemplo de camada: "LayerArn":"arn:aws:lambda:${. Neste exemplo, substitua AWS::Region}:489970191081:layer:WorkMailLambdaLayer:2"${ por uma região da AWS apropriada, como us-east-1.AWS::Region}
dica
Se você começar implantando a função Amazon WorkMail Hello World Lambda
À medida que avança, lembre-se do seguinte:
-
Use a GetRawMessageContentAPI para recuperar o conteúdo original da mensagem. Para obter mais informações, consulte Recuperando o conteúdo da mensagem com AWS Lambda.
-
Depois de ter a mensagem original, altere o conteúdo MIME. Ao terminar, atualize a mensagem para um bucket do Amazon Simple Storage Service (Amazon S3) na sua conta. Certifique-se de que o bucket do S3 use o mesmo que suas Conta da AWS WorkMail operações da Amazon e que use a mesma região da AWS que suas chamadas de API.
-
Para WorkMail que a Amazon processe solicitações, seu bucket do S3 deve ter a política correta para acessar o objeto do S3. Para obter mais informações, consulte Example S3 policy.
-
Use a PutRawMessageContentAPI para enviar o conteúdo atualizado da mensagem de volta para a Amazon WorkMail.
nota
A PutRawMessageContent API garante que o conteúdo MIME da mensagem atualizada atenda aos padrões RFC, bem como aos critérios mencionados no tipo de RawMessageContentdados. Os e-mails enviados para sua WorkMail organização Amazon nem sempre atendem a esses padrões, então a PutRawMessageContent API pode rejeitá-los. Nesses casos, você pode consultar a mensagem de erro retornada para obter mais informações sobre como corrigir qualquer problema.
exemplo Exemplo de política do S3
O exemplo a seguir mostra como uma função do Lambda usa o runtime do Python para atualizar o assunto de uma mensagem de e-mail em trânsito.
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)
Para obter mais exemplos de maneiras de analisar o conteúdo de mensagens em trânsito, consulte o amazon-workmail-lambda-templates