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á.
Conteúdo das notificações do Amazon SNS para o Amazon SES
As notificações de devolução, reclamação e entrega são publicadas nos tópicos do Amazon Simple Notification Service (Amazon SNS) no formato JavaScript Object Notation (JSON)notificationType, um objeto mail e um objeto bounce, um objeto complaint ou um objeto delivery.
Consulte as seções a seguir para obter descrições dos diferentes tipos de objetos:
A seguir estão algumas importantes observações sobre o conteúdo das notificações do Amazon SNS para o Amazon SES:
-
Para determinado tipo de notificação, você pode receber uma notificação do Amazon SNS para vários destinatários ou receber uma única notificação do Amazon SNS por destinatário. Seu código deve ser capaz de analisar a notificação do Amazon SNS e lidar com os dois casos; o SES não oferece garantias de pedidos ou lotes para notificações enviadas pelo Amazon SNS. No entanto, diferentes tipos de notificação do Amazon SNS (por exemplo, devoluções e reclamações) nunca são reunidos em uma única notificação.
-
Você pode receber vários tipos de notificações do Amazon SNS para um só destinatário. Por exemplo, o servidor de e-mail de recebimento pode aceitar o e-mail (acionando uma notificação de entrega), mas depois de processar o e-mail, acabar determinando que o e-mail, na verdade, resulta em uma devolução (acionando uma notificação de devolução). Mas essas notificações sempre são notificações separadas porque são tipos distintos de notificação.
-
A SES se reserva o direito de adicionar campos adicionais às notificações. Dessa forma, aplicações que analisam essas notificações devem ser flexíveis o suficiente para lidar com campos desconhecidos.
-
O SES substitui os cabeçalhos da mensagem ao enviar o e-mail. Você pode recuperar os cabeçalhos da mensagem original dos campos
headersecommonHeadersdo objetomail.
Objeto JSON de nível superior
O objeto JSON de nível superior em uma notificação do SES contém os seguintes campos.
| Nome do campo | Descrição |
|---|---|
notificationType |
Uma string que contém o tipo de notificação representado pelo objeto JSON. Os valores são Se você configurou a publicação de eventos, este campo é chamado de |
mail |
Um objeto JSON que contém informações sobre o e-mail original ao qual a notificação pertence. Para obter mais informações, consulte Objeto de e-mail. |
bounce |
Este campo estará presente somente se |
complaint |
Este campo estará presente somente se |
delivery |
Este campo estará presente somente se |
Objeto de e-mail
Cada notificação de devolução, reclamação ou entrega contém informações sobre o e-mail original no objeto mail. O objeto JSON que contém informações sobre um objeto mail tem os seguintes campos.
| Nome do campo | Descrição |
|---|---|
timestamp
|
A hora em que a mensagem original foi enviada (no formato ISO86 01). |
messageId
|
Uma ID exclusiva que o SES atribuiu à mensagem. O SES retornou esse valor para você quando você enviou a mensagem. notaEssa ID de mensagem foi atribuída pelo SES. Você pode encontrar o ID da mensagem do e-mail original no campo |
source
|
O endereço de e-mail do qual a mensagem original foi enviada (o endereço MAIL FROM no envelope). |
sourceArn
|
O nome de recurso da Amazon (ARN) da identidade que foi usada para enviar o e-mail. No caso de autorização de envio, o |
sourceIp
|
O endereço IP público de origem do cliente que realizou a solicitação de envio de e-mail ao SES. |
sendingAccountId
|
O Conta da AWS ID da conta que foi usada para enviar o e-mail. No caso de autorização de envio, |
callerIdentity
|
A identidade do IAM do usuário do SES que enviou o e-mail. |
destination
|
Uma lista de endereços de e-mail que foram destinatários da mensagem original. |
headersTruncated
|
Esse objeto só está presente se você definiu as configurações de notificação para incluir os cabeçalhos de e-mail originais. Indica se os cabeçalhos estão truncados na notificação. O SES trunca os cabeçalhos na notificação quando os cabeçalhos da mensagem original têm 10 KB ou mais. Os possíveis valores são |
headers
|
Esse objeto só está presente se você definiu as configurações de notificação para incluir os cabeçalhos de e-mail originais. Uma lista com os cabeçalhos originais do e-mail. Cada cabeçalho tem um campo notaQualquer ID de mensagem dentro do |
commonHeaders
|
Esse objeto só está presente se você definiu as configurações de notificação para incluir os cabeçalhos de e-mail originais. Inclui informações sobre cabeçalhos de e-mail comuns do e-mail original, incluindo os campos From (De), To (Para) e Subject (Assunto). Dentro desse objeto, cada cabeçalho é uma chave. Os campos From (De) e To (Para) são representados por matrizes que podem conter vários valores. notaPara eventos, qualquer ID de mensagem no campo |
Veja a seguir um exemplo de um objeto mail que inclui os cabeçalhos de e-mail originais. Quando esse tipo de notificação não estiver configurado para incluir cabeçalhos de e-mail originais, o objeto mail não incluirá os campos headersTruncated, headers e commonHeaders.
{ "timestamp":"2018-10-08T14:05:45 +0000", "messageId":"000001378603177f-7a5433e7-8edb-42ae-af10-f0181f34d6ee-000000", "source":"sender@example.com", "sourceArn": "arn:aws:ses:us-east-1:888888888888:identity/example.com", "sourceIp": "127.0.3.0", "sendingAccountId":"123456789012", "destination":[ "recipient@example.com" ], "headersTruncated":false, "headers":[ { "name":"From", "value":"\"Sender Name\" <sender@example.com>" }, { "name":"To", "value":"\"Recipient Name\" <recipient@example.com>" }, { "name":"Message-ID", "value":"custom-message-ID" }, { "name":"Subject", "value":"Hello" }, { "name":"Content-Type", "value":"text/plain; charset=\"UTF-8\"" }, { "name":"Content-Transfer-Encoding", "value":"base64" }, { "name":"Date", "value":"Mon, 08 Oct 2018 14:05:45 +0000" } ], "commonHeaders":{ "from":[ "Sender Name <sender@example.com>" ], "date":"Mon, 08 Oct 2018 14:05:45 +0000", "to":[ "Recipient Name <recipient@example.com>" ], "messageId":" custom-message-ID", "subject":"Message sent using SES" } }
Objeto de devolução
O objeto JSON que contém informações sobre devoluções contém os campos a seguir.
| Nome do campo | Descrição |
|---|---|
bounceType
|
O tipo de salto, conforme determinado pelo SES. Para obter mais informações, consulte Tipos de devolução. |
bounceSubType
|
O subtipo do salto, conforme determinado pelo SES. Para obter mais informações, consulte Tipos de devolução. |
bouncedRecipients
|
Uma lista que contém informações sobre os destinatários da mensagem original que foi devolvida. Para obter mais informações, consulte Destinatários com mensagens devolvidas. |
timestamp
|
A data e a hora em que a devolução foi enviada (no formato ISO86 01). Observe que essa é a hora em que a notificação foi enviada pelo ISP, e não a hora em que ela foi recebida pelo SES. |
feedbackId
|
Um ID exclusivo para a devolução. |
Se o SES conseguiu entrar em contato com a Autoridade de Transferência de Mensagens (MTA) remota, o campo a seguir também estará presente.
| Nome do campo | Descrição |
|---|---|
remoteMtaIp
|
O endereço IP do MTA para o qual a SES tentou entregar o e-mail. |
Se uma notificação do status de entrega (DSN) tiver sido anexada à devolução, o campo a seguir também estará presente.
| Nome do campo | Descrição |
|---|---|
reportingMTA
|
O valor do campo |
Veja a seguir um exemplo de um objeto bounce.
{ "bounceType":"Permanent", "bounceSubType": "General", "bouncedRecipients":[ { "status":"5.0.0", "action":"failed", "diagnosticCode":"smtp; 550 user unknown", "emailAddress":"recipient1@example.com" }, { "status":"4.0.0", "action":"delayed", "emailAddress":"recipient2@example.com" } ], "reportingMTA": "example.com", "timestamp":"2012-05-25T14:59:38.605Z", "feedbackId":"000001378603176d-5a4b5ad9-6f30-4198-a8c3-b1eb0c270a1d-000000", "remoteMtaIp":"127.0.2.0" }
Destinatários com mensagens devolvidas
Uma notificação de devolução pode pertencer a um único destinatário ou a vários destinatários. O campo bouncedRecipients contém uma lista de objetos – um para cada destinatário ao qual a notificação de devolução pertence – e sempre conterá o campo a seguir.
| Nome do campo | Descrição |
|---|---|
emailAddress
|
O endereço de e-mail do destinatário. Se um DSN estiver disponível, esse será o valor do campo |
Opcionalmente, se um DSN estiver conectado à devolução, os seguintes campos também poderão estar presentes.
| Nome do campo | Descrição |
|---|---|
action
|
O valor do campo |
status
|
O valor do campo |
diagnosticCode
|
O código de status emitido pelo MTA de relatório. Esse é o valor do campo |
Veja a seguir um exemplo de um objeto que pode estar na lista bouncedRecipients.
{ "emailAddress": "recipient@example.com", "action": "failed", "status": "5.0.0", "diagnosticCode": "X-Postfix; unknown user" }
Tipos de devolução
O objeto de ressalto contém um tipo de ressalto deUndetermined, Permanent (rígido) ou Transient (suave). Os tipos de salto Permanent Transient(rígido) e (suave) também podem conter um dos vários subtipos de salto.
Ao receber uma notificação de devolução com um tipo de devolução Transient (flexível), você poderá enviar um e-mail para esse destinatário no futuro se o problema que causou a rejeição da mensagem for resolvido.
Quando você recebe uma notificação de devolução com um tipo de devolução Permanent (difícil), é improvável que você consiga enviar um e-mail para esse destinatário no futuro. Por esse motivo, você deve remover imediatamente de sua listas de endereços o destinatário cujo endereço gerou a devolução.
nota
Quando ocorre uma devolução suave (uma devolução relacionada a um problema temporário, como a caixa de entrada do destinatário estar cheia), a SES tenta reenviar o e-mail por um determinado período de tempo. Ao final desse período, se a SES ainda não conseguir entregar o e-mail, ela para de tentar.
O SES fornece notificações para devoluções rígidas e para devoluções suaves que ele parou de tentar fornecer. Se quiser receber uma notificação sempre que ocorrer uma devolução flexível, habilite a publicação de eventos e configure-a para enviar notificações quando ocorrerem eventos de atraso de entrega.
| bounceType | bounceSubType | Descrição |
|---|---|---|
Undetermined
|
Undetermined
|
O provedor de e-mail do destinatário enviou uma mensagem de devolução. A mensagem de devolução não continha informações suficientes para que o SES determinasse o motivo da rejeição. O e-mail de devolução, que foi enviado ao endereço no cabeçalho Return-Path do e-mail que provocou a devolução, pode conter informações adicionais sobre o problema que fez o e-mail ser devolvido. |
Permanent
|
General
|
O provedor de e-mail do destinatário enviou uma mensagem de devolução definitiva. ImportanteQuando você recebe esse tipo de notificação de devolução, deve remover imediatamente o endereço de e-mail do destinatário de sua lista de endereços. O envio de mensagens para endereços que geram devoluções definitivas pode afetar negativamente sua reputação como remetente. Se continuar a enviar e-mails para endereços que geram devoluções definitivas, provavelmente teremos de pausar o envio de e-mails subsequentes. Consulte Como usar a lista de supressão do Amazon SES por conta. |
Permanent
|
NoEmail
|
Não foi possível recuperar o endereço de e-mail do destinatário da mensagem de devolução. |
Permanent
|
Suppressed
|
O endereço de e-mail do destinatário está na lista de supressão do SES porque tem um histórico recente de produção de devoluções difíceis. Para substituir a lista de supressão global, consulte Como usar a lista de supressão do Amazon SES por conta. |
Permanent
|
OnAccountSuppressionList
|
O SES suprimiu o envio para esse endereço porque ele está na lista de supressão no nível da conta. Isso não conta para sua métrica de taxa de devolução. |
Permanent
|
UnsubscribedRecipient
|
Esse tipo de rejeição ocorre quando o contato do destinatário cancela a assinatura do tópico e um e-mail é enviado a ele usando as opções de gerenciamento de listas. A SES respeita a preferência de contato e não tenta a entrega. Além disso, essa rejeição não afeta a reputação do remetente, pois a entrega não foi tentada, nem o contato do destinatário é adicionado a uma lista de supressão devido à rejeição. dicaÉ recomendável que você se inscreva em UnsubscribedRecipient eventos para evitar o envio contínuo para destinatários não inscritos. ConsidereUso do gerenciamento de listas. O gerenciamento de listas deve ser a fonte da verdade para sua lista de assinantes. Do ponto de vista da fiscalização do SES, se você continuar enviando para destinatários suprimidos ou não inscritos, terá a reputação de não seguir as melhores práticas de envio de e-mails. |
Transient
|
General
|
O provedor de e-mail do destinatário enviou uma mensagem de devolução genérica. Você pode enviar uma mensagem para o mesmo destinatário no futuro se o problema que gerou a mensagem de devolução for resolvido. notaSe enviar um e-mail para um destinatário que tem uma regra de resposta automática (como uma mensagem "fora do escritório"), você poderá receber esse tipo de notificação. Mesmo que a resposta tenha um tipo de notificação |
Transient
|
MailboxFull
|
O provedor de e-mail do destinatário enviou uma mensagem de devolução porque a caixa de entrada do destinatário está cheia. Você poderá enviar mensagens para esse mesmo destinatário no futuro quando a caixa postal não estiver mais cheia. |
Transient
|
MessageTooLarge
|
O provedor de e-mail do destinatário enviou uma mensagem de devolução porque a mensagem que você enviou era muito grande. Você poderá enviar uma mensagem a esse mesmo destinatário se diminuir o tamanho da mensagem. |
Transient
|
ContentRejected
|
O provedor de e-mail do destinatário enviou uma mensagem de devolução porque o conteúdo da mensagem que você enviou não é permitido pelo provedor. Você poderá enviar uma mensagem para esse mesmo destinatário se alterar o conteúdo da mensagem. |
Transient
|
AttachmentRejected
|
O provedor de e-mail do destinatário enviou uma mensagem de devolução porque a mensagem continha um anexo inaceitável. Por exemplo, alguns provedores de e-mail podem rejeitar mensagens com anexos de determinado tipo de arquivo ou mensagens com anexos muito grandes. Você poderá enviar uma mensagem para esse mesmo destinatário se remover ou alterar o conteúdo da mensagem. |
Objeto de reclamação
O objeto JSON que contém informações sobre reclamações tem os campos a seguir.
| Nome do campo | Descrição |
|---|---|
complainedRecipients
|
Uma lista que contém informações sobre os destinatários que podem ter sido responsáveis pela reclamação. Para obter mais informações, consulte Destinatários que reclamaram. |
timestamp
|
A data e a hora, no formato ISO 8601, em que o ISP enviou a notificação de reclamação. A data e a hora nesse campo podem não ser as mesmas da data e hora em que o SES recebeu a notificação. |
feedbackId
|
Um ID exclusivo associado à reclamação. |
complaintSubType
|
O valor do campo |
Além disso, se um relatório de feedback estiver conectado à reclamação, os campos a seguir poderão estar presentes.
| Nome do campo | Descrição |
|---|---|
userAgent
|
O valor do campo |
complaintFeedbackType
|
O valor do campo |
arrivalDate
|
O valor do |
Veja a seguir um exemplo de um objeto complaint.
{ "userAgent":"ExampleCorp Feedback Loop (V0.01)", "complainedRecipients":[ { "emailAddress":"recipient1@example.com" } ], "complaintFeedbackType":"abuse", "arrivalDate":"2009-12-03T04:24:21.000-05:00", "timestamp":"2012-05-25T14:59:38.623Z", "feedbackId":"000001378603177f-18c07c78-fa81-4a58-9dd1-fedc3cb8f49a-000000" }
Destinatários que reclamaram
O campo complainedRecipients contém uma lista de destinatários que podem ter enviado a reclamação. Você deve usar essas informações para determinar qual destinatário enviou a reclamação e, em seguida, removê-lo imediatamente de suas listas de e-mails.
Importante
A maioria ISPs remove o endereço de e-mail do destinatário que enviou a reclamação da notificação de reclamação. Por esse motivo, essa lista contém informações sobre os destinatários que podem ter enviado a reclamação, com base nos destinatários da mensagem original e no ISP do qual recebemos a reclamação. O SES realiza uma pesquisa na mensagem original para determinar essa lista de destinatários.
Os objetos JSON desta lista contêm o seguinte campo.
| Nome do campo | Descrição |
|---|---|
emailAddress
|
O endereço de e-mail do destinatário. |
Veja a seguir um exemplo de um objeto de uma reclamação do destinatário.
{ "emailAddress": "recipient1@example.com" }
nota
Por conta desse comportamento, você pode ter mais certeza quais endereços de e-mail reclamaram sobre sua mensagem se limitar seu envio para uma mensagem por destinatário (em vez de enviar uma mensagem com 30 diferentes endereços de e-mail na linha CCO).
Tipos de reclamação
Você pode ver os seguintes tipos de reclamação no campo complaintFeedbackType conforme atribuído pelo ISP que gerou o relatório, de acordo com o site da Internet Assigned Numbers Authority
-
abuse– Indica e-mail não solicitado ou algum outro tipo de abuso de e-mail. -
auth-failure– Relatório de falha de autenticação de e-mail. -
fraud– Indica algum tipo de atividade de phishing ou fraude. -
not-spam: indica que a entidade que fornece o relatório não considera a mensagem spam. Isso pode ser usado para corrigir uma mensagem que foi incorretamente marcada ou classificada como spam. -
other– Indica qualquer outro feedback que não se adequa a outros tipos registrados. -
virus– Reporta que um vírus foi encontrado na mensagem de origem.
Objeto de entrega
O objeto JSON que contém informações sobre entregas sempre tem os campos a seguir.
| Nome do campo | Descrição |
|---|---|
timestamp
|
A hora em que a SES entregou o e-mail ao servidor de e-mail do destinatário (no formato ISO86 01). |
processingTimeMillis
|
O tempo em milissegundos entre o momento em que o SES aceitou a solicitação do remetente e a transmissão da mensagem para o servidor de e-mail do destinatário. |
recipients
|
Uma lista dos destinatários pretendidos do e-mail ao qual a notificação de entrega se aplica. |
smtpResponse
|
A mensagem de resposta SMTP do ISP remoto que aceitou o e-mail do SES. Essa mensagem varia de acordo com o e-mail, o servidor de e-mail de recebimento e o ISP de recebimento. |
reportingMTA
|
O nome do host do servidor de e-mail SES que enviou o e-mail. |
remoteMtaIp
|
O endereço IP do MTA para o qual a SES entregou o e-mail. |
Veja a seguir um exemplo de um objeto delivery.
{ "timestamp":"2014-05-28T22:41:01.184Z", "processingTimeMillis":546, "recipients":["success@simulator.amazonses.com"], "smtpResponse":"250 ok: Message 64111812 accepted", "reportingMTA":"a8-70.smtp-out.amazonses.com", "remoteMtaIp":"127.0.2.0" }