Configurando AWS Lambda para a Amazon WorkMail - Amazon WorkMail

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

Configurando AWS Lambda para a Amazon WorkMail

Use a ação Executar Lambda nas regras de fluxo de e-mails de entrada e saída para passar mensagens de e-mail que correspondam às regras para uma AWS Lambda função de processamento.

Escolha entre as seguintes configurações para uma ação Run Lambda na Amazon. WorkMail

Configuração síncrona de Executar o

As mensagens de e-mail que correspondem à regra de fluxo são transmitidas para uma função do Lambda para processamento antes de serem enviadas ou entregues. Use essa configuração para modificar o conteúdo do e-mail. Você também pode controlar o fluxo de e-mails de entrada ou saída para diferentes casos de uso. Por exemplo, uma regra transmitida para uma função do Lambda pode bloquear a entrega de mensagens de e-mail confidenciais, remover anexos ou adicionar avisos de isenção de responsabilidade.

Configuração assíncrona de Executar o Lambda

As mensagens de e-mail que correspondem à regra de fluxo são transmitidas para uma função do Lambda para processamento enquanto são enviadas ou entregues. Essa configuração não afeta a entrega de e-mail e é usada para tarefas como coletar métricas para mensagens de e-mail de entrada ou saída.

Independentemente de você escolher uma configuração síncrona ou assíncrona, o objeto de evento transmitido para a função do Lambda contém metadados para o evento de e-mail de entrada ou saída. Também é possível usar o ID da mensagem nos metadados para acessar o conteúdo completo da mensagem de e-mail. Para obter mais informações, consulte Recuperando o conteúdo da mensagem com AWS Lambda. Para obter mais informações sobre eventos de e-mail, consulte Dados de eventos do Lambda.

Para obter mais informações sobre as regras de fluxo de e-mails enviados e recebidos, consulte Gerenciar fluxos de e-mail. Para obter mais informações sobre o Lambda, consulte o Manual do desenvolvedor do AWS Lambda .

nota

Atualmente, as regras de fluxo de e-mail do Lambda fazem referência somente às funções do Lambda na mesma AWS Conta da AWS região e da organização Amazon WorkMail que está sendo configurada.

Começando a usar AWS Lambda para a Amazon WorkMail

Para começar a usar AWS Lambda com a Amazon WorkMail, recomendamos implantar a função WorkMail Hello World Lambda AWS Serverless Application Repository na sua conta. A função tem todos os recursos necessários e as permissões configuradas para você. Para obter mais exemplos, consulte o amazon-workmail-lambda-templatesrepositório em. GitHub

Se você optar por criar sua própria função Lambda, deverá configurar as permissões usando o AWS Command Line Interface ()AWS CLI. Para usar o seguinte comando de exemplo, faça como a seguir:

  • Substitua MY_FUNCTION_NAME pelo nome da sua função do Lambda.

  • REGIONSubstitua pela sua WorkMail AWS região da Amazon. As WorkMail regiões disponíveis da Amazon incluem us-east-1 (Leste dos EUA (Norte da Virgínia)), us-west-2 (Oeste dos EUA (Oregon)) e eu-west-1 (Europa (Irlanda)).

  • Substitua AWS_ACCOUNT_ID pelo seu ID de Conta da AWS de 12 dígitos.

  • WORKMAIL_ORGANIZATION_IDSubstitua pelo ID da sua WorkMail organização na Amazon. Você pode encontrá-lo no cartão da sua organização na página Organizações.

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

Para obter mais informações sobre como usar o AWS CLI, consulte o Guia AWS Command Line Interface do usuário.

Configurar regras síncronas de Executar o Lambda

Para configurar uma regra síncrona de Executar o Lambda, crie uma regra de fluxo de e-mail com a ação Executar o Lambda e marque a caixa de seleção Executar de forma síncrona. Para obter mais informações sobre como criar regras de fluxo de e-mail, consulte Criar uma regra de fluxo de e-mail.

Para concluir a criação da regra síncrona, adicione o Lambda Amazon Resource ARN Name () e configure as seguintes opções.

Ação de fallback

A ação que a Amazon WorkMail aplica se a função Lambda não for executada. Essa ação também se aplica a qualquer destinatário que seja omitido da resposta do Lambda se o sinalizador não estiver definido. allRecipients A Ação de fallback não pode ser outra ação do Lambda.

Tempo limite da regra (em minutos)

O período durante o qual a função Lambda é repetida se a Amazon WorkMail falhar em invocá-la. A Ação de fallback é aplicada no final desse período.

nota

Regras síncronas de Executar o Lambda oferecem suporte apenas à condição de destino *.

Dados de eventos do Lambda

A função do Lambda é acionada usando os seguintes dados de evento. A apresentação dos dados varia dependendo da linguagem de programação usada para a função do 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 }

O evento JSON inclui os seguintes dados.

summaryVersion

O número da versão para LambdaEventData. Isso só é atualizado quando você faz uma alteração incompatível com versões anteriores no LambdaEventData.

envelope

O envelope da mensagem de e-mail, que inclui os campos a seguir:

mailFrom

O endereço De, que normalmente corresponde ao endereço de e-mail do usuário que enviou a mensagem. Se o usuário enviou a mensagem de e-mail como outro usuário ou em nome de outro usuário, o mailFromcampo retornará o endereço de e-mail do usuário em cujo nome a mensagem de e-mail foi enviada, não o endereço de e-mail do remetente real.

recipients

Uma lista de endereços de e-mail dos destinatários. A Amazon WorkMail não faz distinção entre To, CC ou BCC.

nota

Para regras de fluxo de e-mail de entrada, essa lista inclui destinatários em todos os domínios da WorkMail organização da Amazon na qual você criou a regra. A função Lambda é invocada separadamente para cada SMTP conversa do remetente, e o campo destinatários lista os destinatários dessa conversa. SMTP Destinatários com domínios externos não são incluídos.

sender (remetente)

O endereço de e-mail do usuário que enviou a mensagem de e-mail em nome de outro usuário. Esse campo é definido somente quando uma mensagem de e-mail é enviada em nome de outro usuário.

subject

A linha de assunto do e-mail. Truncado quando exceder o limite de 256 caracteres.

messageId

Um ID exclusivo usado para acessar o conteúdo completo da mensagem de e-mail ao usar o Amazon WorkMail Message FlowSDK.

invocationId

O ID de uma invocação exclusiva do Lambda. Esse ID permanece o mesmo quando uma função Lambda é chamada mais de uma vez para a mesma. LambdaEventData Use para detectar novas tentativas e evitar duplicações.

flowDirection

Indica a direção do fluxo de e-mail, INBOUNDou OUTBOUND.

truncado

Aplicável ao tamanho da carga útil, não ao tamanho da linha de assunto. Quando true, o tamanho da carga ultrapassa o limite de 128 KB. Portanto, a lista de destinatários é truncada para ater-se ao limite.

Esquema de resposta síncrona de Executar o Lambda

Quando uma regra de fluxo de e-mail com uma ação síncrona Executar Lambda corresponde a uma mensagem de e-mail de entrada ou saída, a Amazon WorkMail chama a função Lambda configurada e espera pela resposta antes de agir na mensagem de e-mail. A função do Lambda retorna uma resposta de acordo com um esquema predefinido que lista as ações, os tipos de ação, os parâmetros aplicáveis e os destinatários aos quais se aplica a ação.

O esquema a seguir é um exemplo de resposta síncrona de Executar o Lambda. As respostas variam de acordo com a linguagem de programação usada para a função do Lambda.

{ "actions": [ { "action" : { "type": "string", "parameters": { various } }, "recipients": [list of strings], "allRecipients": boolean } ] }

A resposta JSON inclui os seguintes dados.

ação

A ação a ser executada para os destinatários.

tipo

O tipo de ação. Os tipos de ação não são retornados para ações assíncronas de Executar o Lambda.

Os tipos de ação de regras de entrada incluem BOUNCE, DROP, DEFAULT, BYPASS_ SPAM _ CHECK e MOVEJUNK_TO_. Para obter mais informações, consulte Ações de regras para e-mails recebidos.

Os tipos de ação de regras externas incluem BOUNCEDROP, e. DEFAULT Para obter mais informações, consulte Ações de regras para e-mails enviados.

parâmetros

Parâmetros de ação adicionais. Compatível com o tipo de BOUNCEação como um JSON objeto com a string de chave bounceMessagee valor. Essa mensagem de devolução é usada para criar a mensagem de e-mail de devolução.

recipients

Lista de endereços de e-mail nos quais a ação deve ser executada. É possível adicionar novos destinatários à resposta mesmo que eles não tenham sido incluídos na lista de destinatários original. Esse campo não é obrigatório se allRecipientsfor verdadeiro para uma ação.

nota

Quando uma ação do Lambda é chamada para e-mail de entrada, só é possível adicionar novos destinatários da sua organização. Os novos destinatários são adicionados à resposta como BCC.

allRecipients

Quando verdadeiro, aplica a ação a todos os destinatários que não estão sujeitos a outra ação específica na resposta do Lambda.

Limites da ação síncrona de Executar o Lambda

Os seguintes limites se aplicam quando a Amazon WorkMail invoca funções do Lambda para ações síncronas do Run Lambda:

  • As funções do Lambda devem responder em até 15 segundos ou ser tratadas como invocações com falha.

    nota

    O sistema repete a invocação para o intervalo de Tempo limite da regra especificado por você.

  • Respostas da função do Lambda de até 256 KB são permitidas.

  • Até 10 ações exclusivas são permitidas na resposta. As ações maiores que 10 estão sujeitas à Ação de fallbackconfigurada.

  • Até 500 destinatários são permitidos para funções do Lambda de saída.

  • O valor máximo de Tempo limite da regra é 240 minutos. Se o valor mínimo de 0 estiver configurado, não haverá novas tentativas antes que a Amazon WorkMail aplique a ação de fallback.

Falhas na ação síncrona de Executar o Lambda

Se a Amazon não WorkMail conseguir invocar sua função do Lambda devido a um erro, resposta inválida ou tempo limite do Lambda, a WorkMail Amazon tentará novamente a invocação com um atraso exponencial que diminui a taxa de processamento até que o período de tempo limite da regra seja concluído. Depois, a Ação de fallback é aplicada a todos os destinatários da mensagem de e-mail. Para obter mais informações, consulte Configurar regras síncronas de Executar o Lambda .

Exemplos de resposta síncrona de Executar o Lambda

Os exemplos a seguir demonstram a estrutura de respostas síncronas comuns de Executar o Lambda.

exemplo : Remover destinatários especificados de uma mensagem de e-mail

O exemplo a seguir demonstra a estrutura de uma resposta síncrona de Executar o Lambda para remover destinatários de uma mensagem de e-mail.

{ "actions": [ { "action": { "type": "DEFAULT" }, "allRecipients": true }, { "action": { "type": "DROP" }, "recipients": [ "drop-recipient@example.com" ] } ] }
exemplo : Devolver com uma mensagem de e-mail personalizada

O exemplo a seguir demonstra a estrutura de uma resposta síncrona de Executar o Lambda para devolução de uma mensagem de e-mail personalizada.

{ "actions" : [ { "action" : { "type": 'BOUNCE', "parameters": { "bounceMessage" : "Email in breach of company policy." } }, "allRecipients": true } ] }
exemplo : Adicionar destinatários a uma mensagem de e-mail

O exemplo a seguir demonstra a estrutura de uma resposta síncrona de Executar o Lambda para adicionar destinatários à mensagem de e-mail. Isso não atualiza os campos Para nem CC da mensagem de e-mail.

{ "actions": [ { "action": { "type": "DEFAULT" }, "recipients": [ "new-recipient@example.com" ] }, { "action": { "type": "DEFAULT" }, "allRecipients": true } ] }

Para obter mais exemplos de código para usar ao criar funções do Lambda para ações do Run Lambda, consulte os modelos do Amazon Lambda. WorkMail

Mais informações sobre o uso do Lambda com a Amazon WorkMail

Também é possível acessar o conteúdo completo da mensagem de e-mail que aciona a função do Lambda. Para obter mais informações, consulte Recuperando o conteúdo da mensagem com AWS Lambda.