Monitorando SES eventos usando a Amazon EventBridge - Amazon Simple Email Service

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

Monitorando SES eventos usando a Amazon EventBridge

EventBridge é um serviço sem servidor que usa eventos para conectar componentes do aplicativo, facilitando a criação de aplicativos escaláveis orientados por eventos. A arquitetura orientada por eventos é um estilo de criação de sistemas de software com acoplamento fraco que funcionam juntos emitindo e respondendo a eventos. Eventos são mensagens JSON formatadas que normalmente representam uma mudança em um recurso ou ambiente, ou outro evento de gerenciamento.

Certos SES recursos gerarão e enviarão eventos que você define ao criar um destino de evento para o barramento de eventos EventBridge padrão. Um barramento de eventos é um roteador que recebe eventos e os entrega a zero ou mais destinos, ou alvos. As regras que você associa ao barramento de eventos avaliam os eventos à medida que eles chegam. Cada regra verifica se um evento corresponde ao padrão da regra. Se o evento corresponder, EventBridge envia o evento para os destinos especificados.

SESenvia eventos para EventBridge quando um recurso tem uma mudança de estado ou atualização de status. Você pode usar EventBridge regras para rotear eventos para seus alvos definidos. O máximo esforço será feito para que esses eventos sejam entregues e eles poderão ser entregues fora de ordem.

SESeventos

Os eventos a seguir são gerados por SES recursos e enviados para o barramento de eventos padrão em EventBridge. Para obter mais informações, incluindo dados detalhados de cada tipo de evento, consulteSESreferência do esquema de eventos.

Eventos de consultoria do Virtual Deliverability Manager
Tipo de evento Descrição

Status de recomendação do consultor aberto

Um evento gerado sempre que uma nova recomendação é aberta no consultor do Gerenciador Virtual de Capacidade de Entrega.

Status de recomendação do consultor resolvido

Um evento gerado sempre que uma recomendação é resolvida no consultor do Gerenciador Virtual de Capacidade de Entrega.

SESeventos de envio de e-mail
Tipo de evento Descrição

E-mail devolvido

Uma rejeição forçada de que o servidor de e-mail do destinatário rejeitou permanentemente o e-mail. (Os soft bounces só são incluídos quando o e-mail SES não é entregue após uma nova tentativa por um período de tempo.)

E-mail clicado

O destinatário clicou em um ou mais links no e-mail.

Reclamação por e-mail recebida

O e-mail foi entregue com sucesso ao servidor de e-mail do destinatário, mas o destinatário o marcou como spam.

E-mail entregue

SESentregou com sucesso o e-mail ao servidor de e-mail do destinatário.

Entrega de e-mail atrasada

O e-mail não pôde ser entregue ao servidor de e-mail do destinatário porque ocorreu um problema temporário. Atrasos de entrega podem ocorrer, por exemplo, quando a caixa de entrada do destinatário está cheia ou quando o servidor de recebimento de e-mail enfrenta um problema transitório.

E-mail aberto

O destinatário recebeu a mensagem e a abriu em seu cliente de e-mail.

E-mail rejeitado

SESaceitou o e-mail, mas determinou que ele continha um vírus e não tentou entregá-lo ao servidor de e-mail do destinatário.

Falha na renderização de e-mail

O e-mail não foi enviado devido a um problema de renderização do modelo. Esse tipo de evento pode ocorrer quando estão faltando dados no modelo ou quando há uma incompatibilidade entre os parâmetros e os dados do modelo. (Esse tipo de evento ocorre somente quando você envia um e-mail usando as SendBulkTemplatedEmailAPIoperações SendTemplatedEmailou.)

E-mail enviado

A solicitação de envio foi bem-sucedida e SES tentará entregar a mensagem ao servidor de e-mail do destinatário. (Se a supressão global ou em nível de conta estiver sendo usada, ainda SES será contabilizada como um envio, mas a entrega será suprimida.)

E-mail inscrito

O e-mail foi entregue com sucesso, mas o destinatário atualizou as preferências de assinatura clicando List-Unsubscribe no cabeçalho do e-mail ou no Unsubscribe link no rodapé.

SESreferência do esquema de eventos

Todos os eventos dos AWS serviços têm um conjunto comum de campos contendo metadados sobre o evento, como o AWS serviço que é a origem do evento, a hora em que o evento foi gerado, a conta e a região em que o evento ocorreu e outros. Para obter definições desses campos gerais, consulte Referência de estrutura de eventos no Guia EventBridge do usuário.

Além disso, cada evento tem um campo de detail que contém dados específicos desse determinado evento. A referência abaixo define os campos de detalhes dos vários SES eventos.

Ao usar EventBridge para selecionar e gerenciar SES eventos, é útil ter em mente o seguinte:

  • O source campo para todos os eventos de SES está definido comoaws.ses.

  • O campo do detail-type especifica o tipo de evento. Veja a tabela de tipos de eventos emSESeventos.

  • O campo de detail contém os dados específicos desse determinado evento.

    Para alguns tipos de eventos, como os do Virtual Deliverability Manager, o campo de detalhes é uma sequência de dados bastante simplista que é preenchida a partir de um conjunto finito de valores estáticos. Por outro lado, o campo de detalhes para eventos de envio de e-mail é mais complexo, pois pode consistir em vários subcampos de detalhes que são uma combinação de valores estáticos e dinâmicos, como o timestamp de quando um e-mail foi enviado, o endereço do destinatário e muitos outros atributos de e-mail.

Esquema de status do consultor do Gerenciador Virtual de Capacidade de Entrega

A referência de esquema a seguir define os campos específicos dos eventos de status do consultor do Virtual Deliverability Manager.

As definições dos campos gerais que aparecem em todos os esquemas de eventos (comoversion, idaccount, e outros) podem ser encontradas na referência de estrutura de eventos no Guia do EventBridge Usuário. Os detail-type campos source e estão incluídos na referência abaixo porque contêm valores SES específicos para SES eventos.

source

Identifica o serviço que gerou o evento. Para SES eventos, esse valor éaws.ses.

detail-type

Identifica o tipo de evento.

Os valores desse campo estão listados na tabela de eventos do consultor do Virtual Deliverability Manager emSESeventos.

detail

Um JSON objeto que contém informações sobre o evento. O serviço que gera o evento determina o conteúdo desse campo.

Os valores desse campo podem ser:

  • DKIM verification is not enabled.

  • DKIM verification has failed.

  • DKIM signing key length is below 2048 bits.

  • DMARC configuration was not found.

  • DMARC configuration could not be parsed.

  • DKIM record was not found.

  • DKIM record is not aligned.

  • MAIL FROM record is not aligned.

  • SPF record was not found.

  • SPF record for Amazon SES was not found.

  • SPF all qualifier is missing.

  • An SPF configuration issue was found.

  • BIMI record not found or configured without default selector.

  • BIMI has malformed TXT record.

exemplo Exemplo: evento de status do consultor do Gerenciador Virtual de Capacidade de Entrega

Veja a seguir um exemplo de evento de status de consultor do Gerenciador Virtual de Capacidade de Entrega para o tipo de evento Advisor Recommendation Status Open. O valor do evento detalhado neste exemplo éSPF record was not found..

{ "version": "0", "id": "abcd9999-ef33-0123-90ab-abcdef666666", "detail-type": "Advisor Recommendation Status Open", "source": "aws.ses", "account": "012345678901", "time": "2023-11-15T17:00:59Z", "region": "us-east-1", "resources": [ "arn:aws:ses:us-east-1:012345678901:identity/vdm.events-publishing.cajun.syster-games.example.com" ], "detail": { "version": "1.0.0", "data": "SPF record was not found." } }

SESesquema de status de envio de e-mail

A referência de esquema a seguir define os campos específicos para eventos de status SES de envio de e-mail.

As definições dos campos gerais que aparecem em todos os esquemas de eventos (comoversion, idaccount, e outros) podem ser encontradas na referência de estrutura de eventos no Guia do EventBridge Usuário. Os detail-type campos source e estão incluídos na referência abaixo porque contêm valores SES específicos para SES eventos.

source

Identifica o serviço que gerou o evento. Para SES eventos, esse valor éaws.ses.

detail-type

Identifica o tipo de evento.

Os valores desse campo estão listados na tabela de eventos de envio de SES e-mail emSESeventos.

detail

Um JSON objeto que contém informações sobre o evento. O serviço que gera o evento determina o conteúdo desse campo.

Todos os valores possíveis para esse campo não podem ser listados aqui porque são compostos por valores estáticos e dinâmicos que são gerados por cada e-mail exclusivo enviado a qualquer momento. No entanto, um exemplo é fornecido para dar uma ideia do tipo de dados que esse campo pode conter. Exemplos de dados detalhados de todos os tipos de eventos de envio de e-mail podem ser encontrados usando o EventBridge Sandbox, consulteEspecifique um evento de amostra em EventBridge.

Um exemplo de dados detalhados gerados para o evento SES de envio de e-mailEmail Rendering Failed:

..., "detail": { "eventType": "Rendering Failure", "mail": { "timestamp": "2018-01-22T18:43:06.197Z", "source": "sender@example.com", "sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com", "sendingAccountId": "123456789012", "messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000", "destination": ["recipient@example.com"], "headersTruncated": false, "tags": { "ses:configuration-set": ["ConfigSet"] } }, "failure": { "errorMessage": "Attribute 'attributeName' is not present in the rendering data.", "templateName": "MyTemplate" } }
exemplo Exemplo: evento de status de envio de e-mail

Veja a seguir um exemplo do evento completo de status de envio de e-mail para o tipo de eventoEmail Rendering Failed. O valor do evento detalhado neste exemplo é uma combinação de valores estáticos e dinâmicos com base no evento de envio de e-mail para um e-mail específico.

{ "version": "0", "id": "12a18625-3328-fafd-2809-a5e16004f112", "detail-type": "Email Rendering Failed", "source": "aws.ses", "account": "123456789012", "time": "2023-07-17T16:48:05Z", "region": "us-east-1", "resources": ["arn:aws:ses:us-east-1:123456789012:identity/example.com"], "detail": { "eventType": "Rendering Failure", "mail": { "timestamp": "2018-01-22T18:43:06.197Z", "source": "sender@example.com", "sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com", "sendingAccountId": "123456789012", "messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000", "destination": ["recipient@example.com"], "headersTruncated": false, "tags": { "ses:configuration-set": ["ConfigSet"] } }, "failure": { "errorMessage": "Attribute 'attributeName' is not present in the rendering data.", "templateName": "MyTemplate" } } }

Usando EventBridge com SES eventos

Por padrão, SES envia eventos para o barramento de eventos EventBridge padrão. Você pode criar regras no barramento de eventos padrão para identificar eventos específicos e enviá-los EventBridge para um ou mais destinos específicos. Cada regra contém um padrão de evento que é EventBridge usado para combinar os eventos à medida que eles chegam no ônibus do evento. Se um evento corresponder ao padrão de evento de uma determinada regra, EventBridge enviará o evento para o destino especificado na regra.

Em EventBridge, definir um padrão de evento normalmente faz parte do processo maior de criação de uma nova regra ou edição de uma existente. Para saber como criar EventBridge regras, consulte Criação de EventBridge regras da Amazon que reagem a eventos no Guia EventBridge do usuário.

Ao usar o recurso Sandbox em EventBridge, você pode definir rapidamente um padrão de evento e usar um evento de amostra para confirmar se o padrão corresponde aos eventos desejados, sem precisar primeiro criar ou editar uma regra. Para obter instruções detalhadas sobre como usar o Sandbox, consulte Testando um padrão de evento usando o EventBridge Sandbox no Guia do EventBridge usuário.

Especifique um evento de SES amostra no EventBridge Sandbox

Você pode selecionar eventos de amostra para SES eventos para usá-los no teste dos padrões de eventos que você cria.

Para especificar um evento SES de amostra no EventBridge Sandbox
  1. Abra o EventBridge console da Amazon em https://console.aws.amazon.com/events/.

  2. No painel de navegação, escolha Recursos do desenvolvedor, depois selecione Sandbox e, na página do Sandbox, escolha a guia Padrão do evento.

  3. Em Origem do evento, escolha AWS eventos ou eventos de EventBridge parceiros.

  4. Na seção Evento de exemplo, em Tipo de evento de exemplo, selecione Eventos da AWS .

  5. Para Eventos de amostra, role para baixo até o SES evento desejado SESe selecione-o.

    EventBridge exibe um evento de amostra, junto com todos os seus dados detalhados, para o tipo de evento.

    Em seguida, você pode usar esse evento para testar o padrão de evento criado na seção Padrão de eventos ou usá-lo como base para criar seus próprios eventos de amostra para testes de padrões abordados na seção a seguir.

Criação e teste de padrões de SES eventos para eventos

Depois de selecionar um evento de amostra, conforme explicado na seção anterior, você pode criar um padrão de evento e usar o evento de amostra para garantir que ele corresponda aos eventos conforme desejado.

Para criar e testar um padrão de evento que corresponda aos SES eventos no EventBridge Sandbox
  1. Abra o EventBridge console da Amazon em https://console.aws.amazon.com/events/.

  2. No painel de navegação, escolha Recursos do desenvolvedor, depois selecione Sandbox e, na página do Sandbox, escolha a guia Padrão do evento.

  3. Em Origem do evento, escolha AWS eventos ou eventos de EventBridge parceiros e selecione o evento de amostra que você deseja testar, conforme explicado na seção anterior.

  4. Role para baixo até Método de criação e escolha Usar formulário padrão.

  5. Na seção Padrão de evento, em Fonte do evento, escolha Serviços da AWS .

  6. Em AWS serviço, selecione SES.

  7. Em Tipo de evento, selecione o tipo de SES evento que você deseja combinar.

    EventBridge exibe o padrão mínimo de eventos, composto por detail-type campos source e, que corresponde ao SES evento selecionado.

    Nos dois exemplos, o primeiro padrão de evento coincide com todos os Advisor Recommendation Status Resolved eventos e, no segundo, com todos os Email Bounced eventos:

    { "source": ["aws.ses"], "detail-type": ["Advisor Recommendation Status Resolved"] }
    { "source": ["aws.ses"], "detail-type": ["Email Bounced"] }
  8. Para fazer alterações no padrão do evento, selecione Editar padrão e faça suas alterações no JSON editor.

    Você também pode fazer a correspondência de valores em um ou mais campos de dados detalhados. Isso inclui especificar vários valores possíveis para um valor de campo.

    No exemplo a seguir, o campo de detalhes foi adicionado ao padrão mínimo de eventos gerado com o valor do data campo especificado como DKIM record was not found para encontrar todos os eventos do consultor do Virtual Deliverability Manager com o mesmo valor de detalhe:

    { "source": ["aws.ses"], "detail-type": ["Advisor Recommendation Status Resolved"], "detail": { "data": ["DKIM record was not found."] } }

    Neste exemplo, subcampos detalhados foram adicionados para relatar eventos gerados por todos os e-mails enviados de noreply@example.com em 05/08/2024 que foram devolvidos. (A correspondência de prefixos está sendo usada aqui como parte da filtragem de conteúdo. ):

    { "source": ["aws.ses"], "detail-type": ["Email Bounced"], "detail": { "mail": { "timestamp": [{ "prefix": "2024-08-05" }], "source": ["noreply@example.com"] } } }

    É importante que você leia os padrões de eventos no Guia do EventBridge usuário. Ele explica que o valor do padrão de evento inserido no JSON editor deve estar entre colchetes [...] porque é considerado uma matriz. Essas e mais informações sobre como construir padrões de eventos avançados também são fornecidas.

  9. Para testar se seu padrão de evento corresponde ao evento de amostra que você especificou no painel Evento de amostra acima, selecione Padrão de teste. Se corresponder, um banner verde na parte inferior do JSON editor exibirá: “O evento de amostra correspondeu ao padrão do evento”.

  10. Para solucionar erros após selecionar Padrão de teste:

    • Se houver erros JSON relacionados, a mensagem indicará o motivo, como “O padrão do evento não é válido. Motivo: “dados” devem ser um objeto ou uma matriz na linha: 5, coluna: 14". Para remediar isso, coloque o valor na linha 5 com colchetes[...].

    • Se houver uma discrepância entre os valores no evento de amostra e seu padrão de evento, a mensagem será: “O evento de amostra não correspondeu ao padrão do evento”. Isso significa que um ou mais valores que você deseja testar são diferentes dos valores de exemplo gerados pelo gerador de eventos de amostra. Para remediar isso, continue com as etapas restantes.

  11. Para alterar os valores de amostra no evento Sample a fim de testar com sucesso seu padrão de evento, no painel Sample event, selecione Copiar no JSON editor.

  12. Selecione o botão de rádio ao lado de Digite meu próprio tipo de evento para amostra acima do editor.

  13. Cole o evento de amostra no JSON editor e, para qualquer campo que você estiver usando no seu padrão de evento, substitua o valor desse mesmo campo para corresponder ao valor especificado no seu padrão de evento.

  14. Role de volta até o painel Padrão de eventos e selecione Padrão de teste novamente. Se todos os valores forem inseridos corretamente e corresponderem, um banner verde na parte inferior do JSON editor exibirá: “Evento de amostra correspondeu ao padrão do evento”.

EventBridge Recursos adicionais

Consulte os tópicos a seguir no Guia EventBridge do usuário da Amazon para obter mais informações sobre como usar EventBridge para processar e gerenciar eventos.