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 ter 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 região da AWS e da organização Conta da AWS da 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 região WorkMail da Amazon AWS. 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 nome do recurso da Amazon (ARN) do Lambda e configure as opções a seguir.

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 aplicará a todos os destinatários omitidos da resposta do Lambda se o sinalizador allRecipients não for definido. 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 não a invocar. 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 JSON do evento 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 como outro usuário ou em nome de outro usuário, o campo mailFrom retornará o endereço de e-mail do usuário em cujo nome a mensagem foi enviada, e não o endereço 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 do Lambda é invocada separadamente para cada conversão de SMTP do remetente, e o campo dos destinatários listará os destinatários dessa conversão de 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 SDK do Amazon WorkMail Message Flow.

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, ENTRADA ou SAÍDA.

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 dados a seguir.

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 regra de entrada incluem BOUNCE, DROP, DEFAULT, BYPASS_SPAM_CHECK e MOVE_TO_JUNK. Para ter mais informações, consulte Ações de regras para e-mails recebidos.

Os tipos de ação de regra de saída incluem BOUNCE, DROP e DEFAULT. Para ter 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 ação BOUNCE como um objeto JSON com a chave bounceMessage e o valor string. 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 será obrigatório se allRecipients for 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 ter 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 ter mais informações, consulte Recuperando o conteúdo da mensagem com AWS Lambda.