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)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 ambos os casos; o Amazon SES não dá garantias de ordenação ou colocação em lotes para notificações enviadas por meio do 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.
-
O Amazon SES se reserva o direito de adicionar mais campos às notificações. Dessa forma, aplicações que analisam essas notificações devem ser flexíveis o suficiente para lidar com campos desconhecidos.
-
O Amazon SES sobrescreve os cabeçalhos da mensagem ao enviar o e-mail. Você pode recuperar os cabeçalhos da mensagem original dos campos
headers
ecommonHeaders
do objetomail
.
Objeto JSON de nível superior
O objeto JSON de nível superior em uma notificação do Amazon SES contém os campos a seguir.
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 ISO8601). |
messageId
|
Um ID exclusivo que o Amazon SES atribuiu à mensagem. O Amazon SES retornou esse valor quando você enviou a mensagem. notaEsse ID de mensagem foi atribuído pelo Amazon 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 Amazon SES. |
sendingAccountId
|
O ID da conta da Conta da AWS 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 Amazon 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 Amazon 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 no objeto |
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 Amazon 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 devolução, conforme determinado pelo Amazon SES. Para obter mais informações, consulte Tipos de devolução. |
bounceSubType
|
O subtipo da devolução, conforme determinado pelo Amazon 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 ISO8601). Observe que essa é a hora em que a notificação foi enviada pelo ISP, não a hora em que foi recebida pelo Amazon SES. |
feedbackId
|
Um ID exclusivo para a devolução. |
Se o Amazon SES conseguir entrar em contato com a Message Transfer Authority (MTA), o campo a seguir também estará presente.
Nome do campo | Descrição |
---|---|
remoteMtaIp
|
O endereço IP da MTA para o qual o Amazon 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 devolução contém um tipo de devolução Undetermined
, Permanent
ou Transient
. Os tipos de devolução Permanent
e Transient
também podem conter um dos vários subtipos de devolução.
Ao receber uma notificação de devolução com um tipo de devolução Transient
, você poderá enviar e-mails para esse destinatário no futuro se o problema que gerava a mensagem de devolução for resolvido.
Quando você recebe uma notificação de devolução com um tipo de devolução Permanent
, é improvável que possa enviar e-mails 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 flexível (uma devolução relacionada a um problema temporário, como quando a caixa de entrada do destinatário está cheia) o Amazon SES tenta enviar o e-mail durante determinado período. No fim desse período, se o Amazon SES ainda assim não conseguir entregar o e-mail, deixará de tentar.
O Amazon SES fornece notificações para devoluções definitivas, bem como para devoluções flexíveis que tenha parado de tentar entregar. 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 contêm informações suficientes para o Amazon SES determinar o motivo da devoluçã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 Usando a lista de supressão em SES nível de conta da Amazon. |
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 Amazon SES porque tem um histórico recente de gerar devoluções definitivas. Para substituir a lista de supressão global, consulte Usando a lista de supressão em SES nível de conta da Amazon. |
Permanent
|
OnAccountSuppressionList
|
O Amazon SES suprimiu o envio para este 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. |
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 iguais à data e à hora em que o Amazon 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 campo |
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, remover esse destinatário imediatamente de suas listas de endereços.
Importante
A maioria dos ISPs remove de sua notificação de reclamação o endereço de e-mail do destinatário que enviou a 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 Amazon SES realiza uma consulta para a mensagem original para determinar a 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 o Amazon SES entregou o e-mail ao servidor de e-mail do destinatário (em formato ISO8601). |
processingTimeMillis
|
O tempo em milissegundos desde quando o Amazon SES aceitou a solicitação do remetente até 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 Amazon 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 de host do servidor de e-mail do Amazon SES que enviou o e-mail. |
remoteMtaIp
|
O endereço IP da MTA à qual o Amazon 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" }