Ses DG
Ses DG
Ses DG
Guia do desenvolvedor
Amazon Simple Email Service Guia do desenvolvedor
As marcas comerciais e imagens de marcas da Amazon não podem ser usadas no contexto de nenhum produto
ou serviço que não seja da Amazon, nem de qualquer maneira que possa gerar confusão entre os clientes ou que
deprecie ou desprestigie a Amazon. Todas as outras marcas comerciais que não pertencem à Amazon pertencem a
seus respectivos proprietários, que podem ou não ser afiliados, patrocinados pela Amazon ou ter conexão com ela.
Amazon Simple Email Service Guia do desenvolvedor
Table of Contents
O que é o Amazon SES? .................................................................................................................... 1
Benefícios ................................................................................................................................. 1
Serviços relacionados da ............................................................................................................. 1
Preços ...................................................................................................................................... 2
Regiões ..................................................................................................................................... 2
Regiões e endpoints do Amazon SES ................................................................................... 2
Remoção da sandbox e aumento de limite de envio ................................................................ 3
Verificação de endereços de e-mail e domínios ....................................................................... 3
Easy DKIM ........................................................................................................................ 3
Usar a lista de supressão no nível da conta ........................................................................... 3
Notificações de feedback ..................................................................................................... 3
Credenciais de SMTP ......................................................................................................... 4
Domínios MAIL FROM personalizados ................................................................................... 4
Autorização de envio .......................................................................................................... 5
Recebimento de e-mail ........................................................................................................ 5
Cotas ........................................................................................................................................ 6
Cotas de envio de e-mail ..................................................................................................... 6
Cotas relacionadas ao recebimento de e-mail ......................................................................... 8
Cotas gerais ...................................................................................................................... 9
Tipos de credenciais ................................................................................................................... 9
Como o Amazon SES funciona ................................................................................................... 12
Após um remetente enviar uma solicitação de e-mail para o Amazon SES ................................. 13
Depois que o Amazon SES envia um e-mail ......................................................................... 14
Formato de e-mail ............................................................................................................. 15
Noções básicas sobre capacidade de entrega ....................................................................... 18
Práticas recomendadas para itens ....................................................................................... 23
Trabalhar com AWS SDKs ......................................................................................................... 27
Conceitos básicos ............................................................................................................................. 29
Configuração ............................................................................................................................ 29
Cadastro na AWS ............................................................................................................. 29
Obter suas chaves de acesso da AWS ................................................................................ 29
Baixar um AWS SDK ........................................................................................................ 30
Verificar o endereço de e-mail ............................................................................................ 30
Migração para o Amazon SES .................................................................................................... 30
Etapa 1. Verificar o domínio ............................................................................................... 30
Etapa 2. Solicitar acesso à produção ................................................................................... 30
Etapa 3. Configurar sistemas de autenticação de domínio ....................................................... 31
Etapa 4. Gerar as credenciais SMTP ................................................................................... 31
Etapa 5. Conectar-se a um endpoint SMTP .......................................................................... 31
Próximas etapas ............................................................................................................... 31
Saída da sandbox ..................................................................................................................... 32
NOVO: índice de busca rápida ........................................................................................................... 35
Instruções e conceitos ............................................................................................................... 35
Limites do envio ............................................................................................................................... 39
Monitoramento de cotas de envio ................................................................................................ 40
Monitoramento das cotas de envio usando o console do Amazon SES ...................................... 40
Monitoramento das cotas de envio usando a API do Amazon SES ........................................... 41
Aumentar suas cotas de envio .................................................................................................... 41
Cotas de envio aumentadas automaticamente ....................................................................... 42
O usuário solicitou cotas maiores de envio ........................................................................... 42
Erros de cota de envio .............................................................................................................. 43
Atingimento dos limites do envio com a API do Amazon SES .................................................. 43
Atingimento dos limites do envio com SMTP ......................................................................... 43
Configurar o envio de e-mails ............................................................................................................. 44
iii
Amazon Simple Email Service Guia do desenvolvedor
iv
Amazon Simple Email Service Guia do desenvolvedor
v
Amazon Simple Email Service Guia do desenvolvedor
vi
Amazon Simple Email Service Guia do desenvolvedor
vii
Amazon Simple Email Service Guia do desenvolvedor
Benefícios
Por exemplo, você pode enviar e-mails de marketing como ofertas especiais, e-mails transacionais como
confirmações de pedidos, e outros tipos de correspondência como boletins informativos. Quando você usa
o Amazon SES para receber e-mails, pode desenvolver soluções de software, como sistemas de resposta
automática de e-mail, sistemas de cancelamento de e-mail e aplicações que geram tíquetes de suporte ao
cliente de e-mails recebidos.
Para obter mais informações sobre tópicos relacionados ao Amazon SES, consulte o AWS Messaging and
Targeting Blog (Blog Sistema de mensagens e segmentação da AWS).
Benefícios
A criação de uma solução de e-mail em grande escala é, geralmente, um desafio complexo e dispendioso
para uma empresa. Você precisa enfrentar desafios de infraestrutura, como gerenciamento de servidor
de e-mail, configuração de rede e reputação de endereço IP. Além disso, muitas soluções de e-mail
terceirizadas requerem negociações de contrato e preço, assim como custos iniciais significativos. O
Amazon SES elimina esses desafios e permite que você se beneficie dos anos de experiência e da
infraestrutura de e-mail sofisticada que a Amazon.com desenvolveu para atender à sua própria base de
clientes em larga escala.
Serviços relacionados da
O Amazon SES integra-se perfeitamente com os outros produtos da AWS. Por exemplo, é possível:
• Adicionar recursos de envio de e-mail a qualquer aplicação. Se sua aplicação é executada no Amazon
Elastic Compute Cloud (Amazon EC2), você pode usar o Amazon SES para enviar 62.000 e-mails por
mês sem cobrança adicional. Você pode enviar e-mails do Amazon EC2 usando um AWS SDK, usando
a interface SMTP do Amazon SES (p. 44) ou fazendo chamadas diretamente para a API do Amazon
SES.
• Use o AWS Elastic Beanstalk para criar uma aplicação habilitada para e-mail, como um programa que
usa o Amazon SES para enviar uma newsletter aos clientes.
• Configure o Amazon Simple Notification Service (Amazon SNS) para notificar você sobre e-mails que
foram devolvidos, produziram uma reclamação ou foram entregues com êxito ao servidor de e-mail do
destinatário. Quando você usa o Amazon SES para receber e-mails, seu conteúdo de e-mail pode ser
publicado em tópicos do Amazon SNS.
• Usar o AWS Management Console para configurar o Easy DKIM, que é uma forma de autenticar seus e-
mails. Embora você possa usar o Easy DKIM com qualquer provedor de DNS, ele é especialmente fácil
de configurar quando você gerencia seu domínio com o Route 53.
• Controle o acesso de usuários ao seu recurso de envio de e-mails usando o AWS Identity and Access
Management (IAM).
• Armazene os e-mails que recebe no Amazon Simple Storage Service (Amazon S3).
• Tomar medidas em relação aos seus e-mails recebidos acionando as funções do AWS Lambda.
• (Opcional) Use o AWS Key Management Service (AWS KMS) para criptografar os e-mails recebidos em
seu bucket do Amazon S3.
• Use o AWS CloudTrail para registrar as chamadas de API do Amazon SES que você fizer usando o
console ou a API do Amazon SES.
1
Amazon Simple Email Service Guia do desenvolvedor
Preços
• Publique eventos de envio de e-mail no Amazon CloudWatch ou no Amazon Kinesis Data Firehose.
Se você publicar eventos de envio de e-mail no Kinesis Data Firehose, poderá acessá-los no Amazon
Redshift, Amazon OpenSearch Service ou Amazon S3.
Preços
Com o Amazon SES, você paga com base no volume de e-mails enviados e recebidos. Para obter mais
informações, consulte Definição de preço do Amazon SES.
Para obter uma lista completa dos endpoints regionais do Amazon SES, consulte Endpoints e cotas
do Amazon Simple Email na Referência geral da AWS. Para saber mais sobre quantas zonas de
disponibilidade estão disponíveis em cada região, consulte Infraestrutura global da AWS.
Esta seção contém informações que você precisa saber se planeja usar o Amazon SES em várias regiões
da AWS. Ele discute os seguintes assuntos:
Para obter informações gerais sobre as Regiões da AWS, consulte Endpoints de serviços da AWS na
Referência geral da AWS.
Ao enviar e-mails por meio do Amazon SES, você pode usar os URLs nas linhas especificadas com
HTTPS na coluna Protocol (Protocolo) para fazer solicitações HTTPS à API do SES. Você também pode
usar os URLs nas linhas especificadas com SMTP na coluna Protocol (Protocolo) para enviar e-mail
usando a interface SMTP.
2
Amazon Simple Email Service Guia do desenvolvedor
Remoção da sandbox e aumento de limite de envio
Se você configurou o Amazon SES para receber e-mails enviados para seu domínio, pode usar URLs
de endpoint SMTP de entrada (ou seja, os URLs que começam com "inbound-smtp.") quando configurar
registros do email exchanger (MX) nas configurações de DNS do seu domínio.
Note
Os URLs SMTP de entrada não são endereços de servidor IMAP. Em outras palavras, você não
pode usá-los para receber e-mail usando um aplicativo como o Outlook. Para um serviço que
fornece um servidor IMAP para recebimento de e-mails, consulte Amazon WorkMail.
Os limites de envio também podem ser diferentes de acordo com a região da AWS. Por exemplo, se sua
conta é capaz de enviar 10 mensagens por segundo na região Europa (Irlanda), você poderia enviar mais
ou menos mensagens em outras regiões.
Quando você enviar uma solicitação para remover sua conta da sandbox (p. 32) ou quando enviar
uma solicitação de aumento de cotas de envio da sua conta (p. 42), escolha todas as regiões da AWS
as quais sua solicitação se aplica. Você pode enviar várias solicitações em uma única solicitação para o
Support Center.
Easy DKIM
Você deve realizar o processo de configuração Easy DKIM para cada região na qual deseja usar o Easy
DKIM. Ou seja, em cada região, você tem que usar o console do Amazon SES ou a API do Amazon SES
para gerar registros TXT. Em seguida, é necessário adicionar todos os registros TXT à configuração de
DNS do seu domínio. Para obter mais informações sobre como configurar o Easy DKIM, consulte Easy
DKIM no Amazon SES (p. 185).
Notificações de feedback
Existem dois pontos importantes a serem observados sobre como configurar notificações de feedback em
várias regiões:
3
Amazon Simple Email Service Guia do desenvolvedor
Credenciais de SMTP
• Configurações de identidade verificadas, como quando você recebe feedback por e-mail ou pelo
Amazon Simple Notification Service (Amazon SNS), aplicam-se apenas à região em que você as define.
Por exemplo, se você verificar usuá[email protected] nas regiões Oeste dos EUA (Oregon) e Leste dos
EUA (Norte da Virgínia), e quiser receber e-mails devolvidos via notificações do Amazon SNS, tem que
usar a API do Amazon SES ou o console do Amazon SES para configurar notificações de feedback do
Amazon SNS usuá[email protected] em ambas as regiões.
• Os tópicos do Amazon SNS que você usa para o encaminhamento de feedback devem estar na mesma
região em que você está usa o Amazon SES.
Credenciais de SMTP
As credenciais que você usa para enviar e-mails por meio da interface SMTP do Amazon SES são
exclusivas de cada região da AWS. Se você usar a interface SMTP do Amazon SES para enviar e-mails
em mais de uma região, tem que gerar um conjunto de credenciais SMTP (p. 46) para cada região.
Note
Se você criou suas credenciais SMTP antes de 10 de janeiro de 2019, suas credenciais SMTP
foram criadas usando uma versão mais antiga do AWS Signature. Por motivos de segurança,
você deve excluir as credenciais que criou antes desta data e substituí-las por credenciais mais
novas. Você pode excluir as credenciais mais antigas usando o console do IAM.
Use as configurações de registros MX fornecidas pelo Amazon SES durante o processo de configuração
de MAIL FROM personalizado para uma identidade em uma das regiões. O processo de configuração
personalizado de MAIL FROM está descrito em Uso de um domínio MAIL FROM personalizado (p. 199).
Para referência, você pode encontrar os endpoints de feedback para todas as regiões na tabela a seguir.
4
Amazon Simple Email Service Guia do desenvolvedor
Autorização de envio
Autorização de envio
Os remetentes delegados apenas podem enviar e-mails da região da AWS em que a identidade do
proprietário da identidade está verificada. A política de autorização de envio que dá permissão ao
remetente delegado deve ser anexada à identidade nessa região. Para obter mais informações sobre a
autorização de envio, consulte Uso de autorização de envio com o Amazon SES (p. 235).
Recebimento de e-mail
Com exceção de buckets do AWS, todos os recursos da que você usa para receber e-mail com o Amazon
S3 devem estar na mesma região da AWS que o endpoint do Amazon SES. Por exemplo, se você usar o
Amazon SES na região Oeste dos EUA (Oregon), todos os tópicos do Amazon SNS, chaves do AWS KMS
e funções do Lambda que você usa também devem estar na região Oeste dos EUA (Oregon). Da mesma
forma, para receber e-mails com o Amazon SES em uma região, você deve criar um conjunto de regras de
recebimento ativas nessa região.
A tabela a seguir lista os endpoints de recebimento de e-mails para todas as regiões da AWS onde o
Amazon SES suporta recebimento de e-mails:
A tabela a seguir lista as regiões em que o Amazon SES não suporta recebimento de e-mails:
5
Amazon Simple Email Service Guia do desenvolvedor
Cotas
Asia Pacific (Mumbai), Asia Pacific (Osaka), Asia Pacific (Seoul), Asia
Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo)
Canada (Central)
Cotas de envio
As cotas são baseadas no número de destinatários e não no número de mensagens.
Número de e-mails que podem Se a conta estiver na sandbox, Sim (p. 41)
ser enviados em um período de você pode enviar até 200 e-mails
24 horas em um período de 24 horas.
Número de e-mails que podem Se a conta estiver na sandbox, Sim (p. 41)
ser enviados por segundo (taxa você pode enviar 1 e-mail por
de envio) segundo.
6
Amazon Simple Email Service Guia do desenvolvedor
Cotas de envio de e-mail
Cotas de mensagens
Recurso Cota padrão Ajustável
Com a API v1 do SES: tamanho 10 MB por mensagem (após a Não (para workloads com
máximo da mensagem (incluindo codificação base64). tamanhos de mensagens
anexos) superiores a 10 MB, considere
migrar para a API v2 do SES.)
Note
Mensagens maiores que 10 MB estão sujeitas ao controle de utilização da largura de banda e,
dependendo da taxa de envio, você pode ser limitado a 40 MB/s. Por exemplo, você pode enviar
uma mensagem de 40 MB à taxa de uma mensagem por segundo, ou duas mensagens de 20 MB
por segundo.
Um destinatário é
qualquer endereço "To",
"CC" ou "BCC".
Uma identidade é
um domínio ou um
endereço de e-mail que
você usa para enviar e-
mails pelo Amazon SES.
7
Amazon Simple Email Service Guia do desenvolvedor
Cotas relacionadas ao recebimento de e-mail
O número de destinos
com os quais você pode
entrar em contato em
uma única chamada à
API pode ser limitado
pela taxa máxima de
envio de sua conta.
8
Amazon Simple Email Service Guia do desenvolvedor
Cotas gerais
Cotas gerais
A tabela a seguir lista as cotas que se aplicam ao envio e ao recebimento de e-mails pelo Amazon SES.
A tabela a seguir lista os tipos de credenciais que você pode usar com o Amazon SES, dependendo do
que você estiver fazendo.
9
Amazon Simple Email Service Guia do desenvolvedor
Tipos de credenciais
10
Amazon Simple Email Service Guia do desenvolvedor
Tipos de credenciais
Embora as suas
credenciais SMTP do
Amazon SES sejam
diferentes das chaves
de acesso da AWS e
das chaves de acesso
do usuário do IAM, as
credenciais SMTP do
Amazon SES são, na
verdade, um tipo de
credencial do IAM. Um
usuário do IAM pode
criar as credenciais
SMTP do Amazon
SES, mas o proprietário
da conta raiz deve
garantir que a política
de usuários do IAM
dê a ele permissão
para acessar as
seguintes ações do
IAM: "iam:ListUsers",
"iam:CreateUser",
"iam:CreateAccessKey"
e "iam:PutUserPolicy".
11
Amazon Simple Email Service Guia do desenvolvedor
Como o Amazon SES funciona
Para obter mais informações sobre os diferentes tipos de credenciais de segurança da AWS (exceto para
credenciais SMTP, que são usadas apenas para o Amazon SES), consulte Credenciais de segurança
daAWS na Referência geral da AWS.
12
Amazon Simple Email Service Guia do desenvolvedor
Após um remetente enviar uma
solicitação de e-mail para o Amazon SES
1. Uma aplicação cliente, atuando como um remetente do e-mail, faz uma solicitação para o Amazon
SES enviar um e-mail para um ou mais destinatários.
2. Se a solicitação for válida, o Amazon SES aceitará o e-mail.
3. O Amazon SES envia a mensagem pela Internet para o receptor do destinatário. Uma vez que a
mensagem é passada para o Amazon SES, ela normalmente é enviada imediatamente, com a
primeira tentativa de entrega normalmente ocorrendo dentro de milissegundos.
4. Neste momento, existem diferentes possibilidades. Por exemplo:
As seções a seguir analisam os possíveis resultados individuais após um remetente enviar uma solicitação
de e-mail para o Amazon SES e após o Amazon SES enviar uma mensagem de e-mail para o destinatário.
13
Amazon Simple Email Service Guia do desenvolvedor
Depois que o Amazon SES envia um e-mail
O método pelo qual você pode determinar se a solicitação falhou depende de como você chama o Amazon
SES. Veja a seguir exemplos de como erros e exceções são retornados:
• Se você estiver chamando o Amazon SES por meio da API de consulta (HTTPS) (SendEmail ou
SendRawEmail), as ações retorna um erro. Para obter mais informações, consulte a Referência da API
do Amazon Simple Email Service.
• Se você estiver usando um AWS SDK para uma linguagem de programação que usa exceções, a
chamada para o Amazon SES lançará uma MessageRejectedException. (O nome da exceção pode
variar, dependendo do SDK.)
• Se você estiver usando a interface SMTP, o remetente receberá um código de resposta SMTP, mas
como o erro é transmitido depende do cliente do remetente. Alguns clientes podem exibir um código de
erro; outros não.
Para obter informações sobre erros que podem ocorrer quando você envia um e-mail com o Amazon SES,
consulte Erros de envio de e-mail do Amazon SES (p. 552).
• Entrega bem-sucedida e o destinatário não objeta o e-mail: o e-mail é aceito pelo ISP e o ISP entrega o
e-mail para o destinatário. A entrega bem-sucedida é mostrada na figura a seguir.
• Devolução definitiva: o e-mail é rejeitado pelo ISP devido a uma condição persistente ou rejeitado pelo
Amazon SES porque o endereço de e-mail está na lista de supressão do Amazon SES. O endereço
de e-mail estará na lista de supressão do Amazon SES se tiver causado recentemente uma devolução
definitiva para algum cliente do Amazon SES. Uma devolução definitiva com um ISP pode ocorrer
porque o endereço do destinatário é inválido. Uma notificação de devolução definitiva é enviada do
ISP de volta ao Amazon SES, que notifica o remetente por e-mail ou por meio do Amazon Simple
Notification Service (Amazon SNS), de acordo com a configuração do remetente. O Amazon SES
notifica o remetente sobre devoluções da lista de supressão do mesmo modo. O caminho de uma
devolução definitiva de um ISP é mostrado na figura a seguir.
• Devolução flexível: o ISP não pode entregar o e-mail para o destinatário devido a uma condição
temporária, como o ISP está muito ocupado para processar a solicitação ou a caixa de correio do
destinatário está cheia. Uma devolução flexível também poderá ocorrer se o domínio não existir. O ISP
envia uma notificação de devolução flexível de volta para o Amazon SES ou, no caso de um domínio
que não existe, o Amazon SES não pode encontrar um servidor de e-mail para o domínio. Em qualquer
um dos casos, o Amazon SES faz repetidas tentativas de enviar o e-mail durante um longo período
de tempo. Se o Amazon SES não conseguir entregar o e-mail nesse período, enviará uma notificação
14
Amazon Simple Email Service Guia do desenvolvedor
Formato de e-mail
de devolução por e-mail ou pelo Amazon SNS. Se o Amazon SES consegue entregar o e-mail ao
destinatário durante uma nova tentativa, a entrega é bem-sucedida. Uma devolução flexível é mostrada
na figura a seguir. Nesse caso, o Amazon SES repete a tentativa de envio do e-mail e o ISP acaba
conseguindo entregá-lo ao destinatário.
• Reclamação: o e-mail é aceito pelo ISP e entregue ao destinatário, mas o destinatário considera o
e-mail como spam e clica em um botão, como "Mark as spam" (Marcar como spam) no cliente de e-
mail. Se o Amazon SES tiver encaminhamento de feedback configurado com o ISP, uma notificação de
reclamação será enviada ao Amazon SES, que a encaminha para o remetente. A maioria dos ISPs não
fornece o endereço de e-mail do destinatário que enviou a reclamação, de modo que a notificação de
reclamação do Amazon SES fornece ao remetente uma lista de destinatários que podem ter enviado a
reclamação, baseado nos destinatários da mensagem original e no ISP do qual o Amazon SES recebeu
a reclamação. O caminho de uma reclamação é mostrado na figura a seguir.
• Resposta automática: o e-mail é aceito pelo ISP e o ISP o entrega ao destinatário. O ISP envia uma
resposta automática, como uma mensagem de ausência do escritório (OOTO), ao Amazon SES. O
Amazon SES encaminha a notificação de resposta automática ao remetente. Uma resposta automática é
mostrada na figura a seguir.
Certifique-se de que seu programa habilitado para o Amazon SES não tente enviar novamente as
mensagens que geram uma resposta automática.
Tip
Você pode usar o simulador de caixa postal do Amazon SES para testar uma entrega bem-
sucedida, devolução, reclamação, OOTO ou o que acontece quando um endereço está na
lista de supressão. Para obter mais informações, consulte . Uso do simulador de caixa postal
manualmente. (p. 266).
15
Amazon Simple Email Service Guia do desenvolvedor
Formato de e-mail
Veja a seguir um exemplo simples de um e-mail. O cabeçalho é seguido por uma linha em branco e pelo
corpo do e-mail. O envelope não é mostrado porque é transmitido entre o cliente e o servidor de e-mail
durante a sessão SMTP, em vez de uma parte do e-mail em si.
-Andrew
As seções a seguir analisam cabeçalhos e corpos de e-mail, e identificam as informações que você precisa
fornecer quando usa o Amazon SES.
Cabeçalho de e-mail
Há um cabeçalho por mensagem de e-mail. Cada linha do cabeçalho contém um campo seguido por dois
pontos seguidos por um corpo de campo. Quando você lê um e-mail em um cliente de e-mail, o cliente de
e-mail normalmente exibe os valores dos seguintes campos de cabeçalho:
• Reply-To (Responder para): o endereço de e-mail para o qual as respostas serão enviadas. Por padrão,
as respostas são enviadas para o endereço de e-mail do remetente original.
• Return-Path (Caminho de devolução): o endereço de e-mail para o qual devoluções e reclamações de
mensagem devem ser enviadas. "Return-Path" às vezes é chamado de "envelope de", "remetente do
envelope" ou "E-MAIL DE".
16
Amazon Simple Email Service Guia do desenvolvedor
Formato de e-mail
Note
Quando você usar o Amazon SES, recomendamos que sempre defina o parâmetro "Return-
Path" (Caminho de devolução), para tomar conhecimento das devoluções e tomar a ação
corretiva se ocorrerem.
Para associar facilmente uma mensagem devolvida ao destinatário pretendido, você pode usar Variable
Envelope Return Path (VERP). Com VERP, você define um "Return-Path" diferente para cada destinatário,
de modo que, se a mensagem voltar, você saberá automaticamente qual destinatário a devolveu, em vez
de precisar abrir a mensagem de devolução e analisá-la.
Corpo do e-mail
O corpo do e-mail contém o texto da mensagem. O corpo pode ser enviado nos seguintes formatos:
• HTML – Se o cliente de e-mail do destinatário conseguir interpretar HTML, o corpo poderá incluir texto
formatado e hiperlinks
• Texto sem formatação – Se o cliente de e-mail do destinatário for baseado em texto, o corpo não deverá
conter caracteres não imprimíveis.
• HTML e texto sem formatação – Quando você usa ambos os formatos para enviar o mesmo conteúdo
em uma única mensagem, o cliente de e-mail do destinatário decide quais exibir, com base em seus
recursos.
Se você enviar uma mensagem de e-mail para um grande número de destinatários, faz sentido enviá-la em
HTML e texto. Alguns destinatários terão clientes de e-mail habilitados para HTML, para que eles possam
clicar em hiperlinks incorporados na mensagem. Os destinatários que usam clientes de e-mail com base
em texto precisarão incluir URLs que eles podem copiar e abrir usando um navegador da Web.
• A SendEmail API requer que o usuário forneça somente um endereço de origem, endereço de
destino, assunto da mensagem e um corpo da mensagem. Opcionalmente, você pode fornecer
endereços "Responder para". Quando você chama essa API, o Amazon SES monta automaticamente
uma mensagem de e-mail Multipurpose Internet Mail Extensions (MIME) de várias partes
adequadamente formatada, otimizada para exibição pelo software cliente de e-mail. Para mais
informações, consulte Envio de e-mail formatado usando a API do Amazon SES (p. 79).
• A API SendRawEmail fornece a flexibilidade de formatar e enviar sua própria mensagem de e-mail
bruta ao especificar cabeçalhos, partes MIME e tipos de conteúdo. Normalmente, SendRawEmail
é usado por usuários avançados. Você precisa fornecer o corpo da mensagem e todos os campos
de cabeçalho que são especificados como exigido na especificação do formato de mensagem de
17
Amazon Simple Email Service Guia do desenvolvedor
Noções básicas sobre capacidade de entrega
Internet (RFC 5322). Para mais informações, consulte Enviar e-mail bruto usando a API do Amazon
SES (p. 79).
Se usar um AWS SDK para chamar a API do Amazon SES, você fornece as informações listadas acima
para as funções correspondentes (por exemplo, SendEmail e SendRawEmail para Java).
Para obter mais informações sobre envio de e-mail usando a API do Amazon SES, consulte Uso da API do
Amazon SES para enviar e-mail (p. 78).
Para obter mais informações sobre envio de e-mail usando a interface SMTP do Amazon SES, consulte
Uso da interface SMTP do Amazon SES para enviar e-mail (p. 44).
• Para enviar um e-mail formatado, forneça somente um endereço de origem, endereço de destino,
um assunto da mensagem e um corpo da mensagem. O Amazon SES monta automaticamente uma
mensagem de e-mail MIME de várias partes adequadamente formatada, otimizada para exibição pelo
software cliente de e-mail. Você também pode especificar uma um campo de resposta e um caminho de
retorno.
• Para enviar um e-mail bruto, você fornece o endereço de origem, endereço de destino e o conteúdo
da mensagem, que deve conter o corpo da mensagem e todos os campos de cabeçalho que são
especificados como exigido na especificação do formato de mensagem de Internet (RFC 5322).
Para maximizar a capacidade de entrega de e-mail, você precisa entender os problemas de entrega de
e-mail, tomar medidas proativas para impedi-los, manter-se informado a respeito do status dos e-mails
enviados e, em seguida, melhorar seu programa de envio de e-mails, se necessário, para aumentar ainda
mais a probabilidade de entregas bem-sucedida. As seções a seguir analisam os conceitos por trás dessas
etapas e como o Amazon SES ajuda você durante o processo.
18
Amazon Simple Email Service Guia do desenvolvedor
Noções básicas sobre capacidade de entrega
Bounce
Se o receptor do destinatário (por exemplo, um provedor de e-mail) não entregar sua mensagem ao
destinatário, o receptor devolve a mensagem ao Amazon SES. O Amazon SES notifica você sobre o e-mail
devolvido por e-mail ou pelo Amazon Simple Notification Service (Amazon SNS), dependendo de como
você configurou o sistema. Para mais informações, consulte Configuração de notificação de evento para o
Amazon SES (p. 210).
• Devolução definitiva: uma falha de entrega de e-mail persistente. Por exemplo, a caixa de correio não
existe. O Amazon SES não repete devoluções definitivas, com exceção de falhas de pesquisa do DNS.
Recomendamos que você não faça tentativas repetidas de entrega para endereços de e-mail que são
devolvidos de forma definitiva.
• Devolução flexível – Uma falha de entrega de e-mail temporária. Por exemplo, a caixa de correio está
cheia, há muitas conexões (também chamado de controle de utilização) ou o tempo máximo de conexão
foi atingido. O Amazon SES repete as devoluções flexíveis várias vezes. Se o e-mail ainda não puder
ser entregue, o Amazon SES deixará de tentar novamente.
19
Amazon Simple Email Service Guia do desenvolvedor
Noções básicas sobre capacidade de entrega
O Amazon SES notifica você sobre devoluções definitivas, e não serão feitas novas tentativas para
devoluções flexíveis. No entanto, apenas as devoluções definitivas contam para a taxa de devolução e a
para métrica de devolução que você obtém usando o console ou a API GetSendStatistics do Amazon
SES.
As devoluções também podem ser síncronas ou assíncronas. Uma devolução síncrona acontece enquanto
os servidores de e-mail do remetente e do destinatário estão comunicando-se ativamente. Uma devolução
assíncrona acontece quando um destinatário aceita inicialmente uma mensagem de e-mail para entrega e,
subsequentemente, não a entrega ao destinatário.
Reclamação
A maioria dos programas de cliente de e-mail fornece um botão chamado "Marcar como spam", ou
algo semelhante, que move a mensagem para uma pasta de spam e a encaminha ao provedor de e-
mail. Além disso, a maioria dos provedores de e-mail mantém um endereço de abuso (por exemplo,
[email protected]), para onde os usuários podem encaminhar mensagens de e-mail indesejadas e
solicitar que o provedor de e-mail realize uma ação para impedi-las. Em ambos os casos, o destinatário
está fazendo uma reclamação. Se o provedor de e-mail concluir que você é um spammer e o Amazon
SES tiver um encaminhamento de feedback configurado com o provedor de e-mail, o provedor de e-mail
enviará a reclamação de volta ao Amazon SES. Quando o Amazon SES recebe uma reclamação, ele
encaminha a reclamação a você por e-mail ou usando uma notificação do Amazon SNS, dependendo de
como o sistema está configurado. Para mais informações, consulte Configuração de notificação de evento
para o Amazon SES (p. 210). Recomendamos que você não faça tentativas de entrega repetidas para
endereços de e-mail que geram reclamações.
Seja proativo
Um dos maiores problemas com e-mails na Internet é o e-mail em massa não solicitado (spam). Os
provedores de e-mail tomam medidas extensas para impedir que seus clientes recebam spam. O Amazon
SES também adota medidas para reduzir a probabilidade de que os provedores de e-mail considerem seu
e-mail como spam. O Amazon SES usa verificação, autenticação, cotas de envio e filtragem de conteúdo.
O Amazon SES também mantém uma reputação confiável com os provedores de e-mail e requer que você
envie e-mails de alta qualidade. O Amazon SES faz algumas dessas coisas para você automaticamente
(por exemplo, filtragem de conteúdo). Em outros casos, ele fornece as ferramentas (como autenticação)
ou guia você na direção certa (cotas de envio). As seções a seguir fornecem mais informações sobre cada
conceito.
Verificação
Infelizmente, um spammer é capaz de falsificar o cabeçalho de e-mails e falsificar o endereço de e-mail
original, de modo a parecer que o e-mail tem uma origem diferente. Para manter a confiança entre os
20
Amazon Simple Email Service Guia do desenvolvedor
Noções básicas sobre capacidade de entrega
provedores de e-mail e o Amazon SES, o Amazon SES precisa garantir que os remetentes são quem eles
dizem que são. Você é, portanto, obrigado a verificar todos os endereços de e-mail dos quais envia e-mails
por meio do Amazon SES para proteger a identidade do envio. Você pode verificar os endereços de e-
mail usando o console do Amazon SES ou a API do Amazon SES. Você também pode verificar domínios
inteiros. Para obter mais informações, consulte Criação da identidade de um endereço de e-mail (p. 168)
e Criar uma identidade de domínio (p. 160).
Se sua conta ainda estiver na sandbox do Amazon SES, você também precisará verificar todos os
endereços de destinatários, exceto os endereços fornecidos pelo simulador de caixa postal do Amazon
SES. Para obter informações sobre como sair da sandbox, consulte Saída da sandbox do Amazon
SES (p. 32). Para obter mais informações sobre o simulador de caixa postal, consulte Uso do simulador
de caixa postal manualmente. (p. 266).
Autenticação
Autenticação é outra forma que pode ser usada para indicar aos provedores de e-mail que você é quem
alega ser. Quando você autentica um e-mail, fornece evidências de que é o proprietário da conta e que
seus e-mails não foram modificados em trânsito. Em alguns casos, os provedores de e-mail recusam-
se a encaminhar e-mail que não está autenticado. O Amazon SES oferece suporte a dois métodos de
autenticação: Sender Policy Framework (SPF - Estrutura de políticas para remetentes) e DomainKeys
Identified Mail (DKIM - Mensagem identificada por chave de domínio). Para mais informações, consulte
Configuração de identidades no Amazon SES (p. 182).
Cotas de envio
Se um provedor de e-mail detectar picos inesperados repentinos no volume ou na taxa de seus e-mails,
poderá suspeitar que você é um spammer e bloquear seus e-mails. Portanto, todas as contas do Amazon
SES têm um conjunto de cotas de envio. Essas cotas restringem o número de e-mails que você pode
enviar em um período de 24 horas e o número que você pode enviar por segundo. As cotas de envio
ajudam a proteger a confiabilidade com provedores de e-mail.
Na maioria dos casos, se você for um novo usuário, o Amazon SES permitirá o envio de uma pequena
quantidade de e-mails por dia. Se os e-mails que você enviar forem aceitáveis para os provedores de
e-mail, aumentaremos automaticamente essa cota. As cotas de envio aumentarão constantemente ao
longo do tempo para que você possa enviar maiores quantidades de e-mail em taxas mais rápidas. Você
também pode criar um caso de aumento de limites do envio do SES para solicitar aumentos de cota
adicionais.
Para obter mais informações sobre cotas de envio e como aumentá-las, consulte Gerenciamento de limites
do envio do Amazon SES (p. 39).
Filtragem de conteúdo
Muitos provedores de e-mail usam filtragem de conteúdo para determinar se os e-mails de entrada são
spam. Os filtros de conteúdo procuram conteúdo questionável e bloqueiam o e-mail caso se enquadre
no perfil de spam. O Amazon SES também usa filtros de conteúdo. Quando a aplicação envia uma
solicitação para o Amazon SES, o Amazon SES monta uma mensagem de e-mail em seu nome e examina
o cabeçalho e o corpo da mensagem para determinar se eles contêm algum conteúdo que os provedores
de e-mail possam interpretar como spam. Se suas mensagens aparecerem como spam para os filtros de
conteúdo que o Amazon SES usa, sua reputação com o Amazon SES será afetada negativamente.
O Amazon SES também verifica todas as mensagens para detectar a presença de vírus. Se uma
mensagem contém um vírus, o Amazon SES não tenta entregar a mensagem ao servidor de e-mail do
destinatário.
Reputação
Em se tratando de envio de e-mail, a reputação, uma medida de confiança de que um endereço IP,
endereço de e-mail ou domínio de envio não é uma fonte de spam, é importante. O Amazon SES mantém
21
Amazon Simple Email Service Guia do desenvolvedor
Noções básicas sobre capacidade de entrega
uma sólida reputação com os provedores de e-mail, para que os provedores de e-mail entreguem seus
e-mails às caixas de entrada dos destinatários. Da mesma forma, você precisa manter uma reputação
confiável com o Amazon SES. Você cria sua reputação com o Amazon SES enviando conteúdo de alta
qualidade. Quando você envia conteúdo de alta qualidade, sua reputação se torna mais confiável ao longo
do tempo e o Amazon SES aumenta suas cotas de envio. Devoluções e reclamações em excesso afetam
negativamente sua reputação e podem levar o Amazon SES a reduzir as cotas de envio da conta ou a
encerrar a conta do Amazon SES.
Uma forma de ajudar a manter sua reputação é usar o simulador de caixa postal durante o teste do
sistema, em vez de enviar para endereços de e-mail que você criou. Os e-mails para o simulador de
caixa postal não contam nas métricas de devolução e reclamação. Para obter mais informações sobre o
simulador de caixa postal, consulte Uso do simulador de caixa postal manualmente. (p. 266).
Fique informado
Ser ocorrerem falhas nas suas entregas, os destinatários reclamarem sobre seus e-mails ou se o Amazon
SES entregar com êxito um e-mail ao servidor de e-mail de um destinatário, o Amazon SES ajudará você
a rastrear o problema fornecendo notificações e permitindo que você monitore facilmente suas estatísticas
de uso.
Notificações
Quando um e-mail é devolvido, o provedor de e-mail notifica o Amazon SES e o Amazon SES notifica
você. O Amazon SES notifica você sobre devoluções definitivas e devoluções flexíveis que o Amazon
SES não tentará mais entregar. Muitos provedores de e-mail também encaminham reclamações, e o
Amazon SES configura ciclos de comentários de reclamação com os principais provedores de e-mail, de
modo que você não precisa fazer isso. O Amazon SES pode notificá-lo sobre devoluções, reclamações e
entregas bem-sucedidas de duas formas: você pode definir sua conta para receber notificações por meio
do Amazon SNS ou pode receber notificações por e-mail (apenas devoluções e reclamações). Para mais
informações, consulte Configuração de notificação de evento para o Amazon SES (p. 210).
Estatísticas de uso
O Amazon SES fornece estatísticas de uso para que você possa visualizar as entregas com falha a fim de
determinar e resolver as causas. É possível visualizar as estatísticas de uso usando o console do Amazon
SES ou chamando a API do Amazon SES. Você pode visualizar o número de entregas, devoluções,
reclamações e e-mails rejeitados infectados por vírus que possui, e também pode visualizar as cotas de
envio para garantir que você não as ultrapasse.
22
Amazon Simple Email Service Guia do desenvolvedor
Práticas recomendadas para itens
Se isso acontecer, a cópia da mensagem não será excluída no servidor indisponível, e você poderá obter a
cópia da mensagem novamente quando receber mensagens. Projete aplicativos para serem idempotentes
(para não serem afetados quando a mesma mensagem é processada mais de uma vez).
Tópicos
• Métricas de sucesso para programas de e-mail (p. 23)
• Dicas e práticas recomendadas (p. 26)
Devoluções
Uma devolução ocorre quando um e-mail não pode ser entregue ao destinatário pretendido. Existem
dois tipos de devoluções: devoluções definitivas e devoluções flexíveis. Uma devolução definitiva ocorre
quando o e-mail não pode ser entregue devido a um problema persistente, como quando um endereço de
e-mail não existe. Uma devolução flexível ocorre quando um problema temporário impede a entrega de um
e-mail. Devoluções flexíveis podem ocorrer quando a caixa de entrada de um destinatário está cheia ou
quando o servidor de recebimento está temporariamente indisponível. O Amazon SES lida com devoluções
flexíveis tentando uma nova entrega dos e-mails devolvidos por um determinado período.
É essencial que você monitore o número de devoluções definitivas no seu programa de e-mail e remova os
endereços de e-mail de devoluções definitivas das suas listas de destinatários. Quando os receptores de
e-mail detectam uma alta taxa de devoluções definitivas, eles assumem que você não conhece muito bem
os seus destinatários. Como resultado, uma alta taxa de devoluções definitivas pode afetar negativamente
a capacidade de entrega das suas mensagens de e-mail.
• Tente manter sua taxa de devoluções definitivas abaixo de 5%. Quanto menos devoluções definitivas
no seu programa de e-mail, maiores serão as chances de que os ISPs considerarão suas mensagens
23
Amazon Simple Email Service Guia do desenvolvedor
Práticas recomendadas para itens
legítimas e importantes. Essa taxa deve ser considerada uma meta razoável e alcançável, mas não é
uma regra universal em todos os ISPs.
• Nunca alugue ou compre listas de e-mails. Essas listas podem conter um grande número de
endereços inválidos, o que pode fazer com que suas taxas de devoluções definitivas aumentem
drasticamente. Além disso, essas listas podem conter armadilhas de spam, ou seja, endereços de e-
mail especificamente usados para capturar remetentes ilegítimos. Se as suas mensagens caírem em
uma armadilha de spam, suas taxas de entrega e reputação de remetente poderão ser irrevogavelmente
prejudicadas.
• Mantenha sua lista atualizada. Se faz tempo que você não envia e-mails aos seus destinatários, tente
validar os status dos seus clientes por outros meios (como atividades de login no site ou histórico de
compras).
• Se você não possui um método para verificar os status dos seus clientes, considere enviar um win-back.
Um win-back típico menciona que faz tempo que você não recebe notícias do cliente e o incentiva a
confirmar se ele ainda deseja receber seus e-mails. Depois de enviar um e-mail win-back, apague das
suas listas todos os destinatários que não responderem.
Quando você recebe devoluções, é essencial responder adequadamente, observando as seguintes regras:
• Se um endereço de e-mail for devolvido definitivamente, remova-o imediatamente das suas listas. Não
tente reenviar mensagens para endereços com devoluções definitivas. Devoluções definitivas repetidas
se acumulam e acabam prejudicando sua reputação com o ISP do destinatário.
• Verifique se o endereço usado para receber notificações de devolução é capaz de receber e-mail. Para
obter mais informações sobre a configuração de notificações de devolução e reclamação, consulte
Configuração de notificação de evento para o Amazon SES (p. 210).
• Se o seu e-mail de entrada for proveniente de um ISP, e não dos seus próprios servidores internos,
um afluxo de notificações de devolução poderão cair na sua pasta de spam ou serem descartadas
completamente. Idealmente, você não deve usar um endereço de e-mail hospedado para receber
devoluções. No entanto, se isso for necessário, verifique a pasta de spam com frequência e não marque
as mensagens de devolução como spam. No Amazon SES, você pode especificar o endereço para o
qual as notificações de devolução são enviadas.
• Normalmente, a devolução fornece o endereço da caixa postal que está recusando a entrega. No
entanto, se você precisar de mais dados granulares para mapear um endereço de destinatário para uma
campanha de e-mail específica, inclua um cabeçalho X com um valor que você pode rastrear de volta ao
seu sistema de rastreamento interno. Para obter mais informações, consulte . Campos de cabeçalho do
Amazon SES (p. 114).
Reclamações
Uma reclamação ocorre quando um destinatário de e-mail clica no botão "Marcar como spam" (ou
equivalente) no seu cliente de e-mail baseado na Web. Se você acumular um grande número dessas
reclamações, o ISP assumirá que você está enviando spam. Isso tem um impacto negativo na sua taxa de
capacidade de entrega e na reputação do remetente. Alguns ISPs, mas não todos, notificam você quando
uma reclamação é relatada. Isso é conhecido como um encaminhamento de feedback. O Amazon SES
encaminha automaticamente as reclamações de ISPs que oferecem encaminhamento de feedback para
você.
• Tente manter sua taxa de reclamações abaixo de 0,1%. Quantos menos reclamações no seu programa
de e-mail, maiores serão as chances de que os ISPs considerarão suas mensagens legítimas e
importantes. Essa taxa deve ser considerada uma meta razoável e alcançável, mas não é uma regra
universal em todos os ISPs.
• Se um cliente se queixar de um e-mail de marketing, você deve imediatamente parar de enviar e-mails
de marketing para ele. No entanto, se o seu programa de e-mail também incluir outros tipos de e-mails
24
Amazon Simple Email Service Guia do desenvolvedor
Práticas recomendadas para itens
(como e-mails de notificação ou transacionais), pode ser aceitável continuar a enviar esses tipos de
mensagens ao destinatário que emitiu a reclamação.
• Tal como acontece com devoluções definitivas, no caso de uma lista para a qual você não envia e-
mails faz tempo, certifique-se de que seus destinatários compreendam por que estão recebendo suas
mensagens. Recomendamos que você envie uma mensagem de boas-vindas lembrando-lhes de quem
você é e por que você está entrando em contato.
• Verifique se o endereço usado para receber notificações de reclamação é capaz de receber e-mail.
Para obter mais informações sobre a configuração de notificações de devolução e reclamação, consulte
Configuração de notificação de evento para o Amazon SES (p. 210).
• Certifique-se de que suas notificações de reclamação não estão sendo marcadas como spam pelo seu
ISP ou sistema de e-mail.
• Em geral, notificações de reclamação incluem o corpo do e-mail, diferentemente das notificações de
devolução que normalmente incluem apenas os cabeçalhos de e-mail. No entanto, em notificações de
reclamação, o endereço de e-mail do indivíduo que enviou a reclamação normalmente é removido. Use
cabeçalhos X personalizados ou identificadores especiais integrados no corpo do e-mail para identificar
o endereço de e-mail que enviou a reclamação. Essa técnica facilita a identificação de endereços que
fizeram reclamações para que você possa removê-los das suas listas de destinatários.
Qualidade da mensagem
Os receptores de e-mail usam filtros de conteúdo para detectar determinados atributos nas suas
mensagens e identificar se elas são legítimas. Esses filtros de conteúdo analisam automaticamente o
conteúdo das suas mensagens para identificar características comuns de mensagens indesejadas ou mal-
intencionadas. O Amazon SES usa tecnologias de filtragem de conteúdo para ajudar a detectar e bloquear
mensagens que contenham malware antes que elas sejam enviadas.
• Filtros de conteúdo modernos são inteligentes e passam por adaptações e modificações contínuas. Eles
não dependem de um conjunto de regras predefinidas. Serviços de terceiros, como o ReturnPath ou o
Litmus, podem ajudar a identificar o conteúdo no seu e-mail que pode desencadear filtros de conteúdo.
• Se o seu e-mail contiver links, confira se as URLs desses links estão em DNS-based Blackhole Lists
(DNSBLs – Listas de bloqueio baseadas em DNS), como as encontradas em URIBL.com e SURBL.org.
• Evite usar encurtamentos de links. Remetentes mal-intencionados podem usar encurtamentos de links
para ocultar o destino real de um link. Quando os ISPs observam que serviços de encurtamento de links,
mesmo os mais respeitáveis, estão sendo usados para fins nefastos, eles podem simplesmente negar
acesso a esses serviços. Se o seu e-mail contiver um link para um serviço de encurtamento de links
incluído em uma lista de negação, ele não chegará nas caixas de entrada dos seus clientes, e o sucesso
da sua campanha de e-mail será prejudicado.
• Teste todos os links no seu e-mail para garantir que eles apontem para a página pretendida.
• Certifique-se de que o seu site inclua documentos de Política de privacidade e Termos de uso e que
esses documentos estejam atualizados. É uma boa prática vincular esses documentos a cada e-mail
enviado. Fornecer links para esses documentos demonstra que você não tem nada a esconder dos seus
clientes, o que pode ajudá-lo a criar uma relação de confiança.
• Se você planeja enviar conteúdo em alta frequência (como mensagens de "ofertas diárias"), assegure-se
de que o conteúdo do seu e-mail seja diferente com cada implantação. Ao enviar mensagens com alta
frequência, você deve garantir que elas sejam oportunas e relevantes, e não repetitivas e irritantes.
25
Amazon Simple Email Service Guia do desenvolvedor
Práticas recomendadas para itens
Recomendações gerais
• Ponha-se no lugar do seu cliente. Pergunte a si mesmo se a mensagem que você está enviando é algo
que você gostaria de receber na sua própria caixa de entrada. Se a resposta for menos do que um
entusiasmado "sim!" então você provavelmente não deve enviá-la.
• Algumas indústrias têm reputação pela má qualidade ou até mesmo por práticas mal-intencionadas
de envio de e-mail. Se você está envolvido nas seguintes indústrias, deve monitorar de perto a sua
reputação e resolver problemas imediatamente:
• Hipoteca
• Crédito
• Produtos farmacêuticos e suplementos
• Álcool e tabaco
• Entretenimento para adultos
• Casinos e jogos de azar
• Programas de trabalho em casa
Autenticação
• Autentique seu domínio com o SPF (p. 209) e o SenderID. Esses métodos de autenticação confirmam
aos destinatários de e-mail que cada e-mail que você envia é realmente do domínio do qual ele
reivindica ser.
26
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com AWS SDKs
• Assine seus e-mails de saída com o DKIM (p. 183). Essa etapa confirma aos destinatários que o
conteúdo não foi alterado em trânsito entre o remetente e o receptor.
• Você pode testar suas configurações de autenticação tanto para o SPF quanto para o DKIM, enviando
um e-mail para um endereço de e-mail baseado em ISP que você possui, como uma conta pessoal do
Gmail ou Hotmail e, em seguida, visualizando os cabeçalhos da mensagem. Os cabeçalhos indicam se
as suas tentativas de autenticar e assinar a mensagem foram bem-sucedidas.
Compliance
• Esteja ciente das leis e dos regulamentos de marketing por e-mail e antispam nos países e regiões para
os quais você está enviando e-mails. Você é responsável por assegurar que os e-mails que envia estão
em conformidade com essas leis. Este guia não abrange essas leis e por isso é importante que você
pesquise e se informe sobre elas. Para obter uma lista de leis, consulte a Legislação de spam por e-mail
na Wikipédia.
• Sempre consulte seu advogado para obter orientação jurídica.
AWS SDK for C++ Exemplos de código AWS SDK for C++
AWS SDK for Java Exemplos de código AWS SDK for Java
27
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com AWS SDKs
AWS SDK for JavaScript Exemplos de código AWS SDK for JavaScript
AWS SDK for Kotlin Exemplos de código AWS SDK for Kotlin
AWS SDK for .NET Exemplos de código AWS SDK for .NET
AWS SDK for PHP Exemplos de código AWS SDK for PHP
AWS SDK for Python (Boto3) Exemplos de código AWS SDK for Python (Boto3)
AWS SDK for Ruby Exemplos de código AWS SDK for Ruby
AWS SDK for Rust Exemplos de código AWS SDK for Rust
AWS SDK for Swift Exemplos de código AWS SDK for Swift
Exemplo de disponibilidade
Você não consegue encontrar o que precisa? Solicite um código de exemplo no link Forneça
comentários na parte inferior desta página.
28
Amazon Simple Email Service Guia do desenvolvedor
Configuração
Tópicos
• Configuração do Amazon Simple Email Service (p. 29)
• Migração de outra solução de envio de e-mail para o Amazon SES (p. 30)
• Saída da sandbox do Amazon SES (p. 32)
Tarefas
• Cadastro na AWS (p. 29)
• Obter suas chaves de acesso da AWS (p. 29)
• Baixar um AWS SDK (p. 30)
• Verificar o endereço de e-mail (p. 30)
Cadastro na AWS
Se você ainda não tem uma Conta da AWS, siga as etapas a seguir para criar uma.
1. Abra https://portal.aws.amazon.com/billing/signup.
2. Siga as instruções online.
Para obter mais informações sobre os tipos de chaves de segurança que podem ser usadas no Amazon
SES, consulte Tipos de credenciais do Amazon SES (p. 9). Para informações sobre a obtenção de chaves
de acesso da AWS, consulte credenciais de segurança da AWS na Referência geral da AWS.
29
Amazon Simple Email Service Guia do desenvolvedor
Baixar um AWS SDK
30
Amazon Simple Email Service Guia do desenvolvedor
Etapa 3. Configurar sistemas de autenticação de domínio
Próximas etapas
Agora você está pronto para começar a enviar e-mails usando o Amazon SES. Porém, há algumas etapas
opcionais que você pode executar.
• Você pode criar conjuntos de configurações, que são conjuntos de regras aplicadas aos e-mails
enviados. Por exemplo, você pode usar conjuntos de configurações a fim de especificar para onde as
notificações são enviadas quando um e-mail é entregue, quando um destinatário abre uma mensagem
ou clica em um link nela, quando um e-mail é devolvido e quando um destinatário marca seu e-mail
como spam. Para obter mais informações, consulte Uso de conjuntos de configurações no Amazon
SES (p. 270).
• Quando você envia e-mails pelo do Amazon SES, é importante monitorar as devoluções e as
reclamações relacionadas à sua conta. O Amazon SES inclui um console de métricas de reputação
que você pode usar para monitorar as devoluções e as reclamações da sua conta. Para obter mais
informações, consulte Uso de métricas de reputação para acompanhar as taxas de devolução e
reclamação (p. 425). Também é possível criar alarmes do CloudWatch que alertarão quando
essas avaliações atingirem um nível muito alto. Para obter mais informações sobre como criar
alarmes do CloudWatch, consulte Criação de alarmes de monitoramento de reputação com o
CloudWatch (p. 441).
• Os clientes que enviarem um grande volume de e-mails, ou aqueles que simplesmente quiserem ter total
controle sobre a reputação de seus endereços IP, podem conceder endereços IP dedicados por uma
tarifa mensal adicional. Para obter mais informações, consulte Endereços IP dedicados para o Amazon
SES (p. 288).
31
Amazon Simple Email Service Guia do desenvolvedor
Saída da sandbox
Colocamos todas as novas contas na sandbox do Amazon SES. Enquanto sua conta está na sandbox,
você pode usar todos os recursos do Amazon SES. No entanto, quando está na sandbox, aplicamos as
seguintes restrições à sua conta:
• Você só pode enviar e-mails a endereços de e-mail e domínios verificados ou ao simulador de caixa
postal do Amazon SES (p. 266).
• Você pode enviar um máximo de 200 mensagens por um período de 24 horas.
• Você pode enviar no máximo uma mensagem por segundo.
Quando sua conta estiver fora da sandbox, você poderá enviar e-mails para todos os destinatários,
independentemente de o endereço do destinatário ou o domínio ser verificado. No entanto, você ainda
tem que verificar todas as identidades que usa como endereços de "From" (De), "Source" (Origem),
"Sender" (Remetente) ou "Return-Path" (Caminho de retorno).
Conclua os procedimentos desta seção para solicitar que sua conta seja removida da sandbox.
Note
Se você estiver usando o Amazon SES para enviar e-mails de uma instância do Amazon EC2,
talvez também seja necessário solicitar que o controle de utilização seja removido da porta 25 em
sua instância do Amazon EC2. Para obter mais informações, consulte Como faço para remover a
limitação da porta 25 na minha instância do EC2? no Centro de conhecimento da AWS.
Para solicitar que sua conta seja removida da sandbox do Amazon SES usando o AWS
Management Console
• Marketing email (E-mail de marketing): enviado de um para muitos para uma lista segmentada de
clientes ou possíveis clientes e que possui conteúdo promocional e de marketing, como fazer uma
compra, baixar informações, etc.
• Transactional email (E-mail transacional): enviado individualmente para cada destinatário
geralmente acionado por uma ação do usuário, como uma compra em um site, uma solicitação de
redefinição de senha, etc.
5. Em Website URL (URL do site), insira o URL do seu site para nos ajudar a entender melhor o tipo de
conteúdo que você planeja enviar.
6. Em Use case description (Descrição do caso de uso), explique como planeja usar o Amazon SES para
enviar e-mails. Para ajudar-nos a processar sua solicitação, responda às seguintes perguntas:
32
Amazon Simple Email Service Guia do desenvolvedor
Saída da sandbox
7. Em Additional contact addresses (Endereço de contato adicionais), diga-nos onde deseja receber
comunicações sobre sua conta. Pode ser uma lista separada por vírgulas com até quatro endereços
de e-mail.
8. Em Preferred contact language (Preferência de idioma de contato), escolha se você deseja receber
comunicações relacionadas a esse caso em inglês ou japonês.
9. Em Acknowledgement (Confirmação), marque a caixa em que você concorda em enviar e-mails
apenas para indivíduos que o solicitaram explicitamente e confirme que você tem um processo
implantado para lidar com notificações de devolução e reclamação.
10. Escolha o botão Submit request (Enviar solicitação) - um banner será exibido para confirmar que sua
solicitação foi enviada e está sendo revisada no momento.
Depois de enviar uma revisão dos detalhes da sua conta, você não poderá editar seus detalhes até que a
revisão esteja concluída. A equipe do AWS Support fornece uma resposta inicial para sua solicitação em
24 horas.
Para evitar que nossos sistemas sejam usados para enviar conteúdo indesejado ou malicioso,
consideramos cuidadosamente cada solicitação. Se for possível, atenderemos à sua solicitação dentro
desse período de 24 horas. No entanto, se precisarmos obter informações adicionais sobre você, o tempo
de resolução poderá ser mais longo. Se o seu caso de uso não estiver alinhado com nossas políticas,
talvez não seja possível atender à sua solicitação.
Opcionalmente, você também pode enviar sua solicitação de acesso à produção usando a AWS CLI.
Enviar a solicitação usando a AWS CLI é útil para solicitar acesso à produção para um grande número de
identidades ou para automatizar o processo de configuração do Amazon SES.
Para solicitar que sua conta seja removida da sandbox do Amazon SES usando a AWS CLI
1. Pré-requisito: você precisa instalar e configurar o AWS CLI. Para obter mais informações, consulte o
Manual do usuário do AWS Command Line Interface.
2. Na linha de comando, insira o seguinte comando:
a. Substitua TRANSACTIONAL pelo tipo de e-mail que você planeja enviar pelo Amazon SES. Você
pode especificar TRANSACTIONAL ou PROMOTIONAL. Se mais de um valor se aplicar, especifique
a opção que se aplica à maioria dos e-mails que você pretende enviar.
b. Substitua https://example.com pelo URL do seu site. O fornecimento dessas informações
nos ajuda a compreender melhor o tipo de conteúdo que você planeja enviar.
c. Substitua Use case description por uma descrição de como você planeja usar o Amazon
SES para enviar e-mails. Para ajudar-nos a processar sua solicitação, responda às seguintes
perguntas:
33
Amazon Simple Email Service Guia do desenvolvedor
Saída da sandbox
Depois de enviar uma revisão dos detalhes da sua conta, você não poderá editar seus detalhes até que a
revisão esteja concluída. A equipe do AWS Support fornece uma resposta inicial para sua solicitação em
24 horas.
Para evitar que nossos sistemas sejam usados para enviar conteúdo indesejado ou malicioso,
consideramos cuidadosamente cada solicitação. Se for possível, atenderemos à sua solicitação dentro
desse período de 24 horas. No entanto, se precisarmos obter informações adicionais sobre você, o tempo
de resolução poderá ser mais longo. Se o seu caso de uso não estiver alinhado com nossas políticas,
talvez não seja possível atender à sua solicitação.
34
Amazon Simple Email Service Guia do desenvolvedor
Instruções e conceitos
Os links de instruções do SES são listados em ordem alfabética e levarão você à seção
correspondente para demonstrar como executar a ação selecionada.
• Aprenda a…
• Adicionar um registro SPF (p. 209)
• Analisar eventos com o Kinesis Data Analytics (p. 411)
• Analisar eventos com o Redshift (p. 397)
• Atribuir grupos de IP (p. 280)
• Configurar domínios personalizados de aberturas e cliques (p. 281)
• Configurar notificações do SNS (p. 213)
• Conectar-se a um endpoint SMTP (p. 50)
• Criar um conjunto de configurações (p. 270)
• Criar uma identidade de domínio (p. 160)
• Criar uma política para autorização de envios usando uma política personalizada (p. 258)
• Criar uma política de autorização de envio usando o gerador de políticas (p. 242)
• Criar uma identidade de endereço de e-mail (p. 168)
• Criar grupos de IPs dedicados (p. 295)
• Criar destinos de eventos (p. 277)
• Criar filtros de endereços IP (p. 156)
• Criar regras de recebimento (p. 130)
• Criar alarmes de reputação usando o CloudWatch (p. 441)
• Excluir uma identidade (p. 180)
• Excluir dados pessoais (p. 524)
• Editar uma identidade (p. 180)
• Habilitar o encaminhamento de feedback de e-mails (p. 211)
• Exportar métricas de reputação (p. 286)
• Sair da área restrita para testes (p. 32)
• Conceder permissões para recebimento de e-mails (p. 126)
• Grafo de eventos no CloudWatch (p. 408)
• Aumentar throughput (p. 554)
35
Amazon Simple Email Service Guia do desenvolvedor
Instruções e conceitos
Concepts
Os links de conceitos do SES são listados em ordem alfabética e levarão você ao capítulo e às seções
correspondentes para explicar o conceito selecionado.
38
Amazon Simple Email Service Guia do desenvolvedor
• Sending Quota (Cota de envio) (p. 6): o número máximo de e-mails que você pode enviar em um
período de 24 horas. Essa cota é calculada com base num período de tempo contínuo. Toda vez que
você tenta enviar um e-mail, o Amazon SES determina o número de e-mails que você enviou nas 24
horas anteriores. Desde que o número total de e-mails que você enviou nas últimas 24 horas seja menor
que esse máximo diário, a solicitação de envio será aceita e o e-mail será enviado.
Se o envio de uma mensagem exceder o máximo diário da conta, a chamada para o Amazon SES será
rejeitada.
• Sending rate (Taxa de envios) (p. 6): o número máximo de e-mails que o Amazon SES pode aceitar da
sua conta por segundo. Você pode exceder essa cota por intermitências curtas, mas não por um período
prolongado.
Note
A taxa de aceitação do Amazon SES das suas mensagens pode ser inferior à taxa máxima de
envio da sua conta.
• Maximum message size (Tamanho máximo da mensagem) (MB) (p. 6): o tamanho máximo de e-mail
que você pode enviar. Inclui todas as imagens e anexos que fazem parte do e-mail após a codificação
MIME. Por exemplo, se você anexar um arquivo de 5 MB, o tamanho do anexo no e-mail após a
codificação MIME será de aproximadamente 6,85 MB (cerca de 137% do tamanho do arquivo original).
Note
Recomendamos que você carregue seus anexos para unidades de nuvem e inclua o URL
do anexo da unidade de nuvem para reduzir o tamanho do e-mail e melhorar a capacidade
de entrega. O SES não pode garantir que e-mails grandes acabarão na caixa de correio do
destinatário, pois diferentes servidores de e-mail terão políticas baseadas em tamanho variável.
As cotas de envio do Amazon SES são separadas para cada região da AWS. Para obter informações
sobre como usar o Amazon SES em várias regiões da AWS, consulte Regiões e o Amazon SES (p. 2).
Quando sua conta está na sandbox do Amazon SES, você pode enviar somente 200 mensagens por
período de 24 horas e sua taxa máxima de envio é de uma mensagem por segundo. Ao enviar uma
solicitação para que sua conta seja removida da sandbox, você também poderá solicitar que suas cotas
sejam aumentadas ao mesmo tempo. Para obter informações sobre como solicitar a remoção de sua conta
da sandbox, consulte Saída da sandbox do Amazon SES (p. 32).
Quando sua conta tiver sido removida da sandbox, você poderá solicitar aumentos de cota adicionais
a qualquer momento criando um novo caso no AWS Support Center. Para mais informações, consulte
Aumento de suas cotas de envio do Amazon SES (p. 41).
39
Amazon Simple Email Service Guia do desenvolvedor
Monitoramento de cotas de envio
Note
• Para aumentar suas cotas de envio, consulte Aumento de suas cotas de envio do Amazon
SES (p. 41).
• Para obter informações sobre os erros que seu aplicativo recebe quando você atinge as cotas de envio,
consulte Erros relacionados a cotas de envio para sua conta do Amazon SES (p. 43).
• Para monitorar suas cotas de envio usando o console do Amazon SES ou a API do Amazon SES,
consulte Monitoramento de cotas de envio do Amazon SES (p. 40).
Recomendamos que você verifique frequentemente suas estatísticas de envio para garantir que
não esteja se aproximando das cotas de envio. Se estiver se aproximando das cotas de envio,
consulte Aumento de suas cotas de envio do Amazon SES (p. 41) para obter informações
sobre como aumentá-las. Não espere até atingir as cotas de envio para aumentá-las.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, escolha Account dashboard (Painel da conta). Suas cotas de envio são
mostradas em Sending Limits (Limites do envio). O total de e-mails enviados e a porcentagem da cota
de envio usada são exibidos em Daily email usage (Uso diário de e-mail).
40
Amazon Simple Email Service Guia do desenvolvedor
Monitoramento das cotas de envio
usando a API do Amazon SES
3. Para atualizar a tela, selecione o ícone de atualização no canto superior direito da caixa de diálogo
Daily email usage (Uso diário de e-mail).
Note
Para obter uma descrição de GetSendQuota, consulte a Referência da API do Amazon Simple
Email Service.
41
Amazon Simple Email Service Guia do desenvolvedor
Cotas de envio aumentadas automaticamente
Para se qualificar para aumentos automáticos de taxa, todas as seguintes afirmações devem ser
verdadeiras:
• Você envia conteúdo de alta qualidade que seus destinatários desejam receber: envie conteúdo que os
destinatários desejam e esperam receber. Não envie e-mails para clientes que não vão abrir seu e-mail.
• Você envia conteúdo de produção real: o envio de mensagens de teste para endereços de e-mail
falsos pode ter um efeito negativo nas suas taxas de devoluções e reclamações. Além disso, o envio de
mensagens apenas para destinatários internos dificulta identificar se você está enviando conteúdo que
os clientes desejam receber. No entanto, quando você envia mensagens de produção para destinatários
não internos, podemos avaliar com precisão suas práticas de envio de e-mails.
• Você utiliza quase toda a cota atual de envio: para se qualificar para um aumento de cota automático, o
volume de e-mail diário deve se aproximar regularmente do máximo diário para a conta, sem excedê-lo.
• Você tem baixas taxas de devoluções e reclamações: minimize a quantidade de devoluções e
reclamações recebidas. Ter uma grande quantidade de devoluções e reclamações pode afetar
negativamente as cotas de envio.
• Cota de envio ou taxa de envio: solicitações de aumento de qualquer uma delas podem ser enviadas por
meio do AWSconsole do Service Quotas.
Para solicitar um aumento nas cotas de envio do Amazon SES usando o console Service Quotas.
Para evitar que nossos sistemas sejam usados para enviar conteúdo indesejado ou malicioso,
consideramos cuidadosamente cada solicitação. Se formos capazes, atenderemos à sua
solicitação dentro dos horários especificados listados abaixo para o tipo de aumento solicitado. No
entanto, se precisarmos obter informações adicionais sobre você, o tempo de resolução poderá
ser mais longo. Nos reservamos o direito de não atender a sua solicitação se o seu caso de uso
não estiver alinhado com nossas políticas.
42
Amazon Simple Email Service Guia do desenvolvedor
Erros de cota de envio
Note
Embora o console do Service Quotas esteja disponível em vários idiomas diferentes, o suporte de
fato é fornecido somente em inglês.
Para conhecer uma técnica que você pode utilizar quando atingir sua taxa máxima de envio, consulte How
to handle a "Throttling – Maximum sending rate exceeded" error (“Como lidar com um erro "Controle de
utilização: taxa máxima de envio excedida") no blog de sistemas de mensagens e segmentação da AWS.
Se você se deparar com um erro de limitação, deverá programar seu aplicativo para aguardar um intervalo
de no máximo 10 minutos e, em seguida, tentar novamente a solicitação de envio.
43
Amazon Simple Email Service Guia do desenvolvedor
Usar a interface SMTP
Important
Quando você envia um e-mail para vários destinatários (destinatários são "To", "CC" e "BCC") e a
chamada para o Amazon SES falha, o e-mail todo é rejeitado e nenhum dos destinatários recebe
o e-mail pretendido. Portanto, recomendamos que você envie um e-mail para um destinatário de
cada vez.
O Amazon SES envia e-mails usando o SMTP, que é o protocolo de e-mail mais comum na Internet. Você
pode enviar e-mails por meio do Amazon SES usando diversas linguagens de programação e software
habilitados para SMTP para conectar-se à interface SMTP do Amazon SES. Esta seção explica como
obter suas credenciais SMTP do Amazon SES, como enviar e-mails usando a interface SMTP e como
configurar vários programas de software e servidores de e-mail para usar o Amazon SES para envio de e-
mail.
Para obter as soluções para problemas comuns que podem ser encontrados quando você usa o Amazon
SES pela interface SMTP, consulte Problemas de SMTP do Amazon SES (p. 555).
44
Amazon Simple Email Service Guia do desenvolvedor
Métodos para enviar e-mail por SMTP
• O endereço do endpoint SMTP. Para obter uma lista de endpoints SMTP do Amazon SES, consulte
Conexão com um endpoint SMTP do Amazon SES (p. 50).
• O número de porta da interface SMTP. O número da porta varia de acordo com o método de conexão.
Para mais informações, consulte Conexão com um endpoint SMTP do Amazon SES (p. 50).
• Nome de usuário e senha do SMTP. As credenciais SMTP são exclusivas de cada região da AWS. Se
planeja usar a interface SMTP para enviar e-mails em várias regiões da AWS, você precisa de um nome
de usuário e senha para cada região.
Important
Seu nome de usuário e senha SMTP não são idênticos às chaves de acesso da AWS nem às
credenciais que você usa para fazer login no console do Amazon SES. Para obter informações
sobre como gerar o seu nome de usuário e senha SMTP, consulte Obtenção de credenciais
SMTP do Amazon SES (p. 46).
• Software cliente que pode se comunicar usando Transport Layer Security (TLS). Para mais informações,
consulte Conexão com um endpoint SMTP do Amazon SES (p. 50).
• Um endereço de e-mail que você verificou com o Amazon SES. Para mais informações, consulte
Identidades verificadas no Amazon SES (p. 158).
• Aumento de cotas de envio, se você quiser enviar grandes quantidades de e-mail. Para mais
informações, consulte Gerenciamento de limites do envio do Amazon SES (p. 39).
• Para configurar software habilitado para SMTP para enviar e-mail por meio da interface SMTP do
Amazon SES, consulte Envio de e-mails pelo Amazon SES usando pacotes de software (p. 50).
• Para programar uma aplicação para enviar e-mails por meio do Amazon SES, consulte Envio de e-mails
de modo programático pela interface SMTP do Amazon SES (p. 52).
• Para configurar seu servidor de e-mails existente para enviar todos os e-mail de saída pelo Amazon
SES, consulte Integração do Amazon SES com seu servidor de e-mail existente (p. 61).
• Para interagir com a interface SMTP do Amazon SES usando a linha de comando, o que pode ser útil
para testes, consulte Teste de sua conexão com a interface SMTP do Amazon SES usando a linha de
comando (p. 72).
Para obter uma lista de códigos de resposta do SMTP, consulte Códigos de resposta SMTP retornados
pelo Amazon SES (p. 557).
• um endereço IP de origem
• um endereço de destino
• dados da mensagem
Se você estiver usando a interface SMTP e estiver com o encaminhamento de feedback habilitado, suas
devoluções, reclamações e notificações de entrega serão enviadas para o endereço "MAIL FROM".
Qualquer endereço "Reply-To" que você especificar não será usado.
45
Amazon Simple Email Service Guia do desenvolvedor
Obter as credenciais SMTP
As credenciais que você usa para enviar e-mails por meio da interface SMTP do Amazon SES são
exclusivas de cada região da AWS. Se usar a interface SMTP do Amazon SES para enviar e-mails em
mais de uma região, você deve gerar um conjunto de credenciais SMTP para cada região que pretende
usar.
Sua senha SMTP é diferente da sua chave de acesso secreta da AWS. Para obter mais informações sobre
credenciais, consulte Tipos de credenciais do Amazon SES (p. 9).
Note
Os endpoints SMTP não estão disponíveis atualmente na África (Cidade do Cabo), Europa
(Milão), Oriente Médio (Bahrein).
Requisito
Um usuário do Amazon SES pode criar credenciais SMTP do Amazon SES, mas a política de usuário do
IAM deve conceder a ele permissão para usar o IAM em si, pois as credenciais SMTP do Amazon SES
são criadas usando o IAM. Sua política do IAM deve permitir que você execute as seguintes ações do IAM:
iam:ListUsers, iam:CreateUser, iam:CreateAccessKey e iam:PutUserPolicy. Se tentar criar
as credenciais SMTP do Amazon SES usando o console e o usuário do IAM não tiver essas permissões,
você verá um erro que diz que sua conta é "not authorized to perform iam:ListUsers" (não autorizada a
realizar iam:ListUsers).
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. Selecione SMTP settings (Configurações de SMTP) no painel de navegação à esquerda. Isso abrirá a
página Simple Mail Transfer Protocol (SMTP) settings [Configurações de SMTP (Simple Mail Transfer
Protocol)].
3. Selecione Create SMTP Credentials (Criar credenciais de SMTP) no canto superior direito. Isso abrirá
o console do IAM.
4. (Opcional) Se você precisar visualizar, editar ou excluir usuários de SMTP que já criou, selecione
Manage my existing SMTP credentials (Gerenciar minhas credenciais SMTP existentes) no canto
inferior direito. Isso abrirá o console do IAM. Os detalhes do gerenciamento de credenciais de SMTP
são fornecidos seguindo esses procedimentos.
5. Para Criar usuário para SMTP, digite um nome para seu usuário SMTP no campo IAM User Name
(Nome de usuário IAM). Como alternativa, você pode usar o valor padrão que é fornecido nesse
campo. Ao terminar, escolha Create (Criar) no canto inferior direito.
6. Expanda Show User SMTP Security Credentials (Mostrar credenciais de segurança de SMTP do
usuário) - suas credenciais de SMTP serão mostradas na tela.
7. Baixe essas credenciais escolhendo Download Credentials (Baixar credenciais) ou copie e armazene-
as em local seguro, porque você não poderá visualizar nem salvar as credenciais depois que fechar
esta caixa de diálogo.
46
Amazon Simple Email Service Guia do desenvolvedor
Obter as credenciais SMTP
É possível exibir uma lista de credenciais SMTP que você criou usando esse procedimento no console do
IAM em Access management (Gerenciamento de acesso) e escolhendo Users (Usuários). Depois, use a
barra de pesquisa para localizar todos os usuários aos quais você atribuiu credenciais SMTP.
Também é possível usar o console do IAM para excluir usuários SMTP existentes. Para saber mais sobre
como excluir usuários, consulte Gerenciar usuários do IAM no Guia de conceitos básicos do IAM.
Se pretender alterar a senha SMTP, exclua o usuário SMTP existente no console do IAM. Depois, para
gerar um novo conjunto de credenciais SMTP, realize os procedimentos anteriores.
Não use credenciais temporárias da AWS para obter credenciais SMTP. A interface SMTP do
Amazon SES não é compatível com credenciais SMTP que foram geradas a partir de credenciais
de segurança temporárias.
Para que o usuário do IAM possa enviar e-mails usando a interface SMTP do Amazon SES, faça o
seguinte:
• Derive as credenciais SMTP do usuário das credenciais dele da AWS usando o algoritmo fornecido
nesta seção. Como você está partindo das credenciais da AWS, o nome de usuário SMTP é o mesmo
que o ID da chave de acesso da AWS, portanto, você só precisa gerar a senha SMTP.
• Aplique a política a seguir ao usuário do IAM:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ses:SendRawEmail",
"Resource": "*"
}
]
}
Para obter mais informações sobre como usar o Amazon SES com o IAM, consulte Gerenciamento de
identidade e acesso no Amazon SES (p. 529).
Note
Embora você possa gerar credenciais SMTP do Amazon SES para qualquer usuário do IAM,
recomendamos que você crie um usuário do IAM separado quando gerar suas credenciais SMTP.
Para obter mais informações sobre por que é uma prática recomendada criar usuários para fins
específicos, consulte Melhores práticas do IAM.
O pseudocódigo a seguir mostra o algoritmo que converte uma chave de acesso secreta da AWS em uma
senha SMTP do Amazon SES.
47
Amazon Simple Email Service Guia do desenvolvedor
Obter as credenciais SMTP
key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY";
// Modify this variable to refer to the AWS Region that you want to use to send email.
region = "us-west-2";
// The values of the following variables should always stay the same.
date = "11111111";
service = "ses";
terminal = "aws4_request";
message = "SendRawEmail";
version = 0x04;
Algumas linguagens de programação incluem bibliotecas que você pode usar para converter uma chave
de acesso secreta do IAM em uma senha SMTP. Esta seção inclui um exemplo de código que você pode
usar para converter uma chave de acesso secreta da AWS em uma senha SMTP do Amazon SES usando
o Python.
Note
O exemplo a seguir usa f-strings que foram introduzidos no Python 3.6; se estiver usando uma
versão mais antiga, elas não funcionarão.
Atualmente, o Python SDK (Boto3) suporta oficialmente as versões 2.7 e 3.6 (ou posterior). No
entanto, o suporte da versão 2.7 está defasado e será descontinuado em 15/7/2021, portanto,
você precisará atualizar pelo menos para a versão 3.6.
Python
#!/usr/bin/env python3
import hmac
import hashlib
import base64
import argparse
SMTP_REGIONS = [
'us-east-2', # US East (Ohio)
'us-east-1', # US East (N. Virginia)
'us-west-2', # US West (Oregon)
'ap-south-1', # Asia Pacific (Mumbai)
'ap-northeast-2', # Asia Pacific (Seoul)
'ap-southeast-1', # Asia Pacific (Singapore)
'ap-southeast-2', # Asia Pacific (Sydney)
'ap-northeast-1', # Asia Pacific (Tokyo)
'ca-central-1', # Canada (Central)
'eu-central-1', # Europe (Frankfurt)
'eu-west-1', # Europe (Ireland)
'eu-west-2', # Europe (London)
'sa-east-1', # South America (Sao Paulo)
'us-gov-west-1', # AWS GovCloud (US)
]
# These values are required to calculate the signature. Do not change them.
DATE = "11111111"
SERVICE = "ses"
MESSAGE = "SendRawEmail"
48
Amazon Simple Email Service Guia do desenvolvedor
Obter as credenciais SMTP
TERMINAL = "aws4_request"
VERSION = 0x04
def main():
parser = argparse.ArgumentParser(
description='Convert a Secret Access Key for an IAM user to an SMTP password.')
parser.add_argument(
'secret', help='The Secret Access Key to convert.')
parser.add_argument(
'region',
help='The AWS Region where the SMTP password will be used.',
choices=SMTP_REGIONS)
args = parser.parse_args()
print(calculate_key(args.secret, args.region))
if __name__ == '__main__':
main()
Para obter sua senha SMTP usando esse script, salve o código anterior como
smtp_credentials_generate.py. Depois, na linha de comando, execute o seguinte comando:
Quando esse script é executado com êxito, a única saída é sua senha SMTP.
Para usar esse script, primeiro salve o código anterior como smtp_credentials_generate.py. Depois,
na linha de comando, execute o seguinte comando:
49
Amazon Simple Email Service Guia do desenvolvedor
Conectar-se a um endpoint SMTP do
Quando esse script é executado com êxito, a única saída é sua senha SMTP.
O endpoint SMTP do Amazon SES exige que todas as conexões sejam criptografadas usando Transport
Layer Security (TLS). (Observe que o TLS normalmente é chamado pelo nome do seu protocolo
antecessor, SSL.) O Amazon SES oferece suporte a dois mecanismos para estabelecer conexão
criptografada por TLS: STARTTLS e TLS Wrapper. Verifique a documentação do seu software para
determinar se ele oferece suporte ao STARTTLS, TLS Wrapper ou ambos.
O Amazon Elastic Compute Cloud (Amazon EC2) limita o tráfego de e-mail pela porta 25 por padrão. Para
evitar erros de tempo limite ao enviar e-mails pelo endpoint SMTP do EC2, envie uma Solicitação para
remover limitações de envio de e-mail para remover essa limitação. Como alternativa, é possível enviar e-
mails usando uma porta diferente ou usar um endpoint da Amazon VPC (p. 540).
STARTTLS
STARTTLS é um meio de atualizar uma conexão não criptografada para uma conexão criptografada.
Existem versões do STARTTLS para diversos protocolos; a versão SMTP é definida em RFC 3207.
Para configurar uma conexão STARTTLS, o cliente SMTP se conecta ao endpoint SMTP do Amazon SES
nas portas 25, 587 ou 2587, emite um comando EHLO e aguarda o servidor anunciar que é compatível
com a extensão SMTP STARTTLS. Em seguida, o cliente emite o comando STARTTLS, iniciando a
negociação de TLS. Quando a negociação estiver concluída, o cliente emitirá um comando EHLO sobre a
nova conexão criptografada e a sessão SMTP continuará normalmente.
TLS Wrapper
O TLS Wrapper (também conhecido como SMTPS ou Handshake Protocol) é um meio de iniciar uma
conexão criptografada sem antes estabelecer uma conexão não criptografada. Com o TLS Wrapper, o
endpoint SMTP do Amazon SES não faz negociação de TLS: é responsabilidade do cliente se conectar ao
endpoint usando TLS e continuar usando TLS por toda a conversa. O TLS Wrapper é um protocolo mais
antigo, mas ainda é compatível com muitos clientes.
Para configurar uma conexão com o TLS Wrapper, o cliente SMTP se conecta ao endpoint SMTP do
Amazon SES na porta 465 ou 2465. O servidor apresenta o seu certificado, o cliente emite um comando
EHLO e a sessão SMTP continua normalmente.
50
Amazon Simple Email Service Guia do desenvolvedor
Uso de pacotes de software para enviar e-mails
• Plataformas de blogs
• Agregadores RSS
• Software de gerenciamento de listas
• Sistemas de fluxo de trabalho
Você pode configurar qualquer software habilitado para SMTP para enviar e-mail por meio da interface
SMTP do Amazon SES. Para obter instruções sobre como configurar o SMTP para um determinado pacote
de software, consulte a documentação desse software.
O procedimento a seguir mostra como configurar o envio do Amazon SES no JIRA, uma conhecida
solução de rastreamento de problemas. Com esta configuração, o JIRA pode notificar os usuários por e-
mail sempre que houver uma alteração no status de um problema de software.
Se você não puder se conectar ao Amazon SES usando essa configuração, tente
SECURE_SMTP.
e. Host Name (Nome do host): consulte Conexão com um endpoint SMTP do Amazon
SES (p. 50) para ver uma lista de endpoints SMTP do Amazon SES. Por exemplo, se você
quiser usar o endpoint do Amazon SES na região Oeste dos EUA (Oregon), o nome do host seria
email-smtp.us-west-2.amazonaws.com.
f. SMTP Port (Porta SMTP): 25, 587 ou 2587 (para se conectar usando STARTTLS), ou 465 ou
2465 (para se conectar usando TLS Wrapper).
g. TLS – Marque esta caixa.
h. User name (Nome do usuário): seu nome de usuário SMTP.
i. Password – Sua senha SMTP.
51
Amazon Simple Email Service Guia do desenvolvedor
Envio de e-mails de modo programático
7. Escolha Test Connection (Testar conexão). Se o e-mail de teste que o JIRA envia pelo Amazon SES
chegar com sucesso, sua configuração estará concluída.
• Seu nome de usuário e senha SMTP do Amazon SES, que permitem a conexão com o endpoint SMTP
do Amazon SES. Para obter seu nome de usuário e senha SMTP do Amazon SES, consulte Obtenção
de credenciais SMTP do Amazon SES (p. 46).
Important
Suas credenciais SMTP são diferentes das suas credenciais da AWS. Para obter mais
informações sobre credenciais, consulte Tipos de credenciais do Amazon SES (p. 9).
• O endereço do endpoint SMTP. Para obter uma lista de endpoints SMTP do Amazon SES, consulte
Conexão com um endpoint SMTP do Amazon SES (p. 50).
• O número da porta da interface SMTP do Amazon SES, que depende do método de conexão. Para mais
informações, consulte Conexão com um endpoint SMTP do Amazon SES (p. 50).
Exemplos de código
Você pode acessar a interface SMTP do Amazon SES usando uma linguagem de programação habilitada
para SMTP. Você fornece o nome do host e o número da porta SMTP do Amazon SES junto com suas
credenciais SMTP e, em seguida, use as funções SMTP genéricas da linguagem de programação para
enviar o e-mail.
52
Amazon Simple Email Service Guia do desenvolvedor
Envio de e-mails de modo programático
O Amazon Elastic Compute Cloud (Amazon EC2) restringe o tráfego de e-mail pela porta 25 por padrão.
Para evitar erros de tempo limite ao enviar e-mails pelo endpoint SMTP do Amazon EC2, você pode
solicitar que essas restrições sejam removidas. Para obter mais informações, consulte Como remover
a restrição da porta 25 na minha instância do Amazon EC2 ou função do AWS Lambda? na Central de
Conhecimento da AWS.
Os exemplos de código nesta seção para C#, Java e PHP usam a porta 587 para evitar esse problema.
Note
Neste tutorial, você enviará um e-mail a si mesmo, para poder conferir se o recebe. Para fazer
mais experimentos ou testes de carga, use o simulador de caixa postal do Amazon SES. Os e-
mails enviados ao simulador de caixa postal não contam para sua cota de envio nem para suas
taxas de devoluções e reclamações. Para mais informações, consulte Uso do simulador de caixa
postal manualmente. (p. 266).
C#
O procedimento a seguir mostra como usar o Microsoft Visual Studio para criar uma aplicação de
console C# que envia um e-mail por meio do Amazon SES. Os procedimentos nesta seção aplicam-
se ao Visual Studio 2017, mas o processo de criação de aplicações de console C# é semelhante em
todas as edições do Microsoft Visual Studio.
Note
53
Amazon Simple Email Service Guia do desenvolvedor
Envio de e-mails de modo programático
using System;
using System.Net;
using System.Net.Mail;
namespace AmazonSESSample
{
class Program
{
static void Main(string[] args)
{
// Replace [email protected] with your "From" address.
// This address must be verified with Amazon SES.
String FROM = "[email protected]";
String FROMNAME = "Sender Name";
// The port you will connect to on the Amazon SES SMTP endpoint. We
// are choosing port 587 because we will use STARTTLS to encrypt
// the connection.
int PORT = 587;
54
Amazon Simple Email Service Guia do desenvolvedor
Envio de e-mails de modo programático
• [email protected]: substitua pelo seu endereço de e-mail "From" (De). Você deve
verificar esse endereço antes de executar esse programa. Para mais informações, consulte
Identidades verificadas no Amazon SES (p. 158).
• [email protected]: substitua pelo seu endereço de e-mail "To" (Para). Se sua conta
ainda estiver na sandbox, você precisará verificar esse endereço antes de usá-lo. Para mais
informações, consulte Saída da sandbox do Amazon SES (p. 32).
4. Em Program.cs, substitua as seguintes credenciais SMTP pelos valores obtidos em Obtenção
de credenciais SMTP do Amazon SES (p. 46):
Important
Suas credenciais SMTP são diferentes das suas credenciais da AWS. Para obter mais
informações sobre credenciais, consulte Tipos de credenciais do Amazon SES (p. 9).
• YOUR_SMTP_USERNAME: substitua pelo seu nome de usuário SMTP. Observe que sua
credencial de nome de usuário SMTP é uma string de 20 caracteres de letras e números, e não
um nome inteligível.
• YOUR_SMTP_PASSWORD—Substitua pela sua senha SMTP.
5. (Opcional) Se quiser usar um endpoint SMTP do Amazon SES em uma região que não seja
Oeste dos EUA (Oregon), altere o valor da variável HOST para o endpoint que deseja usar. Para
obter uma lista de URLs de endpoints SMTP para as Regiões da AWS onde o Amazon SES está
disponível, consulte Amazon Simple Email Service (Amazon SES) na Referência geral da AWS.
6. (Opcional) Se você quiser usar um conjunto de configurações ao enviar esse e-mail, altere o valor
da variável CONFIGSET pelo nome do conjunto de configurações. Para obter mais informações
sobre os conjuntos de configurações, consulte Uso de conjuntos de configurações no Amazon
SES (p. 270).
7. Salvar Program.cs.
55
Amazon Simple Email Service Guia do desenvolvedor
Envio de e-mails de modo programático
Java
Este exemplo usa Eclipse IDE e a API JavaMail para enviar e-mail pelo Amazon SES usando a
interface SMTP.
Para enviar um e-mail usando a interface SMTP do Amazon SES com Java
a. Inicie o Eclipse.
b. No Eclipse, escolha File, New e Java Project.
c. Na caixa de diálogo Create a Java Project, digite o nome do projeto e escolha Next.
d. Na caixa de diálogo Java Settings, escolha a guia Libraries.
e. Escolha Add External JARs.
f. Procure a pasta em que você baixou JavaMail. Escolha o arquivo javax.mail.jar e Open.
g. Na caixa de diálogo Java Settings, escolha Finish.
3. No Eclipse, na janela Package Explorer, expanda seu projeto.
4. No seu projeto, clique com o botão direito do mouse no diretório src, escolha New e Class.
5. Na caixa de diálogo New Java Class, no campo Name, digite AmazonSESSample e escolha
Finish.
6. Substitua o todo o conteúdo de AmazonSESSample.java pelo seguinte código:
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
56
Amazon Simple Email Service Guia do desenvolvedor
Envio de e-mails de modo programático
// Amazon SES SMTP host name. This example uses the US West (Oregon) region.
// See https://docs.aws.amazon.com/ses/latest/DeveloperGuide/
regions.html#region-endpoints
// for more information.
static final String HOST = "email-smtp.us-west-2.amazonaws.com";
// The port you will connect to on the Amazon SES SMTP endpoint.
static final int PORT = 587;
static final String SUBJECT = "Amazon SES test (SMTP interface accessed using
Java)";
// Create a transport.
Transport transport = session.getTransport();
// Connect to Amazon SES using the SMTP username and password you
specified above.
57
Amazon Simple Email Service Guia do desenvolvedor
Envio de e-mails de modo programático
• [email protected]: substitua pelo seu endereço de e-mail "From" (De). Você deve
verificar esse endereço antes de executar esse programa. Para mais informações, consulte
Identidades verificadas no Amazon SES (p. 158).
• [email protected]: substitua pelo seu endereço de e-mail "To" (Para). Se sua conta
ainda estiver na sandbox, você precisará verificar esse endereço antes de usá-lo. Para mais
informações, consulte Saída da sandbox do Amazon SES (p. 32).
8. Em AmazonSESSample.java, substitua as seguintes credenciais SMTP pelos valores obtidos
em Obtenção de credenciais SMTP do Amazon SES (p. 46):
Important
Suas credenciais SMTP são diferentes das suas credenciais da AWS. Para obter mais
informações sobre credenciais, consulte Tipos de credenciais do Amazon SES (p. 9).
58
Amazon Simple Email Service Guia do desenvolvedor
Envio de e-mails de modo programático
15. Entre no cliente de e-mail do endereço de destinatário. Você verá a mensagem que enviou.
PHP
Este exemplo usa a classe PHPMailer para enviar e-mail pelo Amazon SES usando a interface SMTP.
Antes de realizar o procedimento a seguir, você deve concluir as tarefas de configuração descritas em
Configuração do Amazon Simple Email Service (p. 29). Além de configurar o Amazon SES, você deve
preencher os seguintes pré-requisitos para enviar e-mail com PHP:
Pré-requisitos:
No comando anterior, substitua path/to/ pelo caminho onde você instalou o Composer.
Para enviar um e-mail usando a interface SMTP do Amazon SES com PHP
<?php
// If necessary, modify the path in the require statement below to refer to the
// location of your Composer autoload.php file.
require 'vendor/autoload.php';
59
Amazon Simple Email Service Guia do desenvolvedor
Envio de e-mails de modo programático
try {
// Specify the SMTP settings.
$mail->isSMTP();
$mail->setFrom($sender, $senderName);
$mail->Username = $usernameSmtp;
$mail->Password = $passwordSmtp;
$mail->Host = $host;
$mail->Port = $port;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tls';
$mail->addCustomHeader('X-SES-CONFIGURATION-SET', $configurationSet);
?>
60
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente
Vários agentes de transferência de e-mail (MTAs) oferecem suporte ao envio de e-mails por meio de
transmissões SMTP. Esta seção dá orientações gerais sobre como configurar alguns MTAs conhecidos
para enviar e-mails usando a interface SMTP do Amazon SES.
O endpoint SMTP do Amazon SES exige que todas as conexões sejam criptografadas usando Transport
Layer Security (TLS).
Tópicos
• Integração do Amazon SES com o Postfix (p. 61)
• Integração do Amazon SES com o Sendmail (p. 65)
• Integração do Amazon SES com o IIS SMTP do Microsoft Windows Server (p. 69)
• Integração do Amazon SES com o Exim (p. 70)
61
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente
Note
☻O Postfix é uma aplicação de terceiros e não é desenvolvido nem suportado pela Amazon Web
Services. Os procedimentos nesta seção são fornecidos apenas para fins informativos e estão
sujeitos a alterações sem aviso prévio.
Pré-requisitos
Antes de concluir os procedimentos desta seção, você precisa realizar as seguintes tarefas:
• Desinstale o Sendmail, se já estiver instalado em seu sistema. O procedimento para concluir esta etapa
pode variar dependendo de seu sistema operacional.
Note
Configuração do Postfix
Realize os seguintes procedimentos para configurar seu servidor de e-mail para enviar e-mails por meio do
Amazon SES usando o Postfix.
Note
Se você usar o Amazon SES em um a região da AWS que não seja Oeste dos EUA
(Oregon), substitua email-smtp.us-west-2.amazonaws.com no comando anterior com
o endpoint SMTP do para a região apropriada. Para mais informações, consulte the section
called “Regiões” (p. 2).
2. Em um editor de texto, abra o arquivo /etc/postfix/master.cf. Procure a seguinte entrada:
-o smtp_fallback_relay=
62
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente
Se você encontrar essa entrada, faça um comentário, colocando um caractere # (hash) no início da
linha. Salve e feche o arquivo .
Caso contrário, se essa entrada não estiver presente, continue na próxima etapa.
3. Em um editor de texto, abra o arquivo /etc/postfix/sasl_passwd. Se o arquivo ainda não existir,
crie-o.
4. Adicione a seguinte linha a /etc/postfix/sasl_passwd:
[email-smtp.us-west-2.amazonaws.com]:587 SMTPUSERNAME:SMTPPASSWORD
Note
a. Em um prompt de comando, digite o comando a seguir para alterar a propriedade dos arquivos:
b. Em um prompt de comando, digite o comando a seguir para alterar as permissões dos arquivos
de modo que apenas o usuário raiz possa ler ou gravar neles:
7. Diga ao Postfix onde encontrar o certificado CA (necessário para verificar o certificado do servidor do
Amazon SES). O comando que você usa nesta etapa varia de acordo com o seu sistema operacional.
• Se você usa o Amazon Linux, o Red Hat Enterprise Linux ou uma distribuição relacionada, digite o
comando a seguir:
• Se você usa macOS, pode gerar o certificado a partir do conjunto de chaves do sistema. Para gerar
o certificado, digite o comando a seguir na linha de comando:
63
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente
8. Digite o comando a seguir para iniciar o servidor do Postfix (ou para recarregar os parâmetros de
configuração, se o servidor já estiver em execução):
10. Marque a caixa de correio associada ao endereço de destinatário. Se o e-mail não chegar, verifique
sua pasta de spam. Se você ainda não conseguir localizar o e-mail, verifique o log de e-mails no
sistema que usou para enviar o e-mail (normalmente localizado em /var/log/maillog) para obter
mais informações.
X-SES-CONFIGURATION-SET: ConfigSet
From:Sender Name <[email protected]>
Subject:Amazon SES Test
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="YWVhZDFlY2QzMGQ2N2U0YTZmODU"
--YWVhZDFlY2QzMGQ2N2U0YTZmODU
Content-Type: multipart/alternative; boundary="3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ"
--3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
64
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente
This message was sent from Amazon SES using the SMTP interface.
--3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<html>
<head>
</head>
<body>
<h1>Amazon SES Test</h1>
<p>This message was sent from Amazon SES using the SMTP interface.</p>
<p>For more information, see
<a ses:tags="samplekey0:samplevalue0;samplekey1:samplevalue1;"
href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html">
Using the Amazon SES SMTP Interface to Send Email</a> in the <em>Amazon SES
Developer Guide</em>.</p>
</body>
</html>
--3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ--
--YWVhZDFlY2QzMGQ2N2U0YTZmODU
Content-Type: application/octet-stream
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="customers.txt"
SUQsRmlyc3ROYW1lLExhc3ROYW1lLENvdW50cnkKMzQ4LEpvaG4sU3RpbGVzLENh
bmFkYQo5MjM4OSxKaWUsTGl1LENoaW5hCjczNCxTaGlybGV5LFJvZHJpZ3VleixV
bml0ZWQgU3RhdGVzCjI4OTMsQW5heWEsSXllbmdhcixJbmRpYQ==
--YWVhZDFlY2QzMGQ2N2U0YTZmODU--
Se o comando for executado com êxito, ele será encerrado sem fornecer nenhuma saída.
4. Verifique o e-mail na sua caixa de entrada. Se a mensagem não tiver sido entregue, verifique o log de
mensagens do seu sistema.
As instruções nesta seção mostram como configurar o Sendmail para enviar e-mails por meio do Amazon
SES. Este procedimento foi testado em um servidor que executa o Ubuntu 18.04.2 LTS.
65
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente
Note
O Sendmail é uma aplicação de terceiros e não é desenvolvido nem suportado pela Amazon Web
Services. Os procedimentos nesta seção são fornecidos apenas para fins informativos e estão
sujeitos a alterações sem aviso prévio.
Pré-requisitos
Antes de concluir o procedimento desta seção, você deverá concluir as seguintes etapas:
Se sua conta for na sandbox do Amazon SES, você também deve verificar os endereços aos quais envia
e-mails. Para mais informações, consulte Saída da sandbox do Amazon SES (p. 32).
Se estiver usando o Amazon SES para enviar e-mails de uma instância do Amazon EC2, você também
deve realizar as seguintes etapas:
• Você pode precisar atribuir um endereço de IP elástico à sua instância do Amazon EC2 para os
provedores de e-mail receptores aceitarem seu e-mail. Para obter mais informações, consulte Endereços
de IP elástico do Amazon EC2 no Guia do usuário do Amazon EC2 para instâncias do Linux.
• O Amazon Elastic Compute Cloud (Amazon EC2) restringe o tráfego de e-mail pela porta 25 por padrão.
Para evitar erros de tempo limite ao enviar e-mails pelo endpoint SMTP do Amazon EC2, você pode
solicitar que essas restrições sejam removidas. Para obter mais informações, consulte Como remover
a restrição da porta 25 na minha instância do Amazon EC2 ou função do AWS Lambda? na Central de
Conhecimento da AWS.
Como alternativa, você pode modificar o procedimento nesta seção para usar a porta 587 em vez da
porta 25.
Configurar o Sendmail
Conclua as etapas nesta seção para configurar o Sendmail para enviar e-mail usando o Amazon SES.
Important
O procedimento descrito nesta seção pressupõe que você deseja usar o Amazon SES na Região
da AWS Oeste dos EUA (Oregon). Se você quiser usar uma região diferente, substitua todas as
instâncias de email-smtp.us-west-2.amazonaws.com neste procedimento pelo endpoint SMTP
da região desejada. Para obter uma lista de URLs de endpoints SMTP para as Regiões da AWS
onde o Amazon SES está disponível, consulte Amazon Simple Email Service (Amazon SES) na
Referência geral da AWS.
66
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente
Note
Seu nome de usuário e senha SMTP são diferentes do seu ID da chave de acesso e
à chave de acesso secreta da AWS. Para obter mais informações sobre como obter o
nome de usuário e a senha SMTP, consulte Obtenção de credenciais SMTP do Amazon
SES (p. 46).
3. Na linha de comando, digite o comando a seguir para adicionar o suporte à retransmissão para o
endpoint SMTP do Amazon SES.
5. Na linha de comando, digite o comando a seguir para criar backups dos arquivos sendmail.cf e
sendmail.mc:
define(`SMART_HOST', `email-smtp.us-west-2.amazonaws.com')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 25')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
FEATURE(`authinfo', `hash -o /etc/mail/authinfo.db')dnl
MASQUERADE_AS(`example.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
67
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente
O Amazon EC2 restringe as comunicações pela porta 25 por padrão. Se estiver usando
o Sendmail em uma instância do instância do Amazon EC2, preencha a Solicitação para
remover limitações de envio de e-mail.
7. Na linha de comando, digite o comando a seguir para tornar sendmail.cf gravável:
Note
Se você encontrar erros como "Comando não encontrado" e "Este arquivo ou diretório não
existe", verifique se os pacotes m4 e sendmail-cf estão instalados em seu sistema.
9. Na linha de comando, digite o comando a seguir para redefinir as permissões de sendmail.cf como
somente leitura:
Dependendo da versão do Linux ou do Sendmail, se o indicado acima não funcionar, tente fazer o
seguinte:
From: [email protected]
To: [email protected]
Subject: Amazon SES test email
68
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente
O Windows Server é uma aplicação de terceiros e não é desenvolvido nem suportado pela
Amazon Web Services. Os procedimentos nesta seção são fornecidos apenas para fins
informativos e estão sujeitos a alterações sem aviso prévio.
Para integrar o servidor IIS SMTP do Microsoft Windows Server com o Amazon SES
a. No console de gerenciamento do Amazon EC2, inicie uma nova instância do Amazon EC2
baseada no Microsoft Windows Server 2012.
b. Conecte-se à instância e faça login usando o Remote Desktop, seguindo as instruções em
Conceitos básicos das instâncias do Windows do Amazon EC2.
c. Inicie o Server Manager Dashboard.
d. Instale a função Web Server. Não deixe de incluir IIS 6 Management Compatibility Tools
(Ferramentas do IIS 6 Management Compatibility) (uma opção da caixa de seleção Web Server
(Servidor Web)).
e. Instale o recurso SMTP Server.
2. Em seguida, configure o serviço IIS SMTP usando as instruções a seguir.
Neste procedimento, consideramos que seus e-mails são gerados neste servidor. Se a aplicação
que gera o e-mail for executada em um servidor separado, você deve conceder o acesso de
transmissão para esse servidor no IIS SMTP.
Note
Para ampliar a transmissão SMTP para sub-redes privadas, para Relay Restriction,
use Single Computer 127.0.0.1 e Group of Computers 172.1.1.0 - 255.255.255.0 (na
seção de máscara de rede). Para Connection, use Single Computer 127.0.0.1 e Group of
Computers 172.1.1.0 - 255.255.255.0 (na seção de máscara de rede).
3. Por fim, configure o servidor para enviar e-mails pelo Amazon SES usando as instruções a seguir.
a. Volte para a caixa de diálogo SMTP Virtual Server #1 Properties e selecione a guia Delivery.
b. Na guia Delivery, escolha Outbound Security.
c. Selecione Basic Authentication (Autenticação básica) e, em seguida, insira seu nome de usuário
e senha SMTP do Amazon SES. Você pode obter essas credenciais do console do Amazon SES
usando o procedimento em Obtenção de credenciais SMTP do Amazon SES (p. 46).
69
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente
Important
Seu nome de usuário e senha SMTP não são iguais ao seu ID de chave de acesso e
à chave de acesso secreta da AWS. Não tente usar suas credenciais da AWS para
se autenticar para o endpoint SMTP. Para obter mais informações sobre credenciais,
consulte Tipos de credenciais do Amazon SES (p. 9).
d. Verifique se TLS encryption está selecionada.
e. Volte para a guia Delivery.
f. Escolha Outbound Connections.
g. Na caixa de diálogo Outbound Connections, verifique se a porta é 25 ou 587.
h. Escolha Advanced (Avançado).
i. Para nome do Smart host (Host inteligente), insira o endpoint do Amazon SES que você usará
(por exemplo, email-smtp.us-west-2.amazonaws.com). Para obter uma lista de URLs de
endpoints para as Regiões da AWS onde o Amazon SES está disponível, consulte Amazon
Simple Email Service (Amazon SES) na Referência geral da AWS.
j. Volte para Server Manager Dashboard.
k. No Server Manager Dashboard, clique com o botão direito sobre SMTP Virtual Server #1 e
reinicie o serviço para pegar a nova configuração.
l. Envie um e-mail por meio deste servidor. Você pode examinar os cabeçalhos da mensagem para
confirmar que foi entregue pelo Amazon SES.
O Exim é uma aplicação de terceiros e não é desenvolvida nem suportada pela Amazon Web
Services. Os procedimentos nesta seção são fornecidos apenas para fins informativos e estão
sujeitos a alterações sem aviso prévio.
send_via_ses:
driver = manualroute
domains = ! +local_domains
transport = ses_smtp
route_list = * email-smtp.us-west-2.amazonaws.com;
ses_smtp:
driver = smtp
port = 587
70
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente
hosts_require_auth = *
hosts_require_tls = *
ses_login:
driver = plaintext
public_name = LOGIN
client_send = : USERNAME : PASSWORD
No código anterior, substitua USERNAME pelo seu nome de usuário de SMTP e PASSWORD pela
sua senha SMTP.
Important
Note
a. Digite o comando
exim -v [email protected]
From: [email protected]
Subject: Test message
This is a test.
Quando você pressionar Enter após o ponto final (.), o Exim começará a conversa com o servidor
SMTP. Se a conexão permanecer aberta depois que a mensagem for enviada, pressione Ctrl+D
para fechá-la.
Tip
Se a mensagem não for entregue, verifique os erros no log de e-mails do seu sistema. O
log de e-mails do Exim geralmente está localizado em /var/log/exim4/mainlog.
71
Amazon Simple Email Service Guia do desenvolvedor
Como testar sua conexão com a
interface SMTP do Amazon SES
Para obter informações adicionais sobre como solucionar problemas de conexão SMTP, consulte
Problemas de SMTP do Amazon SES (p. 555).
Pré-requisitos
Ao conectar-se à interface SMTP do Amazon SES, é necessário fornecer um conjunto de credenciais
SMTP. Essas credenciais de SMTP são diferentes das suas credenciais padrão da AWS. Os dois tipos
de credenciais não são intercambiáveis. Para obter mais informações sobre como obter as credenciais de
SMTP, consulte the section called “Obter as credenciais SMTP” (p. 46).
Esta seção inclui procedimentos para testar sua conexão usando tanto o OpenSSL (que está incluído na
maioria das distribuições Linux, macOS e Unix e também está disponível para Windows) como o cmdlet
Test-NetConnection no PowerShell (que está incluído nas versões mais recentes do Windows).
Há duas maneiras de se conectar à interface SMTP do Amazon SES com OpenSSL: usando SSL
explícito na porta 587 ou usando SSL implícito na porta 465.
• Na linha de comando, insira o seguinte comando para se conectar ao servidor SMTP do Amazon
SES:
72
Amazon Simple Email Service Guia do desenvolvedor
Como testar sua conexão com a
interface SMTP do Amazon SES
Como alternativa, é possível usar SSL implícito para se conectar à interface SMTP pela porta 465.
• Na linha de comando, insira o seguinte comando para se conectar ao servidor SMTP do Amazon
SES:
PowerShell
• No PowerShell, insira o seguinte comando para se conectar ao servidor SMTP do Amazon SES:
ComputerName : email-smtp.us-west-2.amazonaws.com
RemoteAddress : 198.51.100.126
RemotePort : 587
InterfaceAlias : Ethernet
73
Amazon Simple Email Service Guia do desenvolvedor
Como testar sua conexão com a
interface SMTP do Amazon SES
SourceAddress : 203.0.113.46
TcpTestSucceeded : True
Quando um remetente de e-mail se conecta a um servidor SMTP, o cliente envia um conjunto padrão
de solicitações e o servidor responde a cada solicitação com uma resposta padrão. Esta série de
solicitações e respostas é chamada de conversa SMTP. Quando você se conecta ao servidor SMTP
do Amazon SES usando o OpenSSL, o servidor espera que ocorra uma conversa SMTP.
Ao usar o OpenSSL para se conectar à interface SMTP, é necessário codificar suas credenciais SMTP
usando a codificação em base64. Esta seção inclui procedimentos para a codificação das credenciais
usando base64.
1. Na linha de comando, insira o seguinte comando para codificar seu nome de usuário de SMTP,
substituindo SMTPUsername pelo seu nome de usuário de SMTP:
EHLO example.com
AUTH LOGIN
Base64EncodedSMTPUserName
Base64EncodedSMTPPassword
MAIL FROM: [email protected]
RCPT TO: [email protected]
DATA
X-SES-CONFIGURATION-SET: ConfigSet
From: Sender Name <[email protected]>
To: [email protected]
Subject: Amazon SES SMTP Test
This message was sent using the Amazon SES SMTP interface.
.
QUIT
74
Amazon Simple Email Service Guia do desenvolvedor
Como testar sua conexão com a
interface SMTP do Amazon SES
Se não desejar usar um conjunto de configurações, você poderá omitir toda a linha que
começa com X-SES-CONFIGURATION-SET.
• Para enviar usando SSL explícito pela porta 587: insira o seguinte comando:
• Para enviar usando SSL implícito pela porta 465: insira o seguinte comando:
Note
Se a mensagem tiver sido aceita pelo Amazon SES, você verá uma saída semelhante ao seguinte
exemplo:
250 Ok 01010160d7de98d8-21e57d9a-JZho-416c-bbe1-8ebaAexample-000000
PowerShell
É possível usar a classe Net.Mail.SmtpClient para enviar e-mail usando SSL explícito na porta 587.
Note
try {
Write-Output "Sending message..."
$SMTPClient.Send($Sender, $Recipient, $Subject, $Body)
Write-Output "Message successfully sent to $($Recipient)"
} catch [System.Exception] {
Write-Output "An error occurred:"
Write-Error $_
}
}
function SendTestEmail(){
$Server = "email-smtp.us-west-2.amazonaws.com"
$Port = 587
$Sender = "[email protected]"
$Recipient = "[email protected]"
SendTestEmail
.\path\to\SendEmail.ps1
Como alternativa, é possível usar a classe System.Web.Mail.SmtpMail para enviar e-mail usando SSL
implícito na porta 465.
76
Amazon Simple Email Service Guia do desenvolvedor
Como testar sua conexão com a
interface SMTP do Amazon SES
Note
A classe System.Web.Mail.SmtpMail está oficialmente obsoleta e a Microsoft recomenda
o uso de bibliotecas de terceiros. Este código destina-se somente para fins de teste e não
deve ser usado para cargas de trabalho de produção.
$mail.From = $Sender
$mail.To = $Recipient
$mail.Subject = $Subject
$mail.Body = $Body
try {
Write-Output "Sending message..."
[System.Web.Mail.SmtpMail]::Send($mail)
Write-Output "Message successfully sent to $($Recipient)"
} catch [System.Exception] {
Write-Output "An error occurred:"
Write-Error $_
}
}
function SendTestEmail(){
$Server = "email-smtp.us-west-2.amazonaws.com"
$Port = 465
$Sender = "[email protected]"
$Recipient = "[email protected]"
SendTestEmail
77
Amazon Simple Email Service Guia do desenvolvedor
Uso da API
.\path\to\SendEmail.ps1
Ao enviar um e-mail usando a API do Amazon SES, especifique o conteúdo da mensagem, e o Amazon
SES montará um e-mail MIME para você. Alternativamente, você mesmo pode montar o e-mail para que
tenha controle total sobre o conteúdo da mensagem. Para obter informações sobre a API, consulte a
Referência da API do Amazon Simple Email Service. Para obter uma lista de URLs de endpoints para as
Regiões da AWS onde o Amazon SES está disponível, consulte endpoints e cotas do Amazon Simple
Email Service na Referência geral da AWS.
• Fazer solicitações HTTPS diretas: este é o método mais avançado, porque é necessário lidar
manualmente com a autenticação e a assinatura de suas solicitações e, depois, criá-las manualmente.
Para obter informações sobre a API do Amazon SES, consulte a página Boas-vindas na Referência da
API v2.
• Usar um AWS SDK: AWS SDKs facilitam o acesso a APIs de vários serviços da AWS, incluindo o
Amazon SES. Quando você usa um SDK, ele se encarrega de tarefas como autenticação, assinatura de
solicitações, lógica de novas tentativas, manipulação de erros, bem como de outras funções de baixo
nível, para que possa se concentrar na criação de aplicativos que conquistem seus clientes.
• Usar uma interface de linha de comando: a AWS Command Line Interface é a ferramenta da linha de
comando para o Amazon SES. Oferecemos também o AWS Tools for Windows PowerShell para aqueles
que usam script no ambiente do PowerShell.
Não importa se você acessa a API do Amazon SES direta ou indiretamente, por meio de um AWS SDK, da
AWS Command Line Interface ou do AWS Tools for Windows PowerShell, a API do Amazon SES fornece
duas maneiras diferentes de enviar um e-mail, dependendo de quanto controle você deseja ter sobre a
composição da mensagem de e-mail:
• Formatado: o Amazon SES redige e envia uma mensagem de e-mail formatada corretamente.
Você precisa apenas fornecer os endereços "From:" (De) e "To:" (Para), um assunto e um corpo da
mensagem. O Amazon SES cuida de todo o resto. Para mais informações, consulte Envio de e-mail
formatado usando a API do Amazon SES (p. 79).
78
Amazon Simple Email Service Guia do desenvolvedor
Enviar e-mail formatado
• Bruto: você compõe manualmente e envia uma mensagem de e-mail, especificando seus próprios
cabeçalhos de e-mail e tipos de MIME. Se você é experiente na formatação do seu próprio e-mail, a
interface bruta da a você mais controle sobre a composição da mensagem. Para mais informações,
consulte Enviar e-mail bruto usando a API do Amazon SES (p. 79).
Índice
• Envio de e-mail formatado usando a API do Amazon SES (p. 79)
• Enviar e-mail bruto usando a API do Amazon SES (p. 79)
• Como usar modelos para enviar e-mails personalizados com a API do Amazon SES (p. 87)
• Como enviar e-mails pelo Amazon SES usando um AWS SDK (p. 99)
• Codificações de conteúdo compatíveis com o Amazon SES (p. 112)
A API do Amazon SES fornece a ação SendEmail, que permite redigir e enviar um e-mail formatado.
SendEmail requer um endereço From: (De:), um endereço To: (Para:), o assunto da mensagem e o corpo
da mensagem, em texto, HTML ou ambos. Para obter mais informações, consulte SendEmail (Referência
da API) ou SendEmail (Referência da API v2).
Note
A string do endereço de e-mail deve ter o formato ASCII de 7 bits. Se você deseja enviar para ou
de endereços de e-mail que contêm caracteres Unicode na parte de domínio de um endereço,
você deve codificar o domínio usando Punycode. Para obter mais informações, consulte RFC
3492.
Para obter exemplos de como redigir uma mensagem formatada usando várias linguagens de
programação, consulte Exemplos de código (p. 99).
Para obter dicas sobre como aumentar a velocidade de envio de e-mail ao fazer várias chamadas para
SendEmail, consulte Aumento da taxa de transferência com o Amazon SES (p. 554).
Esta seção inclui procedimentos para construir e enviar e-mail bruto usando a API do Amazon SES.
79
Amazon Simple Email Service Guia do desenvolvedor
Enviar e-mail bruto
em si. Para obter mais informações sobre cabeçalhos e corpos de e-mail, consulte Formato de e-mail e
Amazon SES (p. 15).
Uso de MIME
O protocolo SMTP foi originalmente projetado para enviar mensagens de e-mail que continham apenas
caracteres ASCII de 7 bits. Essa especificação torna o SMTP insuficiente para codificações de texto
não ASCII (como Unicode), conteúdo binário ou anexos. O padrão MIME (Multipurpose Internet Mail
Extensions) foi desenvolvido para possibilitar o envio de vários outros tipos de conteúdo usando SMTP.
O padrão MIME funciona ao dividir o corpo da mensagem em várias partes e especificar o que será
feito com cada parte. Por exemplo, uma parte do corpo da mensagem do e-mail pode ser texto simples,
enquanto outra pode ser HTML. Além disso, o MIME permite que mensagens de e-mail contenham um ou
mais anexos. Os destinatários da mensagem podem visualizar os anexos de dentro de seus clientes de e-
mail ou podem salvar os anexos.
O cabeçalho e o conteúdo da mensagem são separados por uma linha em branco. Cada parte do e-mail é
separada por um limite, uma string de caracteres que indica o início e o fim de cada parte.
A mensagem dividida no exemplo a seguir contém uma parte em texto e uma parte em HTML. Ela também
contém um anexo.
--a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a
Content-Type: multipart/alternative;
boundary="sub_a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a"
--sub_a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
--sub_a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
<html>
<head></head>
<body>
<h1>Hello!</h1>
<p>Please see the attached file for a list of customers to contact.</p>
</body>
</html>
--sub_a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a--
--a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a
Content-Type: text/plain; name="customers.txt"
Content-Description: customers.txt
Content-Disposition: attachment;filename="customers.txt";
creation-date="Sat, 05 Aug 2017 19:35:36 GMT";
Content-Transfer-Encoding: base64
SUQsRmlyc3ROYW1lLExhc3ROYW1lLENvdW50cnkKMzQ4LEpvaG4sU3RpbGVzLENhbmFkYQo5MjM4
OSxKaWUsTGl1LENoaW5hCjczNCxTaGlybGV5LFJvZHJpZ3VleixVbml0ZWQgU3RhdGVzCjI4OTMs
QW5heWEsSXllbmdhcixJbmRpYQ==
80
Amazon Simple Email Service Guia do desenvolvedor
Enviar e-mail bruto
--a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a--
O tipo de conteúdo para a mensagem é multipart/mixed, o que indica que a mensagem tem várias
partes (neste exemplo, um corpo e um anexo) e o cliente do recebimento deve lidar com cada parte
separadamente. Aninhada dentro da seção do corpo está uma segunda parte que usa o tipo de conteúdo
multipart/alternative. Esse tipo de conteúdo indica que cada parte contém versões alternativas
do mesmo conteúdo (neste caso, uma versão em texto e uma versão HTML). Se o cliente de e-mail do
destinatário puder exibir o conteúdo HTML, ele mostrará a versão HTML do corpo da mensagem. Se o
cliente de e-mail do destinatário não puder exibir o conteúdo HTML, ele mostrará a versão de texto sem
formatação do corpo da mensagem. As duas versões da mensagem também contêm um anexo (neste
caso, um arquivo de texto que contém alguns nomes de clientes).
Quando você aninha uma parte de MIME dentro de outra parte, como neste exemplo, a parte aninhada
deve usar um parâmetro boundary diferente do parâmetro boundary na parte pai. Esses limites devem
ser strings de caracteres exclusivas. Para definir um limite entre as partes MIME, digite dois hifens (--)
seguidos pela string de limite. No final de uma parte MIME, coloque dois hifens no início e no final da string
do limite.
Codificação MIME
Para manter a compatibilidade com sistemas mais antigos, o Amazon SES respeita a limitação ASCII de
7 bits do SMTP, conforme definido na RFC 2821. Se você deseja enviar conteúdo que contém caracteres
não ASCII, você deve codificar os caracteres em um formato que usa caracteres ASCII de 7 bits.
Endereços de e-mail
Para codificar um endereço de e-mail usado no envelope da mensagem, use a codificação Punycode.
Por exemplo, para enviar um email para 张伟@example.com, use a codificação Punycode na parte local
do endereço (a parte antes do sinal @). O endereço codificado resultante é [email protected].
Note
Essa regra se aplica somente aos endereços de e-mail que você especifica no envelope da
mensagem, não nos cabeçalhos das mensagens. Quando você usa a API SendRawEmail, os
endereços especificados nos parâmetros Source e Destinations definem o remetente e os
destinatários do envelope, respectivamente.
Para obter mais informações sobre a codificação Punycode, consulte a RFC 3492.
Cabeçalhos de e-mail
Para codificar um cabeçalho de mensagem, use a sintaxe de palavras codificadas por MIME. A sintaxe de
palavras codificadas por MIME usa o seguinte formato:
=?charset?encoding?encoded-text?=
O valor de encoding pode ser Q ou B. Se o valor da codificação for Q, o valor encoded-text deverá
usar a codificação Q. Se o valor da codificação for B, o valor de encoded-text deverá usar a codificação
base64.
Por exemplo, se você deseja usar a sequência "Як ти поживаєш?" na linha de assunto do e-mail, você
pode usar uma das seguintes codificações:
• Codificação Q
=?utf-8?Q?=D0=AF=D0=BA_=D1=82=D0=B8_=D0=BF=D0=BE=D0=B6=D0=B8=D0=B2=D0=B0=D1=94=D1=88=3F?=
• Codificação base64
81
Amazon Simple Email Service Guia do desenvolvedor
Enviar e-mail bruto
=?utf-8?B?0K/QuiDRgtC4INC/0L7QttC40LLQsNGU0Yg/?=
Para obter mais informações sobre a codificação Q, consulte a RFC 2047. Para obter mais informações
sobre a codificação base64, consulte a RFC 2045.
Corpo da mensagem
Para codificar o corpo de uma mensagem, você pode usar a codificação imprimível citada ou a codificação
base64. Em seguida, use o cabeçalho Content-Transfer-Encoding para indicar qual esquema de
codificação você usou.
१९७२ मे रे टॉमलंिसन ने पहला ई-मेल संेदश भेजा | रे टॉमलंिसन ने ही स्रव्परथम @ चि्नह का चयन किया और इ्नही को ईेमल का
आवि्षकारक माना जाता है
Se você escolher codificar esse texto usando a codificação base64, primeiro especifique o seguinte
cabeçalho:
Content-Transfer-Encoding: base64
4KWn4KWv4KWt4KWoIOCkruClhyDgpLDgpYcg4KSf4KWJ4KSu4KSy4KS/4KSC4KS44KSoIOCkqOCl
hyDgpKrgpLngpLLgpL4g4KSILeCkruClh+CksiDgpLjgpILgpKbgpYfgpLYg4KSt4KWH4KSc4KS+
IHwg4KSw4KWHIOCkn+ClieCkruCksuCkv+CkguCkuOCkqCDgpKjgpYcg4KS54KWAIOCkuOCksOCl
jeCkteCkquCljeCksOCkpeCkriBAIOCkmuCkv+CkqOCljeCkuSDgpJXgpL4g4KSa4KSv4KSoIOCk
leCkv+Ckr+CkviDgpJTgpLAg4KSH4KSo4KWN4KS54KWAIOCkleCliyDgpIjgpK7gpYfgpLIg4KSV
4KS+IOCkhuCkteCkv+Ckt+CljeCkleCkvuCksOCklSDgpK7gpL7gpKjgpL4g4KSc4KS+4KSk4KS+
IOCkueCliAo=
Note
Em alguns casos, você pode usar Content-Transfer-Encoding de 8 bits em mensagens
enviadas usando o Amazon SES. No entanto, se o Amazon SES tiver de fazer alguma
alteração nas suas mensagens (por exemplo, quando você usa o rastreamento de abertura e
clique (p. 580)), o conteúdo codificado de 8 bits pode não aparecer corretamente quando chega
nas caixas de entrada dos destinatários. Por esse motivo, você deve sempre codificar o conteúdo
que não seja ASCII de 7 bits.
Anexos de arquivo
Para anexar um arquivo a um email, você precisa codificar o anexo usando a codificação base64.
Normalmente, os anexos são colocados em partes dedicadas da mensagem MIME, que incluem os
seguintes cabeçalhos:
• Content-Type: o tipo de arquivo do anexo. Veja a seguir exemplos de declarações comuns de Content-
Type MIME:
• Arquivo de texto sem formatação: Content-Type: text/plain; name="sample.txt"
• Documento do Microsoft Word: Content-Type: application/msword;
name="document.docx"
• Imagem JPG: Content-Type: image/jpeg; name="photo.jpeg"
• Content-Disposition: especifica como o cliente de e-mail do destinatário deve lidar com o conteúdo. Para
anexos, esse valor é Content-Disposition: attachment.
• Content-Transfer-Encoding: o esquema usado para codificar o anexo. Para anexos de arquivo, esse
valor é quase sempre base64.
82
Amazon Simple Email Service Guia do desenvolvedor
Enviar e-mail bruto
O Amazon SES aceita a maioria dos tipos de arquivos comuns. Para obter uma lista de tipos de arquivo
que o Amazon SES não aceita, consulte Tipos de anexo não suportados pelo Amazon SES (p. 115).
Para obter dicas sobre como aumentar a velocidade de envio de e-mail ao fazer várias chamadas
para SendRawEmail, consulte Aumento da taxa de transferência com o Amazon SES (p. 554).
O corpo da mensagem deve conter uma mensagem de e-mail bruto corretamente formatada, com a
codificação adequada dos campos de cabeçalho e do corpo da mensagem. Embora seja possível construir
a mensagem bruta manualmente dentro de uma aplicação, é muito mais fácil usar as bibliotecas de e-mail
existentes.
Java
O seguinte exemplo de código mostra como usar a biblioteca JavaMail e o AWS SDK for Java para
redigir e enviar um e-mail bruto.
package com.amazonaws.samples;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.nio.ByteBuffer;
import java.util.Properties;
83
Amazon Simple Email Service Guia do desenvolvedor
Enviar e-mail bruto
// The full path to the file that will be attached to the email.
// If you're using Windows, escape backslashes as shown in this variable.
private static String ATTACHMENT = "C:\\Users\\sender\\customers-to-contact.xlsx";
84
Amazon Simple Email Service Guia do desenvolvedor
Enviar e-mail bruto
SendRawEmailRequest rawEmailRequest =
new SendRawEmailRequest(rawMessage)
.withConfigurationSetName(CONFIGURATION_SET);
client.sendRawEmail(rawEmailRequest);
System.out.println("Email sent!");
// Display an error if something goes wrong.
} catch (Exception ex) {
System.out.println("Email Failed");
System.err.println("Error message: " + ex.getMessage());
ex.printStackTrace();
}
}
}
Python
O código de exemplo a seguir mostra como usar os pacotes Python email.mime e o AWS SDK for
Python (Boto) para compor e enviar um e-mail bruto.
import os
import boto3
from botocore.exceptions import ClientError
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
85
Amazon Simple Email Service Guia do desenvolvedor
Enviar e-mail bruto
# If necessary, replace us-west-2 with the AWS Region you're using for Amazon SES.
AWS_REGION = "us-west-2"
# The full path to the file that will be attached to the email.
ATTACHMENT = "path/to/customers-to-contact.xlsx"
# Encode the text and HTML content and set the character encoding. This step is
# necessary if you're sending a message with characters outside the ASCII range.
textpart = MIMEText(BODY_TEXT.encode(CHARSET), 'plain', CHARSET)
htmlpart = MIMEText(BODY_HTML.encode(CHARSET), 'html', CHARSET)
86
Amazon Simple Email Service Guia do desenvolvedor
Como usar modelos para enviar e-mail
# Add a header to tell the email client to treat this part as an attachment,
# and to give the attachment a name.
att.add_header('Content-
Disposition','attachment',filename=os.path.basename(ATTACHMENT))
• Você pode criar até 10.000 modelos de e-mail para cada conta do Amazon SES.
• Cada modelo pode ter até 500 KB, incluindo as partes de texto e de HTML.
• Você pode incluir um número ilimitado de variáveis de substituição em cada modelo.
• Você pode enviar e-mails para até 50 destinos em cada chamada para a operação
SendBulkTemplatedEmail. Um destino inclui uma lista de destinatários, incluindo os destinatários e
CC e BCC. O número de destinos com os quais você pode entrar em contato em uma única chamada
à API pode ser limitado pela taxa máxima de envio de sua conta. Para mais informações, consulte
Gerenciamento de limites do envio do Amazon SES (p. 39).
Esta seção inclui procedimentos para a criação de modelos de e-mail e para o envio de e-mails
personalizados.
Note
Os procedimentos desta seção também pressupõem que você já instalou e configurou a AWS
CLI. Para obter mais informações sobre a instalação e a configuração da AWS CLI, consulte o
Guia do usuário da AWS Command Line Interface.
87
Amazon Simple Email Service Guia do desenvolvedor
Como usar modelos para enviar e-mail
1. Crie um tópico do Amazon SNS. Para obter procedimentos, consulte Criar um tópico no Guia do
desenvolvedor do Amazon Simple Notification Service.
2. Assine o tópico do Amazon SNS. Por exemplo, se você quiser receber notificações de Falha de
renderização por e-mail, inscreva um endpoint de e-mail (ou seja, seu endereço de e-mail) no tópico.
Esse procedimento pressupõe que você já tenha instalado e configurado a AWS CLI. Para obter mais
informações sobre a instalação e a configuração da AWS CLI, consulte o Guia do usuário da AWS
Command Line Interface.
{
"Template": {
"TemplateName": "MyTemplate",
"SubjectPart": "Greetings, {{name}}!",
"HtmlPart": "<h1>Hello {{name}},</h1><p>Your favorite animal is
{{favoriteanimal}}.</p>",
"TextPart": "Dear {{name}},\r\nYour favorite animal is {{favoriteanimal}}."
}
}
• TemplateName: o nome do modelo. Quando você enviar o e-mail, consulte este nome.
• SubjectPart: a linha de assunto do e-mail. Essa propriedade pode conter tags de substituição. Essas
tags usam o seguinte formato: {{tagname}}. Quando você envia o e-mail, pode especificar um
valor para tagname de cada destino.
88
Amazon Simple Email Service Guia do desenvolvedor
Como usar modelos para enviar e-mail
• HtmlPart: o corpo do e-mail em HTML. Essa propriedade pode conter tags de substituição.
• TextPart: o corpo do e-mail em texto. Os destinatários cujos clientes de e-mail não exibem e-mail
HTML veem esta versão do e-mail. Essa propriedade pode conter tags de substituição.
2. Personalize o exemplo anterior de acordo com as suas necessidades e salve o arquivo como
mytemplate.json.
3. Na linha de comando, digite o comando a seguir para criar um novo modelo usando a operação de
API do CreateTemplate:
{
"Source":"Mary Major <[email protected]>",
"Template": "MyTemplate",
"ConfigurationSetName": "ConfigSet",
"Destination": {
"ToAddresses": [ "[email protected]"
]
},
"TemplateData": "{ \"name\":\"Alejandro\", \"favoriteanimal\": \"alligator\" }"
}
89
Amazon Simple Email Service Guia do desenvolvedor
Como usar modelos para enviar e-mail
• TemplateData: uma sequência JSON de escape que contém pares de chave-valor. As chaves
correspondem às variáveis do modelo (por exemplo, {{name}}). Os valores representam o
conteúdo que substitui as variáveis no e-mail.
2. Altere os valores no código da etapa anterior de acordo com as suas necessidades e salve o arquivo
como myemail.json.
3. Na linha de comando, digite o seguinte comando para enviar o e-mail:
{
"Source":"Mary Major <[email protected]>",
"Template":"MyTemplate",
"ConfigurationSetName": "ConfigSet",
"Destinations":[
{
"Destination":{
"ToAddresses":[
"[email protected]"
]
},
"ReplacementTemplateData":"{ \"name\":\"Anaya\", \"favoriteanimal\":\"angelfish
\" }"
},
{
"Destination":{
"ToAddresses":[
"[email protected]"
]
},
"ReplacementTemplateData":"{ \"name\":\"Liu\", \"favoriteanimal\":\"lion\" }"
},
{
"Destination":{
"ToAddresses":[
"[email protected]"
]
},
"ReplacementTemplateData":"{ \"name\":\"Shirley\", \"favoriteanimal\":\"shark
\" }"
},
{
"Destination":{
"ToAddresses":[
"[email protected]"
]
},
"ReplacementTemplateData":"{}"
}
],
"DefaultTemplateData":"{ \"name\":\"friend\", \"favoriteanimal\":\"unknown\" }"
90
Amazon Simple Email Service Guia do desenvolvedor
Como usar modelos para enviar e-mail
O Handlebars inclui recursos adicionais além dos documentados nesta seção. Para obter mais
informações, consulte Auxiliares integrados em handlebarsjs.com.
Note
O SES não escapa de conteúdo HTML ao renderizar o modelo HTML para uma mensagem. Isso
significa que, se você estiver incluindo dados inseridos pelo usuário, como de um formulário de
contato, precisará escapá-los no lado do cliente.
Tópicos
• Analisar atributos aninhados (p. 92)
• Percorrer listas (p. 92)
• Usar instruções condicionais básicas (p. 94)
• Criação de parciais em linha (p. 95)
91
Amazon Simple Email Service Guia do desenvolvedor
Como usar modelos para enviar e-mail
Por exemplo, você pode organizar os dados dos destinatários em diversas categorias gerais. Em cada
uma dessas categorias, você pode incluir informações detalhadas. O código de exemplo a seguir mostra
um exemplo dessa estrutura para um único destinatário:
{
"meta":{
"userId":"51806220607"
},
"contact":{
"firstName":"Anaya",
"lastName":"Iyengar",
"city":"Bengaluru",
"country":"India",
"postalCode":"560052"
},
"subscription":[
{
"interest":"Sports"
},
{
"interest":"Travel"
},
{
"interest":"Cooking"
}
]
}
Em seus modelos de e-mail, você pode consultar atributos aninhados ao fornecer o nome do atributo
pai, seguido por um ponto (.) e pelo nome do atributo para os quais você deseja incluir o valor. Por
exemplo, se você usar a estrutura de dados mostrada no exemplo anterior e desejar incluir o nome
de cada destinatário no modelo de e-mail, inclua o seguinte texto em seu modelo de e-mail: Hello
{{contact.firstName}}!
O Handlebars pode analisar caminhos aninhados em vários níveis de profundidade, o que significa que
você tem flexibilidade para escolher como estruturar os dados de seu modelo.
Percorrer listas
A função auxiliar each faz a iteração por meio de itens em uma matriz. O código a seguir é um exemplo de
um modelo de e-mail que usa a função auxiliar each para criar uma lista detalhada dos interesses de cada
destinatário.
{
"Template": {
"TemplateName": "Preferences",
"SubjectPart": "Subscription Preferences for {{contact.firstName}}
{{contact.lastName}}",
"HtmlPart": "<h1>Your Preferences</h1>
<p>You have indicated that you are interested in receiving
information about the following subjects:</p>
<ul>
{{#each subscription}}
<li>{{interest}}</li>
{{/each}}
92
Amazon Simple Email Service Guia do desenvolvedor
Como usar modelos para enviar e-mail
</ul>
<p>You can change these settings at any time by visiting
the <a href=https://www.example.com/prefererences/i.aspx?
id={{meta.userId}}>
Preference Center</a>.</p>",
"TextPart": "Your Preferences\n\nYou have indicated that you are interested in
receiving information about the following subjects:\n
{{#each subscription}}
- {{interest}}\n
{{/each}}
\nYou can change these settings at any time by
visiting the Preference Center at
https://www.example.com/prefererences/i.aspx?id={{meta.userId}}"
}
}
Important
No código de exemplo anterior, os valores dos atributos HtmlPart e TextPart incluem quebras
de linha para facilitar a leitura do exemplo. O arquivo JSON para seu modelo não pode conter
quebras de linha dentro desses valores. Se você copiou e colou esse exemplo em seu próprio
arquivo JSON, antes de prosseguir, remova as quebras de linha e os espaços extras das seções
HtmlPart e TextPart.
{
"Source":"Sender Name <[email protected]>",
"Template":"Preferences",
"Destinations":[
{
"Destination":{
"ToAddresses":[
"[email protected]"
]
},
"ReplacementTemplateData":"{\"meta\":{\"userId\":\"51806220607\"},\"contact\":
{\"firstName\":\"Anaya\",\"lastName\":\"Iyengar\"},\"subscription\":[{\"interest\":\"Sports
\"},{\"interest\":\"Travel\"},{\"interest\":\"Cooking\"}]}"
},
{
"Destination":{
"ToAddresses":[
"[email protected]"
]
},
"ReplacementTemplateData":"{\"meta\":{\"userId\":\"1981624758263\"},\"contact\":
{\"firstName\":\"Shirley\",\"lastName\":\"Rodriguez\"},\"subscription\":[{\"interest\":
\"Technology\"},{\"interest\":\"Politics\"}]}"
}
],
"DefaultTemplateData":"{\"meta\":{\"userId\":\"\"},\"contact\":{\"firstName\":\"Friend\",
\"lastName\":\"\"},\"subscription\":[]}"
}
Quando você enviar um e-mail para os destinatários listados no exemplo anterior usando a operação
SendBulkTemplatedEmail, eles receberão uma mensagem que se parece com o exemplo mostrado na
imagem a seguir:
93
Amazon Simple Email Service Guia do desenvolvedor
Como usar modelos para enviar e-mail
{
"Template": {
"TemplateName": "Preferences2",
"SubjectPart": "Subscription Preferences for {{contact.firstName}}
{{contact.lastName}}",
"HtmlPart": "<h1>Your Preferences</h1>
<p>Dear {{contact.firstName}},</p>
{{#if subscription}}
<p>You have indicated that you are interested in receiving
information about the following subjects:</p>
<ul>
{{#each subscription}}
<li>{{interest}}</li>
{{/each}}
</ul>
<p>You can change these settings at any time by visiting
the <a href=https://www.example.com/prefererences/i.aspx?
id={{meta.userId}}>
Preference Center</a>.</p>
{{else}}
<p>Please update your subscription preferences by visiting
the <a href=https://www.example.com/prefererences/i.aspx?
id={{meta.userId}}>
Preference Center</a>.
{{/if}}",
"TextPart": "Your Preferences\n\nDear {{contact.firstName}},\n\n
{{#if subscription}}
You have indicated that you are interested in receiving
information about the following subjects:\n
{{#each subscription}}
- {{interest}}\n
{{/each}}
\nYou can change these settings at any time by visiting the
Preference Center at https://www.example.com/prefererences/i.aspx?
id={{meta.userId}}.
{{else}}
Please update your subscription preferences by visiting the
Preference Center at https://www.example.com/prefererences/i.aspx?
id={{meta.userId}}.
{{/if}}"
}
94
Amazon Simple Email Service Guia do desenvolvedor
Como usar modelos para enviar e-mail
Important
No código de exemplo anterior, os valores dos atributos HtmlPart e TextPart incluem quebras
de linha para facilitar a leitura do exemplo. O arquivo JSON para seu modelo não pode conter
quebras de linha dentro desses valores. Se você copiou e colou esse exemplo em seu próprio
arquivo JSON, antes de prosseguir, remova as quebras de linha e os espaços extras das seções
HtmlPart e TextPart.
O exemplo a seguir mostra um arquivo JSON que pode ser usado para enviar e-mails para vários
destinatários usando o modelo anterior:
{
"Source":"Sender Name <[email protected]>",
"Template":"Preferences2",
"Destinations":[
{
"Destination":{
"ToAddresses":[
"[email protected]"
]
},
"ReplacementTemplateData":"{\"meta\":{\"userId\":\"51806220607\"},\"contact\":
{\"firstName\":\"Anaya\",\"lastName\":\"Iyengar\"},\"subscription\":[{\"interest\":\"Sports
\"},{\"interest\":\"Cooking\"}]}"
},
{
"Destination":{
"ToAddresses":[
"[email protected]"
]
},
"ReplacementTemplateData":"{\"meta\":{\"userId\":\"1981624758263\"},\"contact\":
{\"firstName\":\"Shirley\",\"lastName\":\"Rodriguez\"}}"
}
],
"DefaultTemplateData":"{\"meta\":{\"userId\":\"\"},\"contact\":{\"firstName\":\"Friend\",
\"lastName\":\"\"},\"subscription\":[]}"
}
Neste exemplo, o destinatário cujos dados do modelo incluíam uma lista de interesses recebe o mesmo e-
mail como o exemplo mostrado na seção anterior. No entanto, o destinatário cujos dados do modelo não
incluíam interesses recebe um e-mail que se parece com o exemplo mostrado na imagem a seguir:
95
Amazon Simple Email Service Guia do desenvolvedor
Como usar modelos para enviar e-mail
Note
O caractere de nova linha (\n) é necessário para separar o bloco {{inline}} do conteúdo em
seu modelo. A nova linha não é renderizada na saída final.
Depois de criar a parcial fullName, você pode incluí-la em qualquer lugar em seu modelo colocando
antes do nome da parcial um sinal de maior que (>) seguido por um espaço, como no exemplo a seguir:
{{> fullName}}. As parciais em linha não são transferidas entre partes do e-mail. Por exemplo, se você
desejar usar a parcial em linha no HTML e na versão de texto do e-mail, defina-a nas seções HtmlPart e
TextPart.
Você também pode usar parciais em linha ao fazer a iteração por meio de matrizes. Você pode usar o
seguinte código para criar um modelo que use a parcial em linha fullName. Neste exemplo, a parcial em
linha se aplica ao nome do destinatário e a uma variedade de outros nomes:
{
"Template": {
"TemplateName": "Preferences3",
"SubjectPart": "{{firstName}}'s Subscription Preferences",
"HtmlPart": "{{#* inline \"fullName\"}}
{{firstName}}{{#if lastName}} {{lastName}}{{/if}}
{{/inline~}}\n
<h1>Hello {{> fullName}}!</h1>
<p>You have listed the following people as your friends:</p>
<ul>
{{#each friends}}
<li>{{> fullName}}</li>
{{/each}}</ul>",
"TextPart": "{{#* inline \"fullName\"}}
{{firstName}}{{#if lastName}} {{lastName}}{{/if}}
{{/inline~}}\n
Hello {{> fullName}}! You have listed the following people
as your friends:\n
{{#each friends}}
- {{> fullName}}\n
{{/each}}"
}
}
Important
No código de exemplo anterior, os valores dos atributos HtmlPart e TextPart incluem quebras
de linha para facilitar a leitura do exemplo. O arquivo JSON para seu modelo não pode conter
quebras de linha dentro desses valores. Se você copiou e colou esse exemplo em seu próprio
arquivo JSON, remova as quebras de linha e os espaços extras dessas seções.
Esta seção contém procedimentos de uso do AWS CLI para realizar tarefas relacionadas aos modelos do
Amazon SES.
Note
Os procedimentos desta seção também pressupõem que você já instalou e configurou a AWS
CLI. Para obter mais informações sobre a instalação e a configuração da AWS CLI, consulte o
Guia do usuário da AWS Command Line Interface.
96
Amazon Simple Email Service Guia do desenvolvedor
Como usar modelos para enviar e-mail
Se houver modelos de e-mail existentes na sua conta do Amazon SES na região atual, esse comando
retorna uma resposta semelhante ao seguinte exemplo:
{
"TemplatesMetadata": [
{
"Name": "SpecialOffers",
"CreatedTimestamp": "2020-08-05T16:04:12.640Z"
},
{
"Name": "NewsAndUpdates",
"CreatedTimestamp": "2019-10-03T20:03:34.574Z"
}
]
}
Se você ainda não criou nenhum modelo, o comando retorna um objeto TemplatesMetadata sem
membros.
No comando anterior, substitua MyTemplate pelo nome do modelo que deseja visualizar.
Se o nome do modelo fornecido corresponder a um modelo que existe na sua conta do Amazon SES,
este comando retorna uma resposta semelhante ao seguinte exemplo:
{
"Template": {
"TemplateName": "TestMessage",
"SubjectPart": "Amazon SES Test Message",
"TextPart": "Hello! This is the text part of the message.",
"HtmlPart": "<html>\n<body>\n<h2>Hello!</h2>\n<p>This is the HTML part of the
message.</p></body>\n</html>"
}
}
97
Amazon Simple Email Service Guia do desenvolvedor
Como usar modelos para enviar e-mail
Se o nome do modelo fornecido não corresponder a um modelo existente na sua conta do Amazon
SES, o comando retorna um erro de TemplateDoesNotExist.
No comando anterior, substitua MyTemplate pelo nome do modelo que deseja excluir.
Esse comando não fornece nenhuma saída. Você pode verificar se o modelo foi excluído usando a
operação GetTemplate (p. 97).
1. Use o comando GetTemplate para recuperar o modelo existente inserindo o seguinte comando na
linha de comandos:
No comando anterior, substitua MyTemplate pelo nome do modelo que deseja atualizar.
Se o nome do modelo fornecido corresponder a um modelo que existe na sua conta do Amazon SES,
este comando retorna uma resposta semelhante ao seguinte exemplo:
{
"Template": {
"TemplateName": "TestMessage",
"SubjectPart": "Amazon SES Test Message",
"TextPart": "Hello! This is the text part of the message.",
"HtmlPart": "<html>\n<body>\n<h2>Hello!</h2>\n<p>This is the HTML part of the
message.</p></body>\n</html>"
}
}
2. Em um editor de texto, crie um novo arquivo. Cole a saída do comando anterior no arquivo.
3. Modifique o template conforme necessário. Todas as linhas que você omitir são removidas do modelo.
Por exemplo, se você quiser alterar apenas o SubjectPart do modelo, você ainda precisa incluir as
propriedades TextPart e HtmlPart.
98
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK
Se o modelo for atualizado com êxito, esse comando não fornece nenhuma saída. Você pode verificar
se o modelo foi atualizado usando a operação GetTemplate (p. 97).
Pré-requisitos
Os seguintes pré-requisitos devem ser atendidos para realizar qualquer um dos exemplos de código na
próxima seção:
• Se você ainda não tiver feito isso, realize as tarefas em Configuração do Amazon Simple Email
Service (p. 29).
• Verifique seu endereço de e-mail com o Amazon SES: antes de enviar e-mails com o Amazon SES,
é necessário verificar se você é o proprietário do endereço de e-mail remetente. Se sua conta ainda
estiver na sandbox do Amazon SES, você também deverá verificar o endereço de e-mail do destinatário.
Recomendamos que você use o console do Amazon SES para verificar endereços de e-mail. Para mais
informações, consulte Criação da identidade de um endereço de e-mail (p. 168).
• Obtenha suas credenciais da AWS: você precisa de um ID da chave de acesso da AWS e da chave
de acesso secreta da AWS para acessar o Amazon SES usando um SDK. Você pode encontrar suas
credenciais na página Credenciais de segurança no AWS Management Console. Para obter mais
informações sobre credenciais, consulte Tipos de credenciais do Amazon SES (p. 9).
• Crie um arquivo de credenciais compartilhadas: para que o código de exemplo desta seção funcione
bem, você deve criar um arquivo de credenciais compartilhadas. Para mais informações, consulte
Criação de um arquivo de credenciais compartilhado para usar ao enviar e-mails pelo Amazon SES
usando um AWS SDK (p. 111).
Exemplos de código
Important
Nos tutoriais a seguir, você envia um e-mail a si mesmo para conferir se o recebe. Para fazer
mais experimentos ou testes de carga, use o simulador de caixa postal do Amazon SES. Os e-
mails enviados ao simulador de caixa postal não contam para sua cota de envio nem para suas
taxas de devoluções e reclamações. Para mais informações, consulte Uso do simulador de caixa
postal manualmente. (p. 266).
99
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK
.NET
O procedimento a seguir mostra como enviar um e-mail por meio do Amazon SES usando o Visual
Studio e o AWS SDK for .NET.
a. No painel Solution Explorer, clique com o botão direito no projeto e, em seguida, selecione
Manage NuGet Packages.
b. Na guia NuGet: AmazonSESSample, escolha Browse.
c. Na caixa de pesquisa, digite AWSSDK.SimpleEmail.
d. Escolha o pacote AWSSDK.SimpleEmail e, a seguir, Install.
e. Na janela Preview Changes, escolha OK.
3. Na guia Program.cs, cole o seguinte código:
using Amazon;
using System;
using System.Collections.Generic;
using Amazon.SimpleEmail;
using Amazon.SimpleEmail.Model;
namespace AmazonSESSample
{
class Program
{
// Replace [email protected] with your "From" address.
// This address must be verified with Amazon SES.
static readonly string senderAddress = "[email protected]";
// The configuration set to use for this email. If you do not want to use a
// configuration set, comment out the following property and the
// ConfigurationSetName = configSet argument below.
100
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK
101
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK
}
}
Java
O procedimento a seguir mostra como usar o Eclipse IDE para desenvolvedores de Java EE e o AWS
Toolkit for Eclipse para criar um projeto do AWS SDK e modificar o código Java para enviar um e-mail
pelo Amazon SES.
a. Inicie o Eclipse.
b. No menu File, escolha New e Other. Na janela New (Novo), expanda a pasta AWS e depois
selecione Java Project AWS.
102
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK
c. Na caixa de diálogo New AWS Java Project (Novo projeto Java da AWS), faça o seguinte:
package com.amazonaws.samples;
import java.io.IOException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder;
import com.amazonaws.services.simpleemail.model.Body;
import com.amazonaws.services.simpleemail.model.Content;
import com.amazonaws.services.simpleemail.model.Destination;
import com.amazonaws.services.simpleemail.model.Message;
import com.amazonaws.services.simpleemail.model.SendEmailRequest;
// The configuration set to use for this email. If you do not want to use a
// configuration set, comment the following variable and the
// .withConfigurationSetName(CONFIGSET); argument below.
static final String CONFIGSET = "ConfigSet";
try {
AmazonSimpleEmailService client =
AmazonSimpleEmailServiceClientBuilder.standard()
// Replace US_WEST_2 with the AWS Region you're using for
// Amazon SES.
.withRegion(Regions.US_WEST_2).build();
SendEmailRequest request = new SendEmailRequest()
103
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK
.withDestination(
new Destination().withToAddresses(TO))
.withMessage(new Message()
.withBody(new Body()
.withHtml(new Content()
.withCharset("UTF-8").withData(HTMLBODY))
.withText(new Content()
.withCharset("UTF-8").withData(TEXTBODY)))
.withSubject(new Content()
.withCharset("UTF-8").withData(SUBJECT)))
.withSource(FROM)
// Comment or remove the next line if you are not using a
// configuration set
.withConfigurationSetName(CONFIGSET);
client.sendEmail(request);
System.out.println("Email sent!");
} catch (Exception ex) {
System.out.println("The email was not sent. Error message: "
+ ex.getMessage());
}
}
}
• [email protected]: substitua pelo seu endereço de e-mail "From" (De). Você deve
verificar esse endereço antes de executar esse programa. Para mais informações, consulte
Identidades verificadas no Amazon SES (p. 158).
• [email protected]: substitua pelo seu endereço de e-mail "To" (Para). Se sua conta
ainda estiver na sandbox, você precisará verificar esse endereço antes de usá-lo. Para mais
informações, consulte Saída da sandbox do Amazon SES (p. 32).
• (Opcional) us-west-2: se você deseja usar o Amazon SES em uma região que não seja
Oeste dos EUA (Oregon), substitua isso pela região que você deseja usar. Para obter uma
lista das regiões onde o Amazon SES está disponível, consulte Amazon Simple Email Service
(Amazon SES) na Referência geral da AWS.
6. Salvar AmazonSESSample.java.
7. Para criar o projeto, escolha Project e, em seguida, escolha Build Project.
Note
Se essa opção estiver desativada, a criação automática talvez esteja ativada. Nesse
caso, pule esta etapa.
8. Para iniciar o programa e enviar o e-mail, escolha Run e Run novamente.
9. Analise a saída do painel do console no Eclipse. Se o e-mail foi enviado com êxito, o console
exibirá "Email sent!"; do contrário, ele exibirá uma mensagem de erro.
10. Se o e-mail tiver sido enviado com êxito, acesse o cliente de e-mail do endereço do destinatário.
Você verá a mensagem que enviou.
PHP
Este tópico mostra como usar o AWS SDK for PHP para enviar um e-mail pelo Amazon SES.
104
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK
Para enviar um e-mail pelo Amazon SES usando o AWS SDK for PHP
<?php
// If necessary, modify the path in the require statement below to refer to the
// location of your Composer autoload.php file.
require 'vendor/autoload.php';
use Aws\Ses\SesClient;
use Aws\Exception\AwsException;
try {
$result = $SesClient->sendEmail([
'Destination' => [
'ToAddresses' => $recipient_emails,
],
105
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK
• path_to_sdk_inclusion – Substitua pelo caminho necessário para incluir o AWS SDK for
PHP no programa. Para obter mais informações, consulte a documentação do AWS SDK for
PHP.
• [email protected]: substitua por um endereço de e-mail que você verificou com o
Amazon SES. Para mais informações, consulte Identidades (p. 158). Os endereços de e-
mail no Amazon SES diferenciam maiúsculas de minúsculas. Certifique-se de que o endereço
informado seja exatamente o mesmo que você verificou.
• [email protected], [email protected]: substitua pelos endereços dos
destinatários. Se sua conta ainda estiver na sandbox, os endereços dos destinatários também
deverão ser verificados. Para mais informações, consulte Saída da sandbox do Amazon
SES (p. 32). Certifique-se de que o endereço informado seja exatamente o mesmo que você
verificou.
• (Opcional) ConfigSet: se você quiser usar um conjunto de configurações ao enviar esse
e-mail, substitua esse valor pelo nome do conjunto de configurações. Para obter mais
informações sobre os conjuntos de configurações, consulte Uso de conjuntos de configurações
no Amazon SES (p. 270).
• (Opcional) us-west-2: se você deseja usar o Amazon SES em uma região que não seja
Oeste dos EUA (Oregon), substitua isso pela região que você deseja usar. Para obter uma
lista das regiões onde o Amazon SES está disponível, consulte Amazon Simple Email Service
(Amazon SES) na Referência geral da AWS.
3. Salvar amazon-ses-sample.php.
4. Para executar o programa, abra um prompt de comando no mesmo diretório de amazon-ses-
sample.php e, em seguida, digite o comando a seguir:
$ php amazon-ses-sample.php
106
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK
5. Revise a saída. Se o e-mail foi enviado com êxito, o console exibirá "Email sent!"; do contrário,
ele exibirá uma mensagem de erro.
Note
Se você encontrar um erro "cURL error 60: SSL certificate problem" quando
executar o programa, faça download do pacote CA mais recente, conforme
descrito na documentação do AWS SDK for PHP. Em seguida, em amazon-ses-
sample.php, adicione as seguintes linhas à matriz SesClient::factory, substitua
path_of_certs pelo caminho para o pacote CA que você obteve por download e
execute novamente o programa.
'http' => [
'verify' => 'path_of_certs\ca-bundle.crt'
]
6. Entre no cliente de e-mail do endereço de destinatário. Você verá a mensagem que enviou.
Ruby
Este tópico mostra como usar o AWS SDK for Ruby para enviar um e-mail pelo Amazon SES.
Para enviar um e-mail pelo Amazon SES usando o AWS SDK for Ruby
require 'aws-sdk'
# Replace us-west-2 with the AWS Region you're using for Amazon SES.
awsregion = "us-west-2"
107
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK
end
108
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK
Python
Este tópico mostra como usar o AWS SDK for Python (Boto) para enviar um e-mail pelo Amazon SES.
• Verifique seu endereço de e-mail com o Amazon SES: antes de enviar e-mails com o Amazon
SES, é necessário verificar se você é o proprietário do endereço de e-mail remetente. Se sua conta
ainda estiver na sandbox do Amazon SES, você também deverá verificar o endereço de e-mail do
destinatário. Recomendamos que você use o console do Amazon SES para verificar endereços de
e-mail. Para mais informações, consulte Criação da identidade de um endereço de e-mail (p. 168).
• Obtenha suas credenciais da AWS: você precisa de um ID da chave de acesso da AWS e da chave
de acesso secreta da AWS para acessar o Amazon SES usando um SDK. Você pode encontrar
suas credenciais na página Credenciais de segurança do AWS Management Console. Para obter
mais informações sobre credenciais, consulte Tipos de credenciais do Amazon SES (p. 9).
• Instalar o Python: o Python está disponível em https://www.python.org/downloads/. O código neste
tutorial foi testado com a versão Python 2.7.6 e Python 3.6.1. Depois de instalar o Python, adicione
o caminho para o Python nas suas variáveis de ambiente, de forma que possa executar o Python a
partir de qualquer prompt de comando.
• Instalar o AWS SDK for Python (Boto) - Para ver instruções de download e instalação, consulte a
documentação do AWS SDK for Python (Boto). O código de exemplo neste tutorial foi testado com a
versão 1.4.4 do SDK for Python.
Para enviar e-mail pelo Amazon SES usando o SDK for Python
import boto3
from botocore.exceptions import ClientError
109
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK
# If necessary, replace us-west-2 with the AWS Region you're using for Amazon SES.
AWS_REGION = "us-west-2"
110
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK
[default]
aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY
Windows C:\Users\<yourUserName>\.aws\credentials
111
Amazon Simple Email Service Guia do desenvolvedor
Codificações de conteúdo
Important
• deflate
• gzip
• identity
O Amazon SES também é compatível com o formato de cabeçalho Accept-Encoding abaixo, de acordo
com a especificação RFC 7231:
• Accept-Encoding:deflate,gzip
• Accept-Encoding:
• Accept-Encoding:*
• Accept-Encoding:deflate;q=0.5,gzip;q=1.0
• Accept-Encoding:gzip;q=1.0,identity;q=0.5,*;q=0
HTTPS
Se estiver usando a API do Amazon SES (diretamente ou por meio de um AWS SD), todas as
comunicações serão criptografadas por TLS através do endpoint HTTPS do Amazon SES. O endpoint
HTTPS do Amazon SES suporta TLS 1.2, TLS 1.1 e TLS 1.0.
Interface SMTP
Se estiver acessando o Amazon SES por meio da interface SMTP, você precisará criptografar a conexão
usando o Transport Layer Security (TLS). Observe que a TLS é normalmente chamada pelo nome de seu
protocolo antecessor, Secure Sockets Layer (SSL).
O Amazon SES oferece suporte a dois mecanismos para estabelecer conexão criptografada por TLS:
STARTTLS e TLS Wrapper.
112
Amazon Simple Email Service Guia do desenvolvedor
Amazon SES para o receptor
• STARTTLS: o STARTTLS é um meio de atualizar uma conexão não criptografada para uma conexão
criptografada. Existem versões do STARTTLS para diversos protocolos; a versão SMTP é definida em
RFC 3207. Para conexões STARTTLS, o Amazon SES é compatível com o TLS 1.2, o TLS 1.1, o TLS
1.0 e o SSLv2Hello.
• TLS Wrapper: o TLS Wrapper (também conhecido como SMTPS ou Handshake Protocol) é um meio
de iniciar uma conexão criptografada sem antes estabelecer uma conexão não criptografada. Com o
TLS Wrapper, o endpoint SMTP do Amazon SES não faz a negociação de TLS. É responsabilidade do
cliente se conectar ao endpoint usando TLS e continuar usando TLS durante toda a conversa. O TLS
Wrapper é um protocolo mais antigo, mas ainda é compatível com muitos clientes. Para conexões do
TLS Wrapper, o Amazon SES suporta TLS 1.2, TLS 1.1 e TLS 1.0.
Para obter informações sobre como conectar com a interface SMTP do Amazon SES usando esses
métodos, consulte Conexão com um endpoint SMTP do Amazon SES (p. 50).
Por padrão, o Amazon SES usa TLS oportunista. Isso significa que o Amazon SES sempre tenta
estabelecer uma conexão segura com o servidor de recebimento de e-mails. Se o Amazon SES não
conseguir estabelecer uma conexão segura, ele envia a mensagem não criptografada.
Para configurar o Amazon SES para exigir conexões TLS em um conjunto de configurações
Ao enviar um e-mail usando esse conjunto de configurações, o Amazon SES só envia a mensagem
para o servidor de recebimento de e-mails se puder estabelecer uma conexão segura. Se o Amazon
SES não conseguir estabelecer uma conexão segura com o servidor de recebimento de e-mails, ele
descarta a mensagem.
O Amazon SES oferece suporte aos seguintes tipos de MIME, que podem ser usados para enviar e-mail
criptografado por S/MIME:
• application/pkcs7-mime
• application/pkcs7-signature
• application/x-pkcs7-mime
• application/x-pkcs7-signature
113
Amazon Simple Email Service Guia do desenvolvedor
Campos de cabeçalho suportados
O Amazon SES também suporta os seguintes tipos de MIME, que podem ser usados para enviar e-mail
criptografado por PGP:
• application/pgp-encrypted
• application/pgp-keys
• application/pgp-signature
Os seguintes campos não podem aparecer mais de uma vez na seção de cabeçalho de uma mensagem:
• Accept-Language
• acceptLanguage
• Archived-At
• Auto-Submitted
• Bounces-to
• Comments
• Content-Alternative
• Content-Base
• Content-Class
• Content-Description
• Content-Disposition
• Content-Duration
• Content-ID
• Content-Language
• Content-Length
• Content-Location
• Content-MD5
• Content-Transfer-Encoding
• Content-Type
• Date
• Delivered-To
• Disposition-Notification-Options
• Disposition-Notification-To
• DKIM-Signature
• DomainKey-Signature
• Errors-To
• From
• Importance
• In-Reply-To
• Keywords
• List-Archive
• List-Help
114
Amazon Simple Email Service Guia do desenvolvedor
Tipos de anexos incompatíveis
• List-Id
• List-Owner
• List-Post
• List-Subscribe
• List-Unsubscribe
• Message-Context
• Message-ID
• MIME-Version
• Organization
• Original-From
• Original-Message-ID
• Original-Recipient
• Original-Subject
• Precedence
• Priority
• References
• Reply-To
• Return-Path
• Return-Receipt-To
• Sender
• Solicitation
• Sensitivity
• Subject
• Thread-Index
• Thread-Topic
• User-Agent
• VBR-Info
Considerações
• O campo acceptLanguage é não padrão. Se for possível, você deve usar o cabeçalho Accept-
Language.
• Se você especificar um cabeçalho Date, o Amazon SES o substitui por um carimbo de hora
correspondente à data e hora no fuso horário UTC de quando o Amazon SES aceitou a mensagem.
• Se você fornecer um cabeçalho Message-ID, o Amazon SES substitui o cabeçalho por seu próprio
valor.
• Se você especificar um cabeçalho Return-Path, o Amazon SES envia notificações de devolução e
reclamação para o endereço especificado. Porém, a mensagem que seus destinatários recebem contém
um valor diferente para o cabeçalho Return-Path.
115
Amazon Simple Email Service Guia do desenvolvedor
Tipos de anexos incompatíveis
Alguns ISPs têm outras restrições (como restrições relativas a anexos arquivados), por isso,
recomendamos testar o envio de e-mails usando os principais ISPs antes de enviar e-mails de produção.
116
Amazon Simple Email Service Guia do desenvolvedor
Conceitos de recebimento de e-
mail e casos do Amazon SES
A extensão do processamento do e-mail recebido é determinada pelas instruções personalizadas que você
especifica. Estas instruções vêm em duas formas:
• Regras de recebimento (controle baseado em destinatários) fornecem o controle mais detalhado dos e-
mails recebidos. As regras de recebimento podem fazer processamento avançado, como entregar e-
mails recebidos em um bucket do Amazon S3, publicá-lo em um tópico do Amazon SNS, enviá-lo para
o Amazon WorkMail ou enviar mensagens de devolução automaticamente quando as mensagens são
para endereços de e-mail específicos e muito mais.
• Filtros de endereços IP (Controle baseado em IP) fornecem um nível de controle abrangente e são
simples de configurar. Esses filtros permitem bloquear ou permitir explicitamente todas as mensagens de
endereços IP ou intervalos de endereços IP específicos.
Para começar a aprender a receber, configurar e implementar o e-mail usando as regras de recebimento
ou os filtros de endereços IP, primeiro leia até Conceitos de recebimento de e-mail e casos do Amazon
SES (p. 117) para ter uma visão geral de como funciona e das diferentes maneiras de usá-lo. Depois
Configurar o recebimento de e-mails (p. 123) vai orientar você nos pré-requisitos de configuração do e-
mail. Em seguida, o Demonstrações de recebimento de e-mails no console (p. 130) vai orientar você nos
assistentes usados para configurar as regras de recebimento e os filtros de endereços IP.
Ambos os métodos são descritos nesta seção juntamente com uma visão geral de como o Amazon SES
processa e-mails recebidos, e casos de uso para ajudá-lo a considerar como deseja receber, filtrar e
processar seu e-mail ao configurar regras e filtros.
117
Amazon Simple Email Service Guia do desenvolvedor
Controle baseado em destinatário
usando regras de recebimento
Como opção, você também pode adicionar condições do destinatário como uma maneira de especificar
que as ações só serão executadas se o destinatário do e-mail recebido corresponder a uma identidade de
destinatário especificada na condição. Por exemplo, se você possui example.com, pode especificar que e-
mails para [email protected] devem ser devolvidos e que todos os outros e-mails para example.com e
seus subdomínios devem ser entregues.
Caso contrário, se você não adicionar nenhuma condição de destinatário, as ações serão aplicadas
a tudo,- todos os endereços de e-mail, domínios e subdomínios que pertencem aos seus domínios
verificados. As ações a seguir estão disponíveis para serem aplicadas às regras de recebimento:
• Ação Add header (incluir cabeçalho): adiciona um cabeçalho ao e-mail recebido. Normalmente, você usa
essa ação apenas em combinação com outras ações.
• Ação Return bounce response (Retornar resposta a devolução): bloqueia o e-mail retornando uma
reposta de devolução para o remetente e, opcionalmente, notifica você pelo Amazon SNS.
• Ação Invoke AWS Lambda function (Invocar função do Lambda): chama seu código por meio de uma
função do Lambda e, opcionalmente, notifica você pelo Amazon SNS.
• Ação Deliver to S3 bucket (Entregar ao bucket do S3): entrega o e-mail para um bucket do Amazon S3
e, opcionalmente, notifica você pelo Amazon SNS.
• Ação Publish to Amazon SNS topic (Publicar tópico no Amazon SNS): publica o e-mail completo em um
tópico do Amazon SNS.
Note
A ação do SNS inclui uma cópia completa do conteúdo do e-mail nas notificações do Amazon
SNS. As outras notificações do Amazon SNS mencionadas aqui simplesmente notificam
você da entrega dos e-mails; elas contêm informações sobre os e-mails, não o seu conteúdo
propriamente dito.
• Ação Stop set rule (Interromper conjunto de ações): termina a avaliação do conjunto de regras de
recebimento e, opcionalmente, notifica você pelo Amazon SNS.
• Ação Integrate with Amazon WorkMail (Integrar com Amazon WorkMail): lida com os e-mails com o
Amazon WorkMail. Normalmente você não usa essa ação diretamente, pois o Amazon WorkMail cuida
da configuração.
As regras de recebimento são agrupadas em conjuntos de regras. Se você não tiver um conjunto de
regras existente, primeiro, será necessário criar um conjunto de regras antes de começar a criar regras
de recebimento. Você pode definir vários conjuntos de regras para uma conta da AWS, mas somente um
conjunto de regras pode estar ativo em um determinado momento. A figura a seguir mostra como as regras
de recebimento, os conjuntos de regras e as ações se relacionam entre si.
118
Amazon Simple Email Service Guia do desenvolvedor
Controle baseado em IP usando filtros de endereço IP
Filtros de endereços IP são úteis para bloquear spam. O Amazon SES mantém sua própria lista de
bloqueio de endereços IP conhecidos por enviar spam, inclusive os listados no Spamhaus. No entanto,
você pode optar por receber e-mails desses endereços IP adicionando-os à sua lista de permissão.
Como não há logs que mostrem quais endereços IP estão sendo bloqueados, o remetente que está
sendo bloqueado precisará informá-lo. Essa também é uma boa oportunidade para ajudar o remetente
a determinar se o endereço IP está em uma lista de bloqueio, como o Spamhaus e recomendar que ele
solicite a exclusão do respectivo e-mail da lista. Isso será benéfico para você e o remetente, pois você não
precisará manter um filtro de endereços IP para ele e ele melhorará a capacidade de entrega de e-mails.
Note
1. O Amazon SES primeiro verifica o endereço IP do remetente. O Amazon SES permite que o e-mail
passe por essa etapa, a menos que:
119
Amazon Simple Email Service Guia do desenvolvedor
Casos de uso e restrições
Consulte Autenticação de e-mail e detecção de malware (p. 122) para obter mais informações.
4. Para o e-mail que o Amazon SES aceita, todas as regras de recebimento dentro do conjunto de regras
ativo são aplicadas na ordem que você definiu e, dentro de cada regra de recebimento, as ações são
executadas na ordem que você definiu.
Disponibilidade regional
O Amazon SES suporta recebimento de e-mails em sua região?
O Amazon SES só suporta recebimento de e-mails em determinadas regiões da AWS. Para obter uma
lista completa das regiões que suportam recebimento de e-mails, consulte Endpoints e cotas do Amazon
Simple Email Service na Referência geral da AWS.
O Amazon SES não inclui servidores POP nem IMAP para o recebimento de e-mails de entrada. Isso
significa que não é possível usar um cliente de e-mail como o Microsoft Outlook para receber e-mails. Se
você precisa de uma solução que possa tanto enviar como receber e-mails usando um cliente de e-mail,
considere o uso do Amazon WorkMail.
120
Amazon Simple Email Service Guia do desenvolvedor
Casos de uso e restrições
Se você deseja que o seu e-mail seja entregue a um bucket do S3, publicado em um tópico do Amazon
SNS que você não possui, acionar uma função do Lambda ou usar uma chave gerenciada pelo cliente,
é necessário dar permissão ao Amazon SES para acessar esses recursos. Para conceder acesso ao
Amazon SES, você pode criar políticas em recursos nos consoles ou nas APIs para esses serviços da
AWS. Para obter mais informações Concessão de permissões (p. 126).
Conteúdo do e-mail
Como você deseja que o Amazon SES transmita para você o conteúdo do e-mail?
O Amazon SES pode fornecer o conteúdo do e-mail de duas maneiras: ele pode armazenar os e-mails
em um bucket do S3 que você especifica ou pode enviar uma notificação do Amazon SNS que contenha
uma cópia do e-mail. O Amazon SES entrega o e-mail bruto, não modificado, normalmente no formato
Multipurpose Internet Mail Extensions (MIME). Para obter mais informações sobre o formato MIME,
consulte RFC 2045.
Se você optar por armazenar e-mails em um bucket do S3, o tamanho máximo do e-mail (incluindo
cabeçalhos) será 40 MB. Se você optar por receber e-mails por meio de notificações do Amazon SNS, o
tamanho máximo do e-mail (incluindo cabeçalhos) será de 150 KB.
Depois que seu e-mail for entregue, você pode querer processá-lo com seu próprio código. Por exemplo,
o seu aplicativo pode converter o e-mail codificado em base 64 para um formato exibível e, em seguida,
disponibilizá-lo para um usuário final por meio de um cliente de e-mail. Há algumas maneiras de iniciar o
processo:
• Se seus e-mails forem entregues ao Amazon S3, sua aplicação poderá detectar as notificações do
Amazon SNS geradas por ações do S3, extrair o ID da mensagem do e-mail das notificações e, em
seguida, usar o ID da mensagem para recuperar o e-mail do Amazon S3.
Você também pode incorporar o processamento de e-mails às suas regras de recebimento elaborando
uma função do Lambda. Nesse caso, a regra de recebimento deve primeiro gravar o e-mail no Amazon
S3 e, em seguida, acionar a função do Lambda. As ações do Lambda podem ser executadas de
forma síncrona e assíncrona a partir de suas regras de recebimento, dependendo se a função do
Lambda precisa retornar um resultado que influencie a forma como outras ações serão executadas.
Recomendamos que você use a execução assíncrona, a menos que a síncrona seja totalmente
necessária para seu caso de uso. Para obter mais informações sobre o AWS Lambda, consulte o AWS
LambdaGuia do desenvolvedor do .
• Se seus e-mails forem fornecidos por meio de uma notificação do Amazon SNS usando a ação do SNS,
sua aplicação pode detectar notificações do Amazon SNS e, em seguida, extrair as mensagens de e-
mail das notificações.
O Amazon SES integra-se ao AWS Key Management Service (AWS KMS) para, opcionalmente,
criptografar o e-mail que ele grava em seu bucket do S3. O Amazon SES usa criptografia do lado do
cliente para criptografar seus e-mails antes de gravá-los no Amazon S3. Isso significa que você deve
descriptografar o conteúdo do seu lado depois de recuperar o e-mail do Amazon S3. O AWS SDK for Java
e o AWS SDK for Ruby fornecem um cliente que pode lidar com a descriptografia para você. O Amazon
SES só poderá criptografar os e-mails para você se optar que os e-mails sejam entregues a um bucket do
S3.
E-mails indesejados
Em que ponto no processo de recebimento de e-mails você deseja bloquear os e-mails indesejáveis?
121
Amazon Simple Email Service Guia do desenvolvedor
Autenticação de e-mail e detecção de malware
Quando um remetente tenta enviar um e-mail para um destinatário, o servidor de e-mail do remetente troca
uma sequência de comandos com o servidor do destinatário. Essa sequência é chamada de conversa
SMTP.
Você pode bloquear e-mails recebidos em dois momentos do processo de recebimento de e-mails: durante
e após a conversa SMTP. Você usa filtros de endereços IP para bloquear mensagens durante a conversa
SMTP e regras de recebimento para bloquear e-mails após a conversa SMTP.
Você pode usar filtros de endereços IP para bloquear e-mails provenientes de endereços IP específicos.
O benefício de usar filtros de endereços IP para bloquear e-mails indesejados é que não há cobrança para
mensagens bloqueadas durante a conversa SMTP. A desvantagem de usar filtros de endereços IP é que
eles bloqueiam e-mails de endereços IP que você especificar sem realizar nenhuma análise do conteúdo
real das mensagens. Para obter mais informações sobre filtros de endereços IP, consulte Demonstração
da criação de filtros de endereços IP no console (p. 156).
Você pode usar regras de recebimento para enviar uma notificação de devolução para o remetente de
um e-mail com base no endereço (ou domínio ou subdomínio) para o qual a mensagem foi enviada. O
benefício de usar regras de recebimento é que você pode executar análises adicionais em mensagens
recebidas antes de enviar uma notificação de devolução para o remetente. Por exemplo, você poderá usar
o AWS Lambda para enviar notificações de devolução somente quando houver falha na autenticação das
mensagens DKIM ou forem identificadas como spam. A desvantagem de usar regras de recebimento é
que, como as regras de recebimento são processadas após a conversa SMTP, haverá uma cobrança para
cada mensagem que você receber. Você também poderá ser cobrado se usar o Lambda para analisar o
conteúdo das mensagens recebidas. Para obter mais informações sobre regras de recebimento, consulte
Demonstração da criação de regras de recebimento no console (p. 130). Para obter mais informações
sobre o uso do Lambda para analisar o conteúdo das mensagens recebidas consulte Exemplos de função
do Lambda (p. 140).
Fluxos de e-mails
Como você deseja dividir seu fluxo de e-mails?
Provavelmente, seu domínio recebe classes diferentes de e-mail. Por exemplo, alguns dos e-mails de seu
domínio, por exemplo, um e-mail para [email protected], pode ser destinado a uma caixa de entrada
pessoal. Outros e-mails, por exemplo, para [email protected], podem ser melhor direcionados
para sistemas automatizados. Você pode usar regras de recebimento para dividir seus e-mails de entrada
para que eles sejam processados de forma diferente. Para obter informações sobre como configurar regras
de recebimento, leia Criar regras de recebimento (p. 130).
Autenticação de e-mail
O Amazon SES autentica cada e-mail recebido usando SPF, DKIM e DMARC. Os resultados de cada
mecanismo de autenticação são fornecidos nas notificações do Amazon SNS que o SES envia como
parte da avaliação das regras no ativo Conjunto de regras de recebimento (p. 144). Além disso, se você
optar por receber uma cópia do e-mail no Amazon S3, o resultado da autenticação de e-mail vai para o
cabeçalho Authentication-Results que o SES adiciona à seção de cabeçalho do e-mail:
122
Amazon Simple Email Service Guia do desenvolvedor
Configurar o recebimento de e-mails
Authentication-Results: example.com;
spf=pass (spfCheck: 10.0.0.1 is permitted by domain of example.com) client-ip=10.0.0.1;
[email protected]; helo=10.0.0.1;
dkim=pass header.i=example.com;
dkim=permerror header.i=some-example.com;
dmarc=pass [email protected];
O Amazon SES verifica o conteúdo de e-mail recebido em busca de malware dependendo do valor
do ScanEnabled (API), ou Varredura de spam e vírus (console) atribuído à regra de recebimento que
correspondia ao e-mail. Por padrão, o SES verifica se o conteúdo de e-mail recebido tem um malware.
Para desativar a varredura de conteúdo para e-mails recebidos que correspondam a uma regra de
recebimento específica, você precisará definir o sinalizador ScanEnabled (VarreduraAtivada) da regra
de recebimento como falso se estiver usando a API, ou desative a caixa de seleção Spam and virus
scanning (Varredura de spam e vírus) se estiver usando o console (p. 131). Se a regra de recebimento
que correspondeu a um e-mail estiver habilitada, o resultado da varredura de conteúdo será fornecido nas
notificações do Amazon SNS que o SES envia como parte da avaliação das regras no ativo receipt rule
set (p. 144) (conjunto de regras de recebimento). Além disso, se você optar por receber uma cópia do e-
mail no Amazon S3, o resultado da varredura de conteúdo será capturado na X-SES-Spam-Verdict e
nos cabeçalhos de X-SES-Virus-Verdict que o SES adiciona à seção de cabeçalho do e-mail.
X-SES-Spam-Verdict: PASS
X-SES-Virus-Verdict: FAIL
Agora que você tem uma compreensão dos conceitos de recebimento de e-mails, como ele funciona e
seus casos de uso, pode começar indo para Configurar o recebimento de e-mails (p. 123).
• Verifique seu domínio com o Amazon SES publicando registros DNS para provar que você é proprietário
dele.
• Permita que o Amazon SES receba e-mails para seu domínio publicando um registro MX.
• Dê permissão ao Amazon SES para acessar outros recursos da AWS para executar as ações das regras
de recebimento.
123
Amazon Simple Email Service Guia do desenvolvedor
Verificação de um domínio
Ao criar e verificar uma identidade de domínio, você está publicando registros nas configurações de DNS
para concluir o processo de verificação, mas isso por si só não é suficiente para usar o recebimento de
e-mails. Específico para o recebimento de e-mails, também é necessário publicar um registro MX para
especificar um domínio de email personalizado. Este registro é utilizado nas configurações de DNS do
seu domínio para permitir que o SES receba e-mail para o seu domínio. A concessão de permissões
é necessária porque as ações escolhidas nas regras de recebimento não funcionarão, a menos que o
Amazon SES tenha permissão para usar o respectivo serviço da AWS necessário para essas ações.
Esses três pré-requisitos necessários para usar o recebimento de e-mails são explicados nos tópicos a
seguir:
• Verificação de seu domínio para recebimento de e-mails do Amazon SES (p. 124)
• Publicação de um registro MX para o recebimento de e-mails do Amazon SES (p. 124)
• Concessão de permissões ao Amazon SES para recebimento de e-mails (p. 126)
Por meio do console, você pode verificar seus domínios com Easy DKIM (p. 185) ou Bring Your
Own DKIM (BYODKIM) (p. 187) e copiar facilmente os registros DNS deles para publicar em seu
provedor de DNS. A explicação desse procedimento está em Criar uma identidade de domínio (p. 160).
Opcionalmente, é possível usar as APIs VerifyDomainDkim ou VerifyDomainIdentity do SES.
Você pode confirmar facilmente que seu endereço de e-mail ou domínio está verificado observando o
status na tabela Verified identities (p. 179) (Identidades verificadas) no console do SES ou usando as
APIs GetIdentityVerificationAttributes ou GetEmailIdentity do SES.
Para que o Amazon SES gerencie seus e-mails de entrada, adicione um registro MX à configuração do
DNS de seu domínio. O registro MX que você cria refere-se ao endpoint que recebe e-mails para a região
da AWS onde você usa o Amazon SES. Por exemplo, o endpoint para a região Oeste dos EUA (Oregon) é
inbound-smtp.us-west-2.amazonaws.com. Para obter uma lista completa de endpoints, consulte Regiões e
endpoints do Amazon SES (p. 2).
Note
Os endpoints que recebem e-mail no Amazon SES não são servidores de e-mail IMAP ou POP3.
Você não pode usar esses URLs como servidores de e-mail de entrada em clientes de e-mail.
Se você precisa de uma solução que possa tanto enviar como receber e-mails usando um cliente
de e-mail, considere o uso do Amazon WorkMail.
O procedimento a seguir inclui etapas gerais para a criação de um registro MX. Os procedimentos
específicos para a criação de um registro MX dependem de seu provedor de hospedagem ou do DNS.
Consulte a documentação do provedor para obter informações sobre como adicionar um registro MX à
configuração de DNS do seu domínio.
124
Amazon Simple Email Service Guia do desenvolvedor
Publicação de um registro MX
Note
Para concluir o procedimento a seguir, você precisa ser capaz de modificar os registros de DNS
para seu domínio. Se você não puder acessar os registros de DNS para seu domínio, ou não se
sentir confortável para fazer isso, entre em contato com o administrador do sistema para obter
assistência.
example.com
Note
Alguns provedores de DNS se referem ao campo Name (Nome) como o Host, o Domain
(Domínio) ou o Mail Domain (Domínio de e-mail).
4. Em Type (Tipo), selecione MX.
Note
Alguns provedores de DNS se referem ao campo Type (Tipo) como o Record Type (Tipo de
registro) ou um nome semelhante.
5. Em Value (Valor), insira o seguinte:
10 inbound-smtp.region.amazonaws.com
No exemplo anterior, substitua região pelo endereço do endpoint que recebe e-mails para a região
da AWS que você usa com o Amazon SES. Por exemplo, se você estiver usando a região Leste dos
EUA (Norte da Virgínia), substitua region por us-east-1. Para obter uma lista de endpoints para o
recebimento de e-mails, consulte Regiões e endpoints do Amazon SES (p. 2).
Note
125
Amazon Simple Email Service Guia do desenvolvedor
Concessão de permissões
Para obter mais informações sobre como anexar políticas aos buckets do S3, consulte Uso de políticas de
bucket e políticas de usuário no Guia do usuário do Amazon Simple Storage Service.
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AllowSESPuts",
"Effect":"Allow",
"Principal":{
126
Amazon Simple Email Service Guia do desenvolvedor
Concessão de permissões
"Service":"ses.amazonaws.com"
},
"Action":"s3:PutObject",
"Resource":"arn:aws:s3:::myBucket/*",
"Condition":{
"StringEquals":{
"AWS:SourceAccount":"111122223333",
"AWS:SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-
set/rule_set_name:receipt-rule/receipt_rule_name"
}
}
}
]
}
Use a seguinte declaração de política como política de chave para permitir que o Amazon SES use sua
chave gerenciada pelo cliente quando ele receber e-mails em seu domínio.
{
"Sid": "AllowSESToEncryptMessagesBelongingToThisAccount",
"Effect": "Allow",
"Principal": {
"Service":"ses.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey*"
],
"Resource": "*",
"Condition":{
"StringEquals":{
"AWS:SourceAccount":"111122223333",
"AWS:SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-
set/rule_set_name:receipt-rule/receipt_rule_name"
}
}
}
127
Amazon Simple Email Service Guia do desenvolvedor
Concessão de permissões
• Substitua region pela região da AWS em que você criou a regra de recebimento.
• Substitua 111122223333 pelo ID de sua conta da AWS.
• Substitua rule_set_name pelo nome do conjunto de regras que contém a regra de recebimento que
você associou ao recebimento de e-mails.
• Substitua receipt_rule_name pelo nome da regra de recebimento que você associou ao recebimento
de e-mails.
Se você estiver usando o AWS KMS para enviar mensagens criptografadas para um bucket do S3 com a
criptografia do lado do servidor habilitada, precisará adicionar a ação de política "kms:Decrypt". Usando
o exemplo anterior, a inclusão dessa ação à sua política poderia ser feita da seguinte forma:
{
"Sid": "AllowSESToEncryptMessagesBelongingToThisAccount",
"Effect": "Allow",
"Principal": {
"Service":"ses.amazonaws.com"
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey*"
],
"Resource": "*",
"Condition":{
"StringEquals":{
"AWS:SourceAccount":"111122223333",
"AWS:SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-
set/rule_set_name:receipt-rule/receipt_rule_name"
}
}
}
Para obter mais informações sobre como anexar políticas a chaves do AWS KMS, consulte Uso de
políticas de chaves no AWS KMS no Guia do desenvolvedor do AWS Key Management Service.
Você também pode usar a operação AddPermission na API da AWS Lambda para anexar uma política
a uma função. A seguinte chamada de API AddPermission concede ao Amazon SES permissão para
chamar a função do Lambda. Para obter mais informações sobre como anexar políticas a funções do
Lambda, consulte Permissões do AWS Lambda no Guia do desenvolvedor do AWS Lambda.
{
"Action": "lambda:InvokeFunction",
"Principal": "ses.amazonaws.com",
"SourceAccount": "111122223333",
"SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-set/rule_set_name:receipt-
rule/receipt_rule_name"
"StatementId": "GiveSESPermissionToInvokeFunction"
}
128
Amazon Simple Email Service Guia do desenvolvedor
Concessão de permissões
• Substitua region pela região da AWS em que você criou a regra de recebimento.
• Substitua 111122223333 pelo ID de sua conta da AWS.
• Substitua rule_set_name pelo nome do conjunto de regras que contém a regra de recebimento em
que você criou sua função do Lambda.
• Substitua receipt_rule_name pelo nome da regra de recebimento que contém sua função do
Lambda.
A seguinte política concede permissão ao Amazon SES para publicar em um tópico do Amazon SNS em
uma conta da AWS separada.
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":"ses.amazonaws.com"
},
"Action":"SNS:Publish",
"Resource":"arn:aws:sns:topic_region:sns_topic_account_id:topic_name",
"Condition":{
"StringEquals":{
"AWS:SourceAccount":"aws_account_id",
"AWS:SourceArn": "arn:aws:ses:receipt_region:aws_account_id:receipt-rule-
set/rule_set_name:receipt-rule/receipt_rule_name"
}
}
}
]
}
• Substitua topic_region pela Região da AWS em que o tópico do Amazon SNS foi criado.
• Substitua sns_topic_account_id pelo ID da conta da AWS que é proprietária do tópico do Amazon
SNS.
• Substitua topic_name pelo nome do tópico do Amazon SNS no qual você deseja publicar notificações.
• Substitua aws_account_id pelo ID da conta da AWS que está configurada para receber e-mails.
• Substitua receipt_region pela Região da AWS em que você criou a regra de recebimento.
• Substitua rule_set_name pelo nome do conjunto de regras que contém a regra de recebimento em
que você criou sua publicação na ação do tópico do Amazon SNS.
• Substitua receipt_rule_name pelo nome da regra de recebimento que contém a publicação na ação
do tópico do Amazon SNS.
Se o tópico do Amazon SNS usar o AWS KMS para criptografia do lado do servidor, será necessário
adicionar permissões à política de chaves do AWS KMS. É possível adicionar permissões anexando a
seguinte política à política de chaves do AWS KMS:
129
Amazon Simple Email Service Guia do desenvolvedor
Demonstrações de recebimento de e-mails no console
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSESToUseKMSKey",
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "*"
}
]
}
Os assistentes de console para configurar regras de recebimento e filtros de endereço IP são explicados
no seguinte:
• Demonstração da criação de regras de recebimento no console (p. 130)
• Demonstração da criação de filtros de endereços IP no console (p. 156)
130
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
Opcionalmente, você pode usar a API CreateReceiptRuleSet para criar um conjunto de regras de
recebimento vazio, como descrito na Referência da API do Amazon Simple Email Service. Em seguida,
você pode usar o console ou a API CreateReceiptRule do Amazon SES para adicionar regras a ele.
Pré-requisitos
Os seguintes pré-requisitos devem ser atendidos para que você possa prosseguir com a configuração do
controle de e-mail baseado no destinatário usando regras de recebimento:
1. Garanta que seu endpoint esteja em uma Região da AWS na qual o Amazon SES seja compatível com
o recebimento de e-mails. Consulte endpoints compatíveis com recebimento de e-mails (p. 5).
2. Primeiro, você precisa criar e verificar uma identidade de domínio (p. 158) no Amazon SES.
3. Em seguida, você precisa especificar quais servidores de e-mail podem aceitar e-mails para seu
domínio publicando um registro MX (p. 124) para as configurações de DNS do seu domínio. (O
registro MX que você cria deve referenciar o endpoint do Amazon SES que recebe e-mails para a região
da AWS onde você usa o Amazon SES.)
4. Por fim, você precisa conceder permissão ao Amazon SES (p. 126) para acessar outros recursos da
AWS para executar as ações das regras de recebimento.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Email Receiving (Recebimento de e-mail), selecione Rule Sets
(Conjuntos de regras).
3. Em Receipt rule sets (Conjunto de regras de recebimento), escolha Create rule set (Criar conjunto de
regras).
4. Insira um nome exclusivo para o conjunto de regras e escolha Create rule set (Criar conjunto de
regras).
5. Escolha Create rule (Criar regra), e isso abrirá o assistente Create rule (Criar regra).
6. Na página Define rule settings (Definir configurações de regra), em Receipt rule details (Detalhes da
regra de recebimento), insira um Rule name (Nome da regra).
7. Para Status, só desmarque a caixa de Enabled (Habilitado) se você não quiser que o Amazon SES
execute esta regra após a criação; caso contrário, deixe essa opção selecionada.
8. (Opcional) Em Security and protection options (Opções de segurança e proteção), para Transport
Layer Security (TLS), selecione Required (Obrigatório) se quiser que o Amazon SES rejeite
mensagens recebidas que não forem enviadas por uma conexão segura.
9. (Opcional) Para Spam and virus scanning (Varredura de spam e vírus), selecione Enabled (habilitado)
se você desejar que o Amazon SES examine os e-mails recebidos para detectar spam e vírus.
10. Para prosseguir para a próxima etapa, escolha Next (Avançar).
11. (Opcional) Na guia Add recipient conditions (Adicionar condições de destinatário), use o procedimento
a seguir para especificar uma ou mais condições do destinatário. Você pode ter no máximo 100
condições de destinatários por regra de recebimento.
131
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
Important
132
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
a. Abra o menu Add new action (Adicionar nova ação) e escolha um dos seguintes tipos de ações:
• Adicionar cabeçalho (p. 134) - esta ação adiciona um cabeçalho personalizado ao e-mail
recebido.
• Retornar resposta de devolução (p. 134) - esta ação rejeita o e-mail recebido, com uma
reposta de devolução para o remetente.
• Invocar uma função do Lambda (p. 135): esta ação chama seu código por meio de uma
função do AWS Lambda.
• Entregar ao bucket do S3 (p. 142) - esta ação armazena o e-mail recebido em um bucket do
Amazon Simple Storage Service (S3).
• Publicar em um tópico do Amazon SNS (p. 144) - esta ação publica o e-mail completo em um
tópico do Amazon Simple Notification Service (SNS).
• Interromper conjunto de regras (p. 155) - esta ação termina a avaliação do conjunto de regras
de recebimento.
• Integrar com o Amazon WorkMail (p. 155) - esta ação integra com o Amazon WorkMail.
Para obter mais informações sobre todas essas ações, consulte Opções de ação (p. 134).
b. Repita essa etapa para cada ação que desejar definir. Se você tiver várias ações definidas, pode
reordená-las usando as setas para cima/baixo dentro dos contêineres de ação. Escolha Next
(Avançar) para abrir a página Review (Revisão).
13. Na página Review (Revisão), revise as configurações e as ações da regra. Se você precisar fazer
alterações, use a opção Edit (Editar) ou a seção de navegação no lado esquerdo da página para ir
diretamente para a etapa com o conteúdo que você deseja editar. Opcionalmente, você pode fazer
alterações na ordem das ações listadas na tabela Actions (Ações) da página Review (Revisão) usando
as setas para cima/para baixo na coluna Reorder (Reordenar).
14. Quando você estiver pronto para continuar, selecione Create rule (Criar regra).
• O conjunto de regras é listado com nome, status e data de criação. As opções de modificação para o
conjunto de regras são:
• O botão Set as active/inactive (Definir como ativo/inativo) alternar entre configurar o status como ativo
ou inativo.
• O botão Duplicate (Duplicar) copia o conjunto de regras. Será solicitado um nome exclusivo.
• O botão Delete (Excluir) exclui o conjunto de regras. Será solicitado que você confirme a confirmar
essa ação irreversível.
133
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
• As regras de recebimento estão listadas com nome, status, segurança e ordem. As opções de
modificação para as regras de recebimento são:
• Setas para cima/para baixo para reordenar a execução de regras dentro do conjunto de regras.
• O botão Duplicate (Duplicar) cria uma cópia da regra selecionada. Será solicitado um nome exclusivo.
• Edit (Editar) abre a regra selecionada para que qualquer um de seus parâmetros, como configurações
de regra, condições de destinatário e ações, possam ser editados.
• O botão Delete (Excluir) exclui a regra selecionada. Será solicitado que você confirme a confirmar
essa ação irreversível.
• Create rule (Criar regra) permite que você crie e adicione uma nova regra ao conjunto de regras atual.
Opções de ação
Cada regra para o recebimento de e-mails do Amazon SES contém uma lista ordenada de ações. Esta
seção descreve as opções específicas para cada tipo de ação.
• Header name (Nome do cabeçalho): o nome do cabeçalho a ser adicionado. Ele deve ter entre 1 e 50
caracteres e consistir apenas em caracteres alfanuméricos (a-z, A-Z, 0-9) e traços.
• Header value (Valor do cabeçalho): o valor do cabeçalho a ser adicionado. Ele deve ter pelo menos
2.048 caracteres e não deve conter caracteres de nova linha ("\r" ou"\n").
• Código de nova tentativa SMTP – o código de nova tentativa SMTP, conforme definido por RFC 5321.
• Código de status SMTP – o código de status aprimorado SMTP, conforme definido por RFC 3463.
• Mensagem – texto legível a ser incluído no e-mail de devolução.
• Reply Sender (Remetente da resposta): o endereço de e-mail do remetente do e-mail devolvido. Esse é
o endereço de e-mail a partir do qual o e-mail de devolução será enviado. Ele deve ser verificado com o
Amazon SES.
• SNS Topic (Tópico do SNS): o nome ou ARN do tópico do Amazon SNS a ser notificado, opcionalmente,
quando um e-mail de devolução é enviado. Um exemplo de ARN de um tópico do Amazon SNS é
arn:aws:sns:us-east-1:123456789012:MyTopic. Você também pode criar um tópico do Amazon SNS ao
134
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
configurar a sua ação escolhendo Create SNS Topic (Criar tópico do SNS). Para obter mais informações
sobre tópicos do Amazon SNS, consulte o Guia do desenvolvedor do Amazon Simple Notification
Service.
Note
O tópico do Amazon SNS escolhido deve estar na mesma região da AWS que o endpoint do
Amazon SES usado para receber e-mails.
Você pode digitar seus próprios valores para esses campos ou escolher um modelo que preencha os
campos Código de resposta SMTP, Código de status SMTP e Mensagem com valores baseados no motivo
da devolução. Os seguintes modelos estão disponíveis:
• A caixa de correio não existe – Código de resposta SMTP = 550, Código de status SMTP = 5.1.1
• Mensagem muito grande – Código de resposta SMTP = 552, Código de status SMTP = 5.3.4
• Mailbox Full (Caixa de correio cheia): código de resposta SMTP = 552, Código de status SMTP = 5.2.2
• Conteúdo da mensagem rejeitado – Código de resposta SMTP = 500, Código de status SMTP = 5.6.1
• Falha desconhecida – Código de resposta SMTP = 554, Código de status SMTP = 5.0.0
• Falha temporária – Código de resposta SMTP = 450, Código de status SMTP = 4.0.0
Para códigos de devolução adicionais que você pode usar ao digitar valores personalizados em campos,
consulte RFC 3463.
Opções
• Lambda function (Função do Lambda): o ARN da função do Lambda. Um exemplo de ARN da função do
Lambda é arn:aws:lambda:us-west-1:account-id:function:MyFunction.
• Invocation type (Tipo de invocação): o tipo de invocação da função do Lambda. Um tipo de invocação
de RequestResponse (Solicitar resposta) significa que a execução da função resulta em uma resposta
imediata. Um tipo de invocação de Event (Evento) significa que a função é invocada de forma
assíncrona. Recomendamos que você use o tipo de invocação Event (Evento), a menos que a execução
síncrona seja necessária para seu caso de uso.
Para obter mais informações, consulte Invoke Lambda Functions (Evocar Funções Lambda) no AWS
Lambda Developer Guide (Guia do desenvolvedor AWS Lambda).
• SNS Topic (Tópico SNS): o nome ou o ARN do tópico do Amazon SNS a ser notificado quando a
função do Lambda especificada for acionada. Um exemplo de ARN de um tópico do Amazon SNS é
arn:aws:sns:us-east-1:123456789012:MyTopic. Para obter mais informações, consulte Criação de um
tópico do Amazon SNS no Guia do desenvolvedor do Amazon Simple Notification Service.
Requisitos
• A função do Lambda escolhida deve estar na mesma região da AWS que o endpoint do Amazon SES
usado para receber e-mails.
• O tópico do Amazon SNS escolhido deve estar na mesma região da AWS que o endpoint do Amazon
SES usado para receber e-mails.
135
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
Para processar seus e-mails, sua função do Lambda pode ser invocada de forma assíncrona (ou seja,
usando o tipo de invocação Event). O objeto de evento passado para a função do Lambda conterá
metadados relativos ao evento de e-mail de entrada. Você também pode usar os metadados para acessar
o conteúdo da mensagem a partir de seu bucket do Amazon S3.
Se você deseja realmente controlar o fluxo de e-mails, sua função do Lambda deve ser invocada de
forma síncrona (ou seja, usando o tipo de invocação RequestResponse) e sua função do Lambda deve
chamar o método callback com dois argumentos: o primeiro argumento é null e o segundo argumento
é uma propriedade disposition que é definida como STOP_RULE, STOP_RULE_SET ou CONTINUE. Se
o segundo argumento for null ou não tiver uma propriedade disposition válida, o fluxo de e-mails
continuará e outras ações e regras serão processados, que é o mesmo com CONTINUE.
Por exemplo, você pode interromper o conjunto de regras de recebimento aescrevendo a seguinte linha no
final do código da função do Lambda:
Para obter exemplos de código do AWS Lambda, consulte Exemplos de função do Lambda (p. 140).
Para obter exemplos de casos de uso de alto nível, consulte Exemplos de casos de uso (p. 137).
Formato de entrada
O Amazon SES passa informações para a função do Lambda no formato JSON. O objeto de nível superior
contém uma matriz Records, que é preenchida com as propriedades eventSource, eventVersion e
ses. O objeto ses contém os objetos receipt e mail, que estão exatamente no mesmo formato que nas
notificações do Amazon SNS notificações descritas em Conteúdo das notificações (p. 144).
Os dados que o Amazon SES passa para o Lambda incluem metadados sobre a mensagem, bem como
vários cabeçalhos de e-mail. No entanto, não contêm o corpo da mensagem.
Veja a seguir uma visão de alto nível da estrutura da entrada que o Amazon SES fornece para a função do
Lambda.
{
"Records": [
{
"eventSource": "aws:ses",
"eventVersion": "1.0",
"ses": {
"receipt": {
<same contents as SNS notification>
},
"mail": {
<same contents as SNS notification>
}
}
}
]
}
Return values
Sua função do Lambda pode controlar o fluxo de e-mails retornando um dos seguintes valores:
• STOP_RULE – nenhuma ação adicional na regra de recebimento atual será processada, mas é possível
processar mais regras de recebimento.
• STOP_RULE_SET – nenhuma ação ou regras de recebimento adicionais serão processadas.
136
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
• CONTINUE ou qualquer outro valor inválido – isso significa que ações e regras de recebimento adicionais
podem ser processadas.
Os tópicos a seguir cobrem exemplos de eventos de e-mails, exemplos de casos de uso de alto nível e
exemplos de código da AWS Lambda:
• Exemplos de casos de uso (p. 137)
• Exemplos de função do Lambda (p. 140)
Rule1
Lista de destinatários: vazia. Essa regra, portanto, se aplicará a todos os destinatários em todos os seus
domínios verificados.
Ações
1. Ação do Lambda (síncrona) que retornará STOP_RULE_SET se o e-mail for spam. Caso contrário,
retornará CONTINUE. Consulte o exemplo de função do Lambda para descartar spam em Exemplos de
função do Lambda (p. 140).
Rule2
Lista de destinatários: example1.com
Ações
1. Qualquer ação.
Rule3
Lista de destinatários: example2.com
Ações
1. Qualquer ação.
Rule1
Lista de destinatários: vazia. Essa regra, portanto, se aplicará a todos os destinatários em todos os seus
domínios verificados.
137
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
Ações
1. Ação do Lambda (síncrona) que retornará CONTINUE se o e-mail for spam. Caso contrário, retornará
STOP_RULE.
2. Ação de devolução ("500 5.6.1. Conteúdo da mensagem rejeitado").
3. Ação de interrupção.
Rule2
Lista de destinatários: example1.com
Ações
1. Qualquer ação
Rule3
Lista de destinatários: example2.com
Ações
1. Qualquer ação
Rule1
Lista de destinatários: [email protected]
Ações
Rule2
Lista de destinatários: example.com
Ações
1. Qualquer ação.
Rule1
Lista de destinatários: example.com
Ações
138
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
1. Ação do Lambda (assíncrona) que grava o objeto de evento em um log do CloudWatch. As funções do
Lambda de exemplo em Exemplos de função do Lambda (p. 140) são registradas no CloudWatch.
2. Ação do S3.
Rule1
Lista de destinatários: example.com
Ações
1. Ação do S3.
2. Ação do Lambda (síncrona) que retornará STOP_RULE_SET se a mensagem falhar no DKIM. Caso
contrário, retornará CONTINUE.
Rule2
Lista de destinatários: [email protected]
Ações
Rule1
Lista de destinatários: example.com
Ações
1. Ação do Lambda (síncrona), que retornará STOP_RULE_SET se a linha de assunto contiver a palavra
"desconto". Caso contrário, retornará CONTINUE.
Rule2
Lista de destinatários: [email protected]
Ações
Rule3
Lista de destinatários: example.com
139
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
Ações
140
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
Note
Você deve primeiro gravar o e-mail no Amazon S3 usando uma ação do S3.
callback(null, null);
}
});
};
Este exemplo enviará uma mensagem de devolução se um e-mail de entrada falhar na autenticação
DMARC.
Note
Ao usar este exemplo, defina o valor da variável de ambiente emailDomain como seu domínio
de recebimento de e-mail.
'use strict';
141
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
• S3 Bucket (Bucket do S3): o nome do bucket do Amazon S3 no qual salvar e-mails recebidos. Você
também pode criar um novo bucket do Amazon S3 ao criar sua ação escolhendo Create S3 Bucket
(Criar bucket do S3). O Amazon SES fornece o e-mail bruto, não modificado, normalmente no formato
Multipurpose Internet Mail Extensions (MIME). Para obter mais informações sobre o formato MIME,
consulte RFC 2045.
Important
• Quando você salva seus e-mails em um bucket do Amazon S3, o tamanho máximo padrão do
e-mail (incluindo cabeçalhos) é de 40 MB.
• O SES não é compatível com regras de recebimento que são carregadas para buckets do S3
habilitados com o bloqueio de objeto configurado com um período padrão de retenção.
142
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
• Se estiver especificando sua própria chave do KMS, certifique-se de usar o ARN totalmente
qualificado da chave do KMS e não o alias da chave do KMS. O uso do alias pode resultar
em dados criptografados com uma chave do KMS que pertence ao solicitante e não ao
administrador do bucket. Consulte Using encryption for cross-account operations (Usar
criptografia para operações entre contas).
• Prefixo de chave de objeto –num prefixo de nome de chave a ser usado no bucket do Amazon S3. Os
prefixos de nomes de chave permitem que você organize o bucket do Amazon S3 em uma estrutura de
pastas. Por exemplo, se você usar o E-mail como o Object Key Prefix (Prefixo de chave de objeto), seus
e-mails serão exibidos em seu bucket do Amazon S3 em uma pasta chamada E-mail.
• KMS Key (Chave KMS) (se "Encrypt Message" (Criptografar mensagem) for selecionado no console
do Amazon SES): a chave do AWS KMS que o Amazon SES deve usar para criptografar seus e-mails
antes de salvá-los no bucket do Amazon S3. Você pode usar a chave padrão do KMS ou uma chave
gerenciada personalizada que você criou no AWS KMS.
Note
A chave do KMS escolhida deve estar na mesma região da AWS que o endpoint do Amazon
SES usado para receber e-mail.
• Para usar a chave do KMS padrão, escolha aws/ses quando configurar a regra de recebimento no
console do Amazon SES. Se você usar a API do Amazon SES, pode especificar a chave do KMS
padrão fornecendo um ARN na forma de arn:aws:kms:REGION:AWSACCOUNTID:alias/aws/
ses. Por exemplo, se o seu ID da conta da AWS for 123456789012 e você desejar usar a chave
padrão do KMS na região us-east-1, o ARN da chave do KMS padrão seria arn:aws:kms:us-
east-1:123456789012:alias/aws/ses. Se você usar a chave padrão do KMS, não é necessário
realizar nenhuma etapa extra para conceder permissão ao Amazon SES para usar a chave.
• Para usar uma chave gerenciada personalizada que você criou no AWS KMS, forneça o ARN da
chave do KMS e adicione uma instrução à sua política de chave para conceder ao Amazon SES
permissão para usá-la. Para obter mais informações sobre concessão de permissões, consulte
Concessão de permissões ao Amazon SES para recebimento de e-mails (p. 126).
Para obter mais informações sobre o uso do AWS KMS com o Amazon SES, consulte o AWS Key
Management ServiceGuia do desenvolvedor do . Se você não especificar uma chave do KMS no
console ou na API, o Amazon SES não criptografará seus e-mails.
Important
Seu e-mail é criptografado pelo Amazon SES usando o cliente de criptografia do Amazon S3
antes que ele seja enviado para o Amazon S3 para armazenamento. Ele não é criptografado
usando criptografia do lado do servidor do Amazon S3. Isso significa que você deve usar
o cliente de criptografia do Amazon S3 para descriptografar o e-mail depois de recuperá-lo
do Amazon S3, pois o serviço não tem acesso para usar suas chaves do AWS KMS para
descriptografia. Esse cliente de criptografia está disponível no AWS SDK for Java e no AWS
SDK for Ruby. Para obter mais detalhes, consulte o Guia do usuário do Amazon Simple Storage
Service.
• SNS Topic (Tópico do SNS): o nome ou o ARN do tópico do Amazon SNS a ser notificado quando
um e-mail for salvo no bucket do Amazon S3. Um exemplo de ARN de um tópico do Amazon SNS é
arn:aws:sns:us-east-1:123456789012:MyTopic. Você também pode criar um tópico do Amazon SNS ao
configurar a sua ação escolhendo Create SNS Topic (Criar tópico do SNS). Para obter mais informações
sobre tópicos do Amazon SNS, consulte o Guia do desenvolvedor do Amazon Simple Notification
Service.
Note
O tópico do Amazon SNS escolhido deve estar na mesma região da AWS que o endpoint do
Amazon SES usado para receber e-mail.
143
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
• SNS Topic (Tópico do SNS): o nome ou o ARN do tópico do Amazon SNS no qual publicar os e-mails.
As notificações do Amazon SNS conterão uma cópia do e-mail bruto, sem modificações, que geralmente
está no formato Multipurpose Internet Mail Extensions (MIME). Para obter mais informações sobre o
formato MIME, consulte RFC 2045.
Important
Se você escolhe receber e-mails por meio das notificações do Amazon SNS, o tamanho
máximo do e-mail (incluindo cabeçalhos) é 150 KB. E-mails grandes serão devolvidos. Se você
prever que seus e-mails serão maiores do que isso, salve-os em um bucket do Amazon S3.
O tópico do Amazon SNS escolhido deve estar na mesma região da AWS que o endpoint do
Amazon SES usado para receber e-mail.
• Encoding (Codificação): a codificação a ser usada para o e-mail na notificação do Amazon SNS. UTF-8
é mais fácil de usar, mas pode não preservar todos os caracteres especiais quando uma mensagem
foi codificada com um formato diferente. O Base64 preserva todos os caracteres especiais. Para obter
informações sobre UTF-8 e Base64, consulte RFC 3629 e RFC 4648, respectivamente.
Quando você recebe um e-mail, o Amazon SES executa as regras existentes no conjunto de regras de
recebimento ativo. Você pode configurar regras de recebimento para enviar notificações usando o Amazon
SNS. As regras de recebimento podem enviar dois tipos diferentes de notificações:
• Notificações enviadas a partir de ações do SNS: quando você adiciona uma ação do SNS (p. 144)
a uma regra de recebimento, ela envia informações sobre o e-mail. Se a mensagem for de 150 KB ou
menor, esse tipo de notificação também incluirá o corpo MIME completo do e-mail.
• Notificações enviadas a partir de outros tipos de ação: quando você adiciona qualquer outro tipo de
ação (incluindo as ações Bounce (Devolução) (p. 134), Lambda (p. 135), Stop Rule Set (Interromper
conjunto de regras) (p. 155), o WorkMail (p. 155)) a uma regra de recebimento, pode opcionalmente
especificar um tópico do Amazon SNS. Se você fizer isso, receberá notificações quando essas ações
forem executadas. Essas notificações contêm informações sobre o e-mail, mas não incluem o conteúdo
do e-mail.
Esta seção descreve o conteúdo das notificações e fornece um exemplo de cada tipo de notificação:
• Conteúdo de notificações para o recebimento de e-mails do Amazon SES (p. 144)
• Exemplos de notificações para o recebimento de e-mails do Amazon SES (p. 151)
Sumário
144
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
receipt object
145
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
146
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
action object
dkimVerdict object
147
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
dmarcVerdict object
spamVerdict object
148
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
spfVerdict object
virusVerdict object
mail object
149
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
commonHeaders object
O objeto commonHeaders pode ter os campos mostrados na tabela a seguir. Os campos presentes neste
objeto variam de acordo com quais campos estavam presentes no e-mail recebido.
to O cabeçalho To do e-mail.
cc O cabeçalho CC do e-mail.
150
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
• Uma notificação enviada como resultado de uma ação do SNS. (p. 151)
• Uma notificação enviada como resultado de outro tipo de ação (p. 153) (uma notificação de alerta).
Esta seção contém um exemplo de notificação de ação do SNS. Diferentemente da notificação de alerta
mostrada anteriormente, ela inclui uma seção content que contém o e-mail, que está geralmente no
formato Multipurpose Internet Mail Extensions (MIME).
{
"notificationType":"Received",
"receipt":{
"timestamp":"2015-09-11T20:32:33.936Z",
"processingTimeMillis":222,
"recipients":[
"[email protected]"
],
"spamVerdict":{
"status":"PASS"
},
"virusVerdict":{
"status":"PASS"
},
"spfVerdict":{
"status":"PASS"
},
"dkimVerdict":{
"status":"PASS"
},
"action":{
"type":"SNS",
"topicArn":"arn:aws:sns:us-east-1:012345678912:example-topic"
}
},
"mail":{
"timestamp":"2015-09-11T20:32:33.936Z",
"source":"[email protected]",
"messageId":"d6iitobk75ur44p8kdnnp7g2n800",
"destination":[
"[email protected]"
],
"headersTruncated":false,
"headers":[
{
"name":"Return-Path",
"value":"<0000014fbe1c09cf-7cb9f704-7531-4e53-89a1-5fa9744f5eb6-000000@amazonses.com>"
},
{
"name":"Received",
"value":"from a9-183.smtp-out.amazonses.com (a9-183.smtp-out.amazonses.com
[54.240.9.183]) by inbound-smtp.us-east-1.amazonaws.com with SMTP id
151
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
"returnPath":"0000014fbe1c09cf-7cb9f704-7531-4e53-89a1-5fa9744f5eb6-000000@amazonses.com",
"from":[
"[email protected]"
],
"date":"Fri, 11 Sep 2015 20:32:32 +0000",
"to":[
"[email protected]"
],
"messageId":"<[email protected]>",
"subject":"Example subject"
152
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
}
},
"content":"Return-Path: <[email protected]>\r
\nReceived: from a9-183.smtp-out.amazonses.com (a9-183.smtp-out.amazonses.com
[54.240.9.183])\r\n by inbound-smtp.us-east-1.amazonaws.com with SMTP id
d6iitobk75ur44p8kdnnp7g2n800\r\n for [email protected];\r\n Fri, 11 Sep
2015 20:32:33 +0000 (UTC)\r\nDKIM-Signature: v=1; a=rsa-sha256; q=dns/txt;
c=relaxed/simple;\r\n\ts=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com;
t=1442003552;\r\n\th=From:To:Subject:MIME-Version:Content-Type:Content-Transfer-
Encoding:Date:Message-ID:Feedback-ID;\r\n\tbh=DWr3IOmYWoXCA9ARqGC/UaODfghffiwFNRIb2Mckyt4=;
\r\n\tb=p4ukUDSFqhqiub+zPR0DW1kp7oJZakrzupr6LBe6sUuvqpBkig56UzUwc29rFbJF\r
\n\thlX3Ov7DeYVNoN38stqwsF8ivcajXpQsXRC1cW9z8x875J041rClAjV7EGbLmudVpPX\r\n
\t4hHst1XPyX5wmgdHIhmUuh8oZKpVqGi6bHGzzf7g=\r\nFrom: [email protected]\r\nTo:
[email protected]\r\nSubject: Example subject\r\nMIME-Version: 1.0\r\nContent-Type:
text/plain; charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\nDate: Fri, 11 Sep 2015
20:32:32 +0000\r\nMessage-ID: <[email protected]>\r\nX-SES-
Outgoing: 2015.09.11-54.240.9.183\r\nFeedback-ID: 1.us-east-1.Krv2FKpFdWV+KUYw3Qd6wcpPJ4Sv/
pOPpEPSHn2u2o4=:AmazonSES\r\n\r\nExample content\r\n"
}
Notificação de alerta
Esta seção contém um exemplo de notificação do Amazon SNS que pode ser acionada por uma ação do
S3. As notificações acionadas por ações do Lambda, ações de devolução, ações de interrupção e ações
do WorkMail são semelhantes. Embora a notificação contenha informações sobre o e-mail, não apresenta
o conteúdo do e-mail em si.
{
"notificationType": "Received",
"receipt": {
"timestamp": "2015-09-11T20:32:33.936Z",
"processingTimeMillis": 406,
"recipients": [
"[email protected]"
],
"spamVerdict": {
"status": "PASS"
},
"virusVerdict": {
"status": "PASS"
},
"spfVerdict": {
"status": "PASS"
},
"dkimVerdict": {
"status": "PASS"
},
"action": {
"type": "S3",
"topicArn": "arn:aws:sns:us-east-1:012345678912:example-topic",
"bucketName": "my-S3-bucket",
"objectKey": "\email"
}
},
"mail": {
"timestamp": "2015-09-11T20:32:33.936Z",
"source": "0000014fbe1c09cf-7cb9f704-7531-4e53-89a1-5fa9744f5eb6-000000@amazonses.com",
"messageId": "d6iitobk75ur44p8kdnnp7g2n800",
"destination": [
"[email protected]"
],
"headersTruncated": false,
"headers": [
{
153
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
"name": "Return-Path",
"value": "<0000014fbe1c09cf-7cb9f704-7531-4e53-89a1-5fa9744f5eb6-000000@amazonses.com>"
},
{
"name": "Received",
"value": "from a9-183.smtp-out.amazonses.com (a9-183.smtp-out.amazonses.com
[54.240.9.183]) by inbound-smtp.us-east-1.amazonaws.com with SMTP id
d6iitobk75ur44p8kdnnp7g2n800 for [email protected]; Fri, 11 Sep 2015 20:32:33 +0000
(UTC)"
},
{
"name": "DKIM-Signature",
"value": "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple;
s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1442003552;
h=From:To:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Date:Message-
ID:Feedback-ID; bh=DWr3IOmYWoXCA9ARqGC/UaODfghffiwFNRIb2Mckyt4=;
b=p4ukUDSFqhqiub+zPR0DW1kp7oJZakrzupr6LBe6sUuvqpBkig56UzUwc29rFbJF
hlX3Ov7DeYVNoN38stqwsF8ivcajXpQsXRC1cW9z8x875J041rClAjV7EGbLmudVpPX
4hHst1XPyX5wmgdHIhmUuh8oZKpVqGi6bHGzzf7g="
},
{
"name": "From",
"value": "[email protected]"
},
{
"name": "To",
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Example subject"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "text/plain; charset=UTF-8"
},
{
"name": "Content-Transfer-Encoding",
"value": "7bit"
},
{
"name": "Date",
"value": "Fri, 11 Sep 2015 20:32:32 +0000"
},
{
"name": "Message-ID",
"value": "<[email protected]>"
},
{
"name": "X-SES-Outgoing",
"value": "2015.09.11-54.240.9.183"
},
{
"name": "Feedback-ID",
"value": "1.us-east-1.Krv2FKpFdWV+KUYw3Qd6wcpPJ4Sv/pOPpEPSHn2u2o4=:AmazonSES"
}
],
"commonHeaders": {
"returnPath":
"0000014fbe1c09cf-7cb9f704-7531-4e53-89a1-5fa9744f5eb6-000000@amazonses.com",
"from": [
"[email protected]"
154
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento
],
"date": "Fri, 11 Sep 2015 20:32:32 +0000",
"to": [
"[email protected]"
],
"messageId": "<[email protected]>",
"subject": "Example subject"
}
}
}
• SNS Topic (Tópico do SNS): o nome ou ARN do tópico do Amazon SNS a ser notificado quando a ação
de interrupção for realizada. Um exemplo de ARN de um tópico do Amazon SNS é arn:aws:sns:us-
east-1:123456789012:MyTopic. Você também pode criar um tópico do Amazon SNS ao configurar a sua
ação escolhendo Create SNS Topic (Criar tópico do SNS). Para obter mais informações sobre tópicos do
Amazon SNS, consulte o Guia do desenvolvedor do Amazon Simple Notification Service.
Note
O tópico do Amazon SNS escolhido deve estar na mesma região da AWS que o endpoint do
Amazon SES usado para receber e-mails.
O tópico do Amazon SNS escolhido deve estar na mesma região da AWS que o endpoint do
Amazon SES usado para receber e-mails.
155
Amazon Simple Email Service Guia do desenvolvedor
Criar filtros IP
Opcionalmente, você pode usar a API CreateReceiptFilter para criar um filtro de endereço IP, como
descrito na Referência da API do Amazon Simple Email Service.
Note
Se você quiser apenas receber e-mails de uma lista finita de endereços IP conhecidos, configure
uma lista de bloqueio que contenha 0.0.0.0/0e configure uma lista de permissão que contenha
os endereços IP confiáveis. Essa configuração bloqueia todos os endereços IP por padrão e só
permite e-mails de endereços IP que você especificar explicitamente.
Pré-requisitos
Os seguintes pré-requisitos devem ser atendidos antes de prosseguir com a configuração do controle de e-
mail baseado em destinatário usando filtros de endereço IP:
1. Primeiro, você precisa criar e verificar uma identidade de domínio (p. 158) no Amazon SES.
2. Em seguida, você precisa especificar quais servidores de e-mail podem aceitar e-mails para seu
domínio publicando um registro MX (p. 124) para as configurações de DNS do seu domínio. (O
registro MX que você cria deve referenciar o endpoint do Amazon SES que recebe e-mails para a região
da AWS onde você usa o Amazon SES.)
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação esquerdo, escolha Email Receiving (Recebiment de e-mails).
3. Selecione a guia IP address filters (Filtros de endereços IP).
4. Selecione Create Filter (Criar filtro).
5. Digite um nome exclusivo para o seu filtro; a legenda do campo indicará os requisitos de sintaxe. (O
nome deve conter menos de 64 caracteres alfanuméricos, hífen (-), sublinhado (_) e ponto (.). O nome
deve começar e terminar com uma letra ou um número.)
6. Insira um endereço IP ou um intervalo de endereços IP; a legenda do campo fornecerá exemplos
especificados na sintaxe Classless Inter-Domain Routing (CIDR). (Um exemplo de um endereço
IP único é 10.0.0.1. Um exemplo de um intervalo de endereços IP é 10.0.0.1/24. Para obter mais
informações sobre notação CIDR, consulte RFC 2317.)
7. Escolha o tipo de política selecionando o botão de opção Block (Bloquear) ou Allow (Permitir).
8. Escolha Create Filter (Criar filtro).
9. Se você quiser adicionar outro filtro IP, escolha Create filter (Criar filtro) e repita as etapas anteriores
para cada filtro adicional que você desejar adicionar.
10. Se você quiser remover um filtro de endereço IP, selecione-o e escolha a opção Delete (Excluir).
156
Amazon Simple Email Service Guia do desenvolvedor
Exibir métricas de erros
• PublishFailure – o Amazon SES encontrou um erro ao tentar executar as ações que você configurou.
• PublishExpired – o Amazon SES encontrou um erro ao tentar executar as ações que você configurou,
e o ele não tentará mais entregar o e-mail. Essa falha pode ser permanente ou temporária. O Amazon
SES não tentará novamente porque a ação não foi bem-sucedida em um período de quatro horas.
Esses erros poderão ocorrer, por exemplo, se você tiver excluído ou revogado permissões para um bucket
do Amazon S3, tópico do Amazon SNS ou uma função do Lambda que uma ação em uma de suas regras
de recebimento foi configurada para usar.
Important
As alterações feitas para corrigir o conjunto de regras de recebimento serão aplicadas apenas a
e-mails recebidos pelo Amazon SES após a atualização. Os e-mails são sempre avaliados em
relação ao conjunto de regras de recebimento que foi implementado no momento em que o e-mail
foi recebido.
157
Amazon Simple Email Service Guia do desenvolvedor
Criação e verificação de identidades
Se a sua conta ainda estiver na sandbox do Amazon SES, você também precisará verificar todos os
endereços de e-mail aos quais pretende enviar e-mails, a menos que esteja enviando para as caixas de
entrada de teste fornecidas pelo simulador de caixa postal do Amazon SES (p. 266). Para obter mais
informações, consulte . the section called “Uso do simulador de caixa postal manualmente.” (p. 266).
Você pode criar uma identidade usando o console ou a API do Amazon SES. O processo de verificação de
identidade depende do tipo de identidade que você escolhe criar.
Tópicos
• Criação e verificação de identidades no Amazon SES (p. 158)
• Gerenciamento de identidades no Amazon SES (p. 179)
• Configuração de identidades no Amazon SES (p. 182)
• Enviar e-mails de teste no Amazon SES com o simulador (p. 265)
Criar e verificar uma identidade de endereço de e-mail é a maneira mais rápida de começar a usar o SES,
mas há benefícios em verificar uma identidade no nível do domínio. Quando você verifica uma identidade
de endereço de e-mail, somente esse e-mail pode ser usado para enviar e-mails. Porém, ao verificar
uma identidade de domínio, você pode enviar e-mails de qualquer subdomínio ou endereço de e-mail do
domínio verificado sem precisar verificar cada um individualmente. Por exemplo, se você criar e verificar
uma identidade de domínio chamada exemplo.com, não será necessário criar identidades de subdomínio
separadas para a.exemplo.com, a.b.exemplo.com, nem identidades de endereço de e-mail separadas para
usuá[email protected], usuá[email protected] e assim por diante.
Porém, lembre-se de que uma identidade de endereço de e-mail que está usando a verificação herdada
do domínio é limitada ao envio direto de e-mails. Para fazer um envio mais avançado, também será
necessário verificá-lo explicitamente como uma identidade de endereço de e-mail. O envio avançado
inclui o uso do endereço de e-mail com conjuntos de configurações, autorizações de política para envio
delegado e configurações que substituem as configurações de domínio.
158
Amazon Simple Email Service Guia do desenvolvedor
Criação e verificação de identidades
Para ajudar a esclarecer a herança de verificações e os recursos de envio de e-mail abordados acima,
a tabela a seguir categoriza cada combinação de verificação de domínio/endereço de e-mail e lista a
herança, o nível de envio e o status de exibição de cada um:
Os endereços de e-mail são O endereço de e-mail pode ser O endereço de e-mail pode ser
limitados ao envio direto de e- usado no envio avançado de e- usado no envio avançado de e-
mails. mail. mail.
Para enviar e-mails do mesmo domínio ou endereço de e-mail em mais de uma Região da AWS,
você deve criar e verificar uma identidade separada para cada região. Você pode verificar até 10.000
identidades em cada região.
Quando você criar e verificar identidades de endereço de e-mail e domínio, considere o seguinte:
• Você pode enviar e-mails de qualquer subdomínio ou endereço de e-mail do domínio verificado sem
precisar verificar cada um individualmente. Por exemplo, se você criar e verificar uma identidade para
exemplo.com, não precisará criar identidades separadas para a.exemplo.com, a.b.exemplo.com,
usuá[email protected], usuá[email protected] e assim por diante.
• Conforme especificado na RFC 1034, cada rótulo DNS pode ter até 63 caracteres e o nome de domínio
inteiro não deve exceder um comprimento total de 255 caracteres.
• Se verificar um domínio, subdomínio ou endereço de e-mail que compartilhe um domínio-raiz, as
configurações de identidade (como notificações de feedback) são aplicadas no nível mais detalhado que
você verificou.
• As configurações de identidade de endereço de e-mail verificadas têm precedência sobre as
configurações de identidade de domínio verificadas.
• As configurações de identidade de subdomínio verificadas têm precedência sobre as configurações
de identidade de domínio verificadas, com as configurações de subdomínio de nível inferior tendo
precedência sobre as configurações de subdomínio de nível superior.
159
Amazon Simple Email Service Guia do desenvolvedor
Criar uma identidade de domínio
• Você pode adicionar rótulos aos endereços de e-mail verificados sem executar etapas de verificação
adicionais. Para adicionar um rótulo a um endereço de e-mail, adicione um sinal de mais (+) entre o
nome da conta e o caractere "arroba" (@), seguido por um rótulo de texto. Por exemplo, se você já
verificou [email protected], pode usar o [email protected] como endereços "From"
ou "Return-Path" para seus e-mails. Você pode usar esse recurso para implementar Variable Envelope
Return Path (VERP). Em seguida, você pode usar VERP para detectar e remover endereços de e-mail
não entregáveis de suas listas de destinatários.
• Nomes de domínios não diferenciam maiúsculas de minúsculas. Se você verificar example.com, também
pode enviar de EXAMPLE.com.
• Os endereços de e-mail diferenciam maiúsculas de minúsculas. Se você verificar
[email protected], não poderá enviar e-mails de [email protected], a não ser que verifique
[email protected] também.
• Em cada Região da AWS, você pode verificar até 10 mil identidades (domínios e endereços de e-mail,
em qualquer combinação).
Índice
• Criar uma identidade de domínio (p. 160)
• Verificar uma identidade de domínio DKIM com seu provedor DNS (p. 163)
• Criação da identidade de um endereço de e-mail (p. 168)
• Verificar a identidade de um endereço de e-mail (p. 169)
• Crie e verifique uma identidade e atribua um conjunto de configurações padrão ao mesmo
tempo (p. 170)
• Usar modelos personalizados de e-mail de verificação (p. 170)
• Easy DKIM: aceite o padrão do Amazon SES de 2048 bits ou substitua-o, selecionando 1024 bits.
• BYODKIM: o comprimento da chave privada deve ser de, pelo menos, 1024 bits e até 2048 bits.
Consulte the section called “Comprimento da chave de assinatura DKIM” (p. 184) para saber mais sobre
comprimentos de chave de assinatura DKIM e como alterá-los.
O procedimento a seguir mostra como criar uma identidade de domínio usando o console do Amazon SES.
• Caso já tenha criado seu domínio e só precise verificá-lo, pule para o procedimento the section called
“Verificar uma identidade de domínio” (p. 163) nesta página.
Note
160
Amazon Simple Email Service Guia do desenvolvedor
Criar uma identidade de domínio
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Escolha Create identity (Criar identidade).
4. Em Identity details (Detalhes de identidade), selecione Domain (Domínio) como o tipo de identidade
que você deseja criar. Você deve ter acesso às configurações do DNS do domínio para realizar o
processo de verificação do domínio.
5. Insira o nome do domínio ou subdomínio no campo Domain (Domínio).
Tip
Se o seu domínio for www.example.com, insira example.com como seu domínio. Não inclua a
parte "www." porque, se o fizer, o processo de verificação de domínio não terá êxito.
6.
(Opcional) Se você quiser Assign a default configuration set (Atribuir um conjunto de configurações
padrão), marque a caixa de seleção.
1. Em MAIL FROM domain (Domínio MAIL FROM), insira o subdomínio que você deseja usar como
o domínio MAIL FROM. Esse deve ser um subdomínio da identidade do domínio que você está
verificando. O domínio MAIL FROM não deve ser um domínio do qual você envia e-mails.
2. Para Behavior on MX failure (Comportamento em caso de falha do MX), indique qual ação o
Amazon SES deve realizar se não encontrar o registro MX necessário no momento do envio.
Escolha uma das seguintes opções:
• Use default MAIL FROM domain (Usar o domínio MAIL FROM padrão): se o registro MX do
domínio MAIL FROM personalizado não estiver configurado corretamente, o Amazon SES usará
um subdomínio de amazonses.com. O subdomínio varia de acordo com a Região da AWS na
qual você usa o Amazon SES.
• Rejeitar mensagem: se o registro MX do domínio MAIL FROM personalizado não for configurado
corretamente, o Amazon SES retornará um erro MailFromDomainNotVerified. Se escolher
esta opção, os e-mails que você tentar enviar desse domínio serão automaticamente rejeitados.
3. Para Publish DNS records to Route53 (Publicar registros de DNS no Route53), se seu domínio
estiver hospedado por meio do Amazon Route 53, você tem a opção de permitir que o SES
publique os registros TXT e MX associados no momento da criação, deixando Enabled (Habilitado)
marcado. Se você preferir publicar esses registros mais tarde, limpe a caixa de seleção Enabled
(Habilitado). (Você pode voltar mais tarde para publicar os registros no Route 53 editando a
identidade. Consulte the section called “Editando uma identidade usando o console” (p. 180).)
8. (Opcional) Para configurar a verificação personalizada baseada em DKIM fora da configuração padrão
do SES que usa Easy DKIM com um comprimento de assinatura de 2048 bits, em Verifying your
161
Amazon Simple Email Service Guia do desenvolvedor
Criar uma identidade de domínio
domain (Verificação do seu domínio), expanda Advanced DKIM settings (Configurações avançadas de
DKIM) e escolha o tipo de DKIM que deseja configurar:
a. Easy DKIM:
1. Escolha Add new tag (Adicionar nova etiqueta) e insira a Key (Chave). Opcionalmente, você pode
adicionar um valor para a etiqueta.
2. Repita para etiquetas adicionais, no máximo 50, ou escolha Remove (Remover) para remover as
etiquetas.
11. Escolha Create identity (Criar identidade).
Agora que você criou e configurou sua identidade de domínio com o DKIM, é necessário concluir o
processo de verificação com seu provedor de DNS. Continue para the section called “Verificar uma
identidade de domínio” (p. 163) e siga os procedimentos de autenticação de DNS para o tipo de DKIM
com o qual você configurou sua identidade.
162
Amazon Simple Email Service Guia do desenvolvedor
Verificar uma identidade de domínio
Se você não tiver criado uma identidade de domínio, consulte the section called “Criar uma identidade de
domínio” (p. 160).
Para verificar uma identidade de domínio DKIM com seu provedor DNS
1. Na tabela Loaded identities (Identidades carregadas), selecione o domínio que deseja verificar.
2. Na guia Authentication (Autenticação) da página de detalhes da identidade, expanda Publish DNS
records (Publicar registros DNS).
3. Siga as respectivas instruções dependendo de qual tipo de DKIM você configurou seu domínio, Easy
DKIM ou BYODKIM:
Easy DKIM
1. Na tabela Publish DNS records (Publicar registros DNS), copie os três registros CNAME que
aparecem nessa seção para serem publicados (adicionados) ao provedor de DNS. Ou então,
você pode escolher Download .csv record set (Baixar conjunto de registros .csv) para salvar
uma cópia dos registros em seu computador.
A imagem a seguir mostra um exemplo dos registros CNAME a serem publicados em seu
provedor de DNS.
163
Amazon Simple Email Service Guia do desenvolvedor
Verificar uma identidade de domínio
164
Amazon Simple Email Service Guia do desenvolvedor
Verificar uma identidade de domínio
2. Adicione os registros CNAME às configurações de DNS do seu domínio de acordo com seu
provedor de host DNS:
• Todos os provedores de host DNS (exceto Route 53): faça login no provedor de
hospedagem Web ou de DNS do seu domínio e adicione os registros CNAME que
contêm os valores que você copiou ou salvou anteriormente. Diferentes provedores
têm procedimentos diferentes para atualizar os registros DNS. Consulte a Tabela de
provedores de DNS/hospedagem (p. 167) enquanto segue esses procedimentos.
Note
BYODKIM
165
Amazon Simple Email Service Guia do desenvolvedor
Verificar uma identidade de domínio
166
Amazon Simple Email Service Guia do desenvolvedor
Verificar uma identidade de domínio
Observe que na tabela Publish DNS records (Publicar registros DNS), o registro de chave
pública que aparece na coluna Value (Valor) exibe “p=customerProvidedPublicKey” apenas
como um espaço reservado para o valor da chave pública que você salvou no computador ou
forneceu ao provedor de DNS.
Note
Quando você publica (adiciona) a chave pública ao provedor DNS, ela deve ser
formatada da seguinte forma:
A tabela a seguir inclui links para a documentação de alguns provedores de DNS amplamente usados.
Essa lista não é exaustiva e não significa endosso; da mesma forma, se seu provedor de DNS não estiver
listado, isso não implicará que você não possa usar o domínio com o Amazon SES.
167
Amazon Simple Email Service Guia do desenvolvedor
Criação da identidade de um endereço de e-mail
• Verifique se você informou os valores para os registros DNS nos campos corretos. Alguns provedores
de DNS se referem ao campo Name/host (Nome/host) como Host ou Hostname (Nome do host). Além
disso, alguns provedores referem-se ao campo Record value (Valor do registro) como Points to (Aponta
para) ou Result (Resultado).
• Verifique se seu provedor não anexou automaticamente seu nome de domínio ao valor Nome/host que
você inseriu no registro de DNS. Alguns provedores acrescentam o nome de domínio sem indicar que
fizeram isso. Se seu provedor acrescentou seu nome de domínio ao valor Name/host (Nome/host),
remova o nome do domínio do final do valor. Você também pode tentar adicionar um período ao final
do valor no registro de DNS. Este período indica ao provedor que o nome de domínio é totalmente
qualificado.
• O caractere de sublinhado (_) é necessário no valor Name/host (Nome/host) de cada registro de DNS.
Se seu provedor não permitir sublinhados nos nomes de registro de DNS, entre em contato com o
departamento de suporte ao cliente do provedor para obter assistência adicional.
• Os registros de validação que você adiciona às configurações de DNS de seu domínio são diferentes
para cada Região da AWS. Se você deseja usar um domínio para enviar e-mails de várias Regiões da
AWS, tem que criar e verificar uma identidade de domínio separada para cada uma dessas regiões.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Escolha Create identity (Criar identidade).
4. Em Identity details (Detalhes de identidade), escolha Email address (Endereço de e-mail) como o tipo
de identidade que você deseja criar.
5. Em Email address (Endereço de e-mail), insira o endereço de e-mail que você deseja usar. O
endereço de e-mail deve ser um endereço que pode receber mensagens e ao qual você tem acesso.
6.
(Opcional) Se você quiser Assign a default configuration set (Atribuir um conjunto de configurações
padrão), marque a caixa de seleção.
168
Amazon Simple Email Service Guia do desenvolvedor
Verificar a identidade de um endereço de e-mail
1. Escolha Add new tag (Adicionar nova etiqueta) e insira a Key (Chave). Opcionalmente, você pode
adicionar um valor para a etiqueta.
2. Repita para etiquetas adicionais, no máximo 50, ou escolha Remove (Remover) para remover as
etiquetas.
8. Para criar sua identidade de endereço de e-mail, escolha Create identity (Criar identidade). Após a
criação, você deve receber um e-mail de verificação em cinco minutos. A próxima etapa é verificar seu
endereço de e-mail seguindo o procedimento de verificação da próxima seção.
Note
Você pode personalizar as mensagens que são enviadas para os endereços de e-mail
que tentar verificar. Para mais informações, consulte the section called “Usar modelos
personalizados de e-mail de verificação” (p. 170).
Agora que você criou sua identidade de endereço de e-mail, deve concluir o processo de verificação:
prossiga para the section called “Verificar a identidade de um endereço de e-mail” (p. 169).
Se você não tiver criado uma identidade de endereço de e-mail, consulte the section called “Criação da
identidade de um endereço de e-mail” (p. 168).
1. Na caixa de entrada do endereço que você usou para criar sua identidade, procure um e-mail de no-
[email protected].
2. Abra o e-mail e clique no link para realizar o processo de verificação para o endereço de e-mail. Após
a conclusão, o Identity status (Status da identidade) é atualizado para Verified (Verificado).
169
Amazon Simple Email Service Guia do desenvolvedor
Crie e verifique uma identidade e atribua um conjunto
de configurações padrão ao mesmo tempo (API)
• O link no e-mail de verificação expira após 24 horas. Para enviar um novo e-mail de verificação, escolha
Resend (Reenviar) no alto da página de detalhes da identidade.
Antes de concluir os procedimentos desta seção, é necessário instalar e configurar a AWS CLI.
Para obter mais informações, consulte o Guia do usuário do AWS Command Line Interface.
Nos comandos anteriores, substitua ADDRESS-OR-DOMAIN pela identidade do e-mail que você deseja
verificar. Substitua CONFIG-SET pelo nome do conjunto de configurações que você deseja definir como o
conjunto de configurações padrão para a identidade.
Se o comando for executado com êxito, ele será encerrado sem fornecer nenhuma saída.
1. Marque a caixa de entrada para o endereço de e-mail que você está verificando. Você receberá uma
mensagem com o assunto a seguir: “Amazon Web Services: Solicitação de verificação de endereço de
e-mail na região RegionName”, em que RegionName é o nome da Região da AWS na qual você tentou
verificar o endereço de e-mail.
O link na mensagem de verificação expira 24 horas depois que a mensagem foi enviada. Se já
se passaram 24 horas desde que você recebeu o e-mail de verificação, repita as etapas de 1 a
5 para receber um e-mail de verificação com um link válido.
2. No console do Amazon SES, em Identity Management (Gerenciamento de identidades), escolha Email
Addresses (Endereços de e-mail). Na lista de endereços de e-mail, localize o endereço de e-mail que
você está verificando. Se o endereço de e-mail foi verificado, o valor na coluna Status é "verified".
Para obter mais informações sobre como verificar domínios, consulte Criar uma identidade de
domínio (p. 160).
170
Amazon Simple Email Service Guia do desenvolvedor
Usar modelos personalizados de e-mail de verificação
Vários clientes do Amazon SES desenvolvem aplicações (como pacotes de marketing por e-mail ou
sistemas de emissão de tíquetes) que enviam e-mails por meio do Amazon SES em nome de seus
próprios clientes. Para os usuários finais dessas aplicações, o processo de verificação de e-mail pode ser
confuso: o e-mail de verificação usa a marca do Amazon SES em vez da marca da aplicação, e esses
usuários finais nunca se inscreveram para usar o Amazon SES diretamente.
Se seu caso de uso do Amazon SES exigir que os endereços de e-mail de seus clientes sejam verificados
para uso com o Amazon SES, você pode criar e-mails de verificação personalizados. Esses e-mails
personalizados ajudam a não deixar os clientes confusos e aumentam os índices de conclusão do
processo de registro dos clientes.
Note
Para usar esse recurso, a conta do Amazon SES deve estar fora da sandbox. Para mais
informações, consulte Saída da sandbox do Amazon SES (p. 32).
Atributo Descrição
TemplateName O nome do modelo. O nome que você especificar precisa ser exclusivo.
171
Amazon Simple Email Service Guia do desenvolvedor
Usar modelos personalizados de e-mail de verificação
Atributo Descrição
TemplateContent O corpo do e-mail. O corpo do e-mail pode conter HTML, com certas
restrições. Para mais informações, consulte Perguntas frequentes sobre
e-mails de verificação personalizados (p. 174).
Use os SDKs da AWS ou a AWS CLI para criar um modelo personalizado de e-mail de verificação com a
operação CreateCustomVerificationEmailTemplate. Para saber mais sobre AWS SDKs, consulte
Ferramentas para a Amazon Web Services. Para obter mais informações sobre a AWS CLI, consulte
Interface da linha de comando da AWS.
A seção a seguir inclui procedimentos para criar um e-mail de verificação personalizado usando a AWS
CLI. Esses procedimentos presumem que você já tenha instalado e configurado a AWS CLI. Para obter
mais informações sobre a instalação e a configuração da AWS CLI, consulte o Guia do usuário da AWS
Command Line Interface.
Note
Para concluir o procedimento descrito nesta seção, é necessário usar a versão 1.14.6 ou mais
recente da AWS CLI. Para obter melhores resultados, atualize para a versão mais recente
da AWS CLI. Para obter informações sobre como instalar ou atualizar a AWS CLI, consulte
Instalação da AWS Command Line Interface no Guia do usuário da AWS Command Line
Interface.
{
"TemplateName": "SampleTemplate",
"FromEmailAddress": "[email protected]",
"TemplateSubject": "Please confirm your email address",
"TemplateContent": "<html>
<head></head>
<body style='font-family:sans-serif;'>
<h1 style='text-align:center'>Ready to start sending
email with ProductName?</h1>
<p>We here at Example Corp are happy to have you on
board! There's just one last step to complete before
you can start sending email. Just click the following
link to verify your email address. Once we confirm that
you're really you, we'll give you some additional
information to help you get started with ProductName.</p>
</body>
</html>",
"SuccessRedirectionURL": "https://www.example.com/verifysuccess",
"FailureRedirectionURL": "https://www.example.com/verifyfailure"
}
Important
172
Amazon Simple Email Service Guia do desenvolvedor
Usar modelos personalizados de e-mail de verificação
Atributo Descrição
Por exemplo, suponha que seus clientes se registrem no seu serviço usando um formulário em
seu aplicativo. Quando o cliente conclui o formulário e o envia, o aplicativo chama a operação
SendCustomVerificationEmail, passando o endereço de e-mail do cliente e o nome do modelo que
você deseja usar.
173
Amazon Simple Email Service Guia do desenvolvedor
Usar modelos personalizados de e-mail de verificação
Seu cliente recebe um e-mail que usa o modelo personalizado de e-mail que você criou. O Amazon
SES adiciona automaticamente um link exclusivo ao destinatário, bem como uma breve isenção de
responsabilidade. A imagem a seguir mostra um exemplo de e-mail de verificação que usa o modelo criado
em Criar um modelo personalizado de e-mail de verificação (p. 171).
Windows
Substitua imagefile.png pelo nome do arquivo que você deseja codificar. Em ambos os comandos
acima, a imagem codificada em base64 é salva em output.txt.
174
Amazon Simple Email Service Guia do desenvolvedor
Usar modelos personalizados de e-mail de verificação
Você pode incorporar a imagem codificada em base64, incluindo o seguinte no HTML do modelo: <img
src="data:image/png;base64,base64EncodedImage"/>
No exemplo acima, substitua png pelo tipo de arquivo da imagem codificada (como jpg ou gif) e substitua
base64EncodedImage pela imagem codificada em base64 (ou seja, o conteúdo de output.txt de um
dos comandos anteriores).
P5. Há alguma limitação para o conteúdo que eu possa incluir nos modelos
personalizados de e-mail de verificação?
Os modelos personalizados de e-mail de verificação não podem ter mais de 10 MB de tamanho. Além
disso, os modelos personalizados de e-mail de verificação que contêm HTML só podem usar as etiquetas
e os atributos listados na tabela a seguir.
175
Amazon Simple Email Service Guia do desenvolvedor
Usar modelos personalizados de e-mail de verificação
176
Amazon Simple Email Service Guia do desenvolvedor
Usar modelos personalizados de e-mail de verificação
Note
177
Amazon Simple Email Service Guia do desenvolvedor
Usar modelos personalizados de e-mail de verificação
P10. Posso remover o texto que aparece na parte inferior dos e-mails de
verificação personalizados?
O texto a seguir é adicionado automaticamente no final de cada e-mail de verificação personalizado e não
pode ser removido:
Se você não solicitou a verificação deste endereço de e-mail, ignore essa mensagem. Em caso de
dúvidas, encaminhe essa mensagem para o seguinte endereço de e-mail junto com suas dúvidas ou
comentários.
178
Amazon Simple Email Service Guia do desenvolvedor
Gerenciamento de identidades
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No console, use o seletor de regiões para escolher a Região da AWS para a qual deseja visualizar sua
lista de identidades.
Note
Este procedimento só exibe uma lista das identidades para a Região da AWS selecionada.
3. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas). A tabela Loaded identities (Identidades carregadas) exibe as identidades de domínio
e de endereço de e-mail. A coluna Status (Situação) mostra se uma identidade foi verificada, está
com verificação pendente ou se foi reprovada no processo de verificação. As definições de todos os
valores de status possíveis são as seguintes:
• Verified (Verificado): sua identidade é verificada com sucesso para envio no SES.
• Failure (Falha): a SES não conseguiu verificar sua identidade. Se for um domínio, significa que o
SES não conseguiu detectar os registros DNS dentro de 72 horas. Se for um endereço de e-mail,
significa que o e-mail de verificação enviado para o endereço de e-mail não foi reconhecido dentro
de 24 horas.
• Pending (Pendente): o SES ainda está tentando verificar a identidade.
• Temporary Failure (Falha temporária): para um domínio verificado anteriormente, o SES verificará
periodicamente o registro DNS necessário para verificação. Se, em algum momento, o SES não
conseguir detectar o registro, o status muda paraTemporary Failure (Falha temporária). O SES
verificará novamente o registro DNS por 72 horas, e, se não for possível detectar o registro, o status
do domínio muda para Failure (Falha). Se for capaz de detectar o registro, o status do domínio
muda para Verified (Verificado).
• Not started (Não iniciado): você ainda não iniciou o processo de verificação.
4. Para classificar identidades por status de verificação, escolha a coluna Status.
5. Para visualizar a página de detalhes de uma identidade, selecione a identidade que deseja visualizar.
179
Amazon Simple Email Service Guia do desenvolvedor
Excluir uma identidade usando o console
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No console, use o seletor de regiões para escolher a Região da AWS da qual deseja excluir uma ou
mais identidades.
3. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
A tabela Loaded identities (Identidades carregadas) exibe uma lista das identidades de domínio e de
endereço de e-mail.
4. Na coluna Identidade, selecione a identidade a ser excluída. Você pode excluir várias identidades
marcando a caixa ao lado de cada identidade que deseja excluir.
5. Escolha Delete (Excluir).
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No console, use o seletor de regiões para escolher a Região da AWS a partir da qual deseja editar
uma ou mais identidades.
3. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
A tabela Loaded identities (Identidades carregadas) exibe uma lista das identidades de domínio e de
endereço de e-mail.
4. Na coluna Identity (Identidade), selecione a identidade que você deseja editar (clicando diretamente
no nome da identidade em vez de marcar sua caixa de seleção).
5. Na página de detalhes da identidade, selecione a guia que contém as categorias que você gostaria de
editar.
6. Em qualquer um dos contêineres de categoria da guia selecionada, escolha o botão Edit (Editar) do
atributo que você deseja editar, faça suas alterações e escolha Save changes (Salvar as alterações).
A guia Authentication (Autenticação) só está presente quando sua conta tem um domínio
verificado ou um endereço de e-mail que use um domínio verificado em sua conta.
180
Amazon Simple Email Service Guia do desenvolvedor
Edite uma identidade para usar um conjunto
de configurações padrão usando a API
b. Você pode publicar os registros de DNS diretamente a partir do botão Publish DNS records to
Route53 (Publicar registros de DNS no Route53). Basta clicar nele, um banner de confirmação
será exibido e o botão Publish DNS records to Route53 (Publicar registros de DNS no Route53)
não estará mais visível para o respectivo contêiner.
7. Repita as etapas 5 e 6 para cada atributo de identidade que você gostaria de editar.
Nos comandos anteriores, substitua ADDRESS-OR-DOMAIN pela identidade do e-mail que você deseja
verificar. Substitua CONFIG-SET pelo nome do conjunto de configurações que você deseja definir como o
conjunto de configurações padrão para a identidade.
Se o comando for executado com êxito, ele será encerrado sem fornecer nenhuma saída.
Nos comandos anteriores, substitua ADDRESS-OR-DOMAIN pela identidade do e-mail que você deseja
verificar.
Se o comando for executado com êxito, ele será encerrado sem fornecer nenhuma saída.
181
Amazon Simple Email Service Guia do desenvolvedor
Substitua o conjunto de configurações
padrão usado pela identidade (API)
Nos comandos anteriores, substitua ADDRESS-OR-DOMAIN pela identidade de e-mail para a qual você
deseja saber o conjunto de configurações padrão, se houver.
Se o comando for executado com êxito, ele fornecerá um objeto JSON com os detalhes da identidade do
e-mail.
Antes de concluir os procedimentos desta seção, é necessário instalar e configurar a AWS CLI.
Para obter mais informações, consulte o Guia do usuário do AWS Command Line Interface.
• Na linha de comando, insira o comando a seguir para usar a operação SendEmail (EnviarE-mail).
Nos comandos anteriores, substitua DESTINATION-JSON (DESTINO-JSON) pelo seu arquivo JSON
de destino, CONTENT-JSON (CONTEÚDO-JSON) pelo seu arquivo JSON de conteúdo, ADDRESS-OR-
DOMAIN (ENDEREÇO-OU-DOMÍNIO) pelo seu endereço de e-mail FROM (DE) e CONFIG-SET (CONJ-
CONFIG) pelo o nome do conjunto de configurações que deseja usar em vez do conjunto de configurações
padrão da identidade.
A maioria dos ISPs que encaminham tráfego de e-mail tomam medidas para avaliar se o e-mail é legítimo.
Uma medida que os ISPs tomam é determinar se um e-mail é autenticado. A autenticação exige que os
182
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
remetentes verifiquem se eles são os proprietários da conta da qual estão enviando os e-mails. Em alguns
casos, os ISPs recusam-se a encaminhar e-mail que não é autenticado. Para garantir a melhor capacidade
de entrega, recomendamos a autenticação de e-mails.
As seções a seguir descrevem dois mecanismos de autenticação que os ISPs usam: Sender Policy
Framework (SPF) e DomainKeys Identified Mail (DKIM), e fornecem instruções de como usar esses
padrões com o Amazon SES.
• Para saber mais sobre SPF, que fornece uma maneira de rastreamento de uma mensagem de e-mail
de volta para o sistema de que foi enviada, consulte Autenticação de e-mail com SPF no Amazon
SES (p. 209).
• Para saber mais sobre DKIM, um padrão que permite que você assine suas mensagens de e-mail para
mostrar aos ISPs que suas mensagens são legítimas e não foram modificadas em trânsito, consulte
Autenticação de e-mail com DKIM no Amazon SES (p. 183).
• Para saber como estar em conformidade com Domain-based Message Authentication, Reporting and
Conformance (DMARC), que conta com SPF e DKIM, consulte Conformidade com DMARC usando o
Amazon SES (p. 206).
A maioria dos ISPs que encaminham tráfego de e-mail tomam medidas para avaliar se o e-mail é legítimo.
Uma medida que os ISPs tomam é determinar se um e-mail é autenticado. A autenticação exige que os
remetentes verifiquem se eles são os proprietários da conta da qual estão enviando os e-mails. Em alguns
casos, os ISPs recusam-se a encaminhar e-mail que não é autenticado. Para garantir a melhor capacidade
de entrega, recomendamos a autenticação de e-mails.
Tópicos
• Autenticação de e-mail com DKIM no Amazon SES (p. 183)
• Uso de um domínio MAIL FROM personalizado (p. 199)
• Conformidade com DMARC usando o Amazon SES (p. 206)
• Autenticação de e-mail com SPF no Amazon SES (p. 209)
As assinaturas DKIM são opcionais. Você pode decidir assinar seu e-mail usando uma assinatura DKIM
para aumentar a capacidade de entrega com os provedores de e-mail em conformidade com o DKIM. O
Amazon SES fornece três opções para assinar suas mensagens usando uma assinatura DKIM:
• Easy DKIM: para configurar uma identidade de envio para que o Amazon SES gere um par de chaves
pública-privada e adicione automaticamente uma assinatura DKIM a todas as mensagens enviadas
dessa identidade, consulte Easy DKIM no Amazon SES (p. 185).
183
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
• BYODKIM (Traga seu próprio DKIM): para fornecer seu próprio par de chaves pública-privada para
que o SES adicione uma assinatura DKIM a todas as mensagens enviadas dessa identidade, consulte
Fornecer seu próprio token de autenticação DKIM (BYODKIM) no Amazon SES (p. 187).
• Manually add DKIM signature (Adicionar manualmente assinatura DKIM): para adicionar sua própria
assinatura DKIM ao e-mail enviado usando a API SendRawEmail, consulte Assinatura DKIM manual no
Amazon SES (p. 199).
Por razões de segurança, e também da capacidade de entrega do seu e-mail, quando configurado com
Easy DKIM, você tem a opção de usar comprimentos de chave de 1024 e 2048 bits, juntamente com a
flexibilidade de reverter para 1024, caso existam problemas causados por algum provedor de DNS que
ainda não suporte 2048. Quando você cria uma identidade, ela é criada com o DKIM 2048 por padrão, a
menos que você especifique 1024.
Para preservar a capacidade de entrega dos e-mails em trânsito, há restrições sobre a frequência com que
você pode alterar o comprimento da chave DKIM. As restrições incluem:
• Não ser capaz de alternar para o mesmo comprimento de chave que já está configurado.
• Não ser capaz de alternar para diferentes comprimentos de chave mais de uma vez em um período de
24 horas (a menos que seja a primeiro redução para 1024 nesse período).
Quando seu e-mail está em trânsito, o DNS está usando sua chave pública para autenticá-lo; portanto, se
você alterar as chaves com muita rapidez ou frequência, o DNS pode não conseguir autenticar seu e-mail
com DKIM, pois a chave anterior já pode estar invalidada, e essas restrições protegem contra isso.
• Você só precisa configurar o DKIM para o domínio que usa no seu endereço “From”. Você não precisa
configurar o DKIM para domínios que usa em endereços “Return-Path” ou “Reply-to”.
• O Amazon SES está disponível em diversas regiões da AWS. Se usar mais de uma região da AWS para
enviar e-mails, é necessário concluir o processo de configuração do DKIM em cada uma dessas regiões
para garantir que todos os seus e-mails sejam assinados pelo DKIM.
• Como as propriedades DKIM são herdadas do domínio principal, quando você verifica um domínio com
autenticação DKIM:
• A autenticação DKIM também será aplicada a todos os subdomínios desse domínio.
• As configurações DKIM para um subdomínio podem substituir as configurações do domínio principal
ao desabilitar a herança se você não quiser que o subdomínio use a autenticação DKIM, bem como
a capacidade de rehabilitar posteriormente.
• A autenticação DKIM também será aplicada a todos os e-mails enviados de uma identidade de e-mail
que faça referência em seu endereço ao domínio DKIM verificado.
• As configurações DKIM para um endereço de e-mail podem substituir as configurações para o
subdomínio (se for o caso) e o domínio principal ao desabilitar a herança se você quiser enviar e-
mails sem autenticação DKIM, bem como a capacidade de rehabilitar posteriormente.
184
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
• Se você já configurou o DKIM para o domínio ao qual um endereço de e-mail pertence, também não
precisa habilitar a assinatura DKIM para a identidade do endereço de e-mail.
• Quando você configura o DKIM para um domínio, o Amazon SES autentica automaticamente todos os
e-mails de todos os endereços nesse domínio por meio de propriedades DKIM herdadas do domínio
pai.
• As configurações do DKIM para um endereço de e-mail específico automaticamente substituem as
configurações para o domínio ou subdomínio (se aplicável) pai ao qual o endereço pertence.
Como as propriedades de assinatura DKIM da identidade de endereço de e-mail são herdadas do domínio
pai, se você estiver planejando substituir essas propriedades, deverá ter em mente as regras hierárquicas
de substituição, conforme explicado na tabela abaixo.
O domínio pai não tem assinatura DKIM habilitada O domínio pai tem assinatura DKIM habilitada
Geralmente, nunca é recomendável desabilitar sua assinatura DKIM, pois há o risco da reputação do
remetente ser prejudicada e do e-mail enviado terminar em pastas de lixo eletrônico ou spam, além da
possibilidade do seu domínio ser falsificado.
No entanto, existe a capacidade de substituir as propriedades de assinatura DKIM herdadas por domínio
em uma identidade de endereço de e-mail para qualquer caso de uso específico ou decisão comercial
remota que você possa ter que desabilitar permanentemente ou temporariamente a assinatura DKIM ou
reabilitá-la posteriormente. Consulte the section called “Substituição da assinatura DKIM em endereços de
e-mail” (p. 197).
Se, no momento, você tiver o BYODKIM habilitado e estiver fazendo a transição para Easy DKIM,
esteja ciente de que o Amazon SES não usará o BYODKIM para assinar seus e-mails enquanto
185
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
o Easy DKIM estiver sendo configurado e seu status do DKIM estiver marcado como pendente.
Entre o momento em que você faz a chamada para habilitar o Easy DKIM (por meio da API ou
do console) e o momento em que o SES pode confirmar sua configuração de DNS, os e-mails
podem ser enviados pelo SES sem uma assinatura do DKIM. Portanto, é aconselhável usar uma
etapa intermediária para migrar de um método de assinatura do DKIM para o outro (por exemplo,
usando um subdomínio do seu domínio com o BYODKIM habilitado e excluí-lo depois que a
verificação do Easy DKIM tiver sido aprovada), ou realizar essa atividade durante o tempo de
inatividade da aplicação, se houver.
O procedimento nesta seção é simplificado para mostrar apenas as etapas necessárias para configurar o
Easy DKIM em uma identidade de domínio que você já criou. Se você ainda não criou uma identidade de
domínio ou se deseja ver todas as opções disponíveis para personalizar a identidade de domínio, como
usar um conjunto de configurações padrão, domínio MAIL FROM personalizado e etiquetas, consulte the
section called “Criar uma identidade de domínio” (p. 160).
Parte da criação de uma identidade de domínio Easy DKIM é configurar sua verificação baseada em
DKIM, quando você terá a opção de aceitar o padrão de 2.048 bits do Amazon SES ou substituir o
padrão selecionando 1.024 bits. Consulte the section called “Comprimento da chave de assinatura
DKIM” (p. 184) para saber mais sobre comprimentos de chave de assinatura DKIM e como alterá-los.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de identidades, escolha uma identidade na qual o Identity type (Tipo de identidade) é Domain
(Domínio).
Note
O procedimento nesta seção mostra como você pode facilmente alterar os bits do Easy DKIM necessários
para o algoritmo de assinatura. Embora um comprimento de assinatura de 2048 bits seja sempre preferível
por causa da segurança maior que oferece, pode haver situações que exijam que você use o comprimento
de 1024 bits, como ter que usar um provedor de DNS que suporte apenas o DKIM 1024.
Para preservar a capacidade de entrega dos e-mails em trânsito, há restrições sobre a frequência com que
você pode alterar o comprimento da chave DKIM.
186
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
Quando seu e-mail está em trânsito, o DNS está usando sua chave pública para autenticá-lo; portanto, se
você alterar as chaves com muita rapidez ou frequência, o DNS pode não conseguir autenticar seu e-mail
com DKIM, pois a chave anterior já pode estar invalidada, as restrições a seguir protegem contra isso:
• Você não pode alternar para o mesmo comprimento de chave que já está configurado.
• Você não pode alternar um comprimento de chave diferente mais de uma vez em um período de 24
horas (a menos que seja a primeira redução para 1024 nesse período).
Ao usar os procedimentos a seguir para alterar o comprimento da chave, se você violar uma dessas
restrições, o console retornará um banner de erro informando que the input you provided is invalid,
juntamente com a razão de por que ela é inválida.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de identidades, selecione a identidade para a qual você deseja alterar o comprimento da
chave de assinatura DKIM.
4. Na guia Authentication (Autenticação), no contêiner DomainKeys Identified Mail (DKIM), escolha Edit
(Editar).
5. No contêiner Advanced DKIM settings (Configurações avançadas de DKIM), escolha RSA_2048_BIT
ou RSA_1024_BIT (p. 184) no campo DKIM signing key length (Comprimento da chave de
assinatura DKIM).
6. Selecione Save changes.
Com o BYODKIM, você pode usar um único registro DNS para configurar a autenticação DKIM dos seus
domínios, diferentemente do Easy DKIM, que exige a publicação de três registros DNS separados. Além
disso, usar BYODKIM permite alternar as chaves DKIM dos seus domínios com a frequência que desejar.
Warning
Se, no momento, você tiver o Easy DKIM habilitado e estiver fazendo a transição para BYODKIM,
esteja ciente de que o Amazon SES não usará o Easy DKIM para assinar seus e-mails enquanto
o BYODKIM estiver sendo configurado e seu status do DKIM estiver marcado como pendente.
Entre o momento em que você faz a chamada para habilitar o BYODKIM (por meio da API ou
do console) e o momento em que o SES pode confirmar sua configuração de DNS, os e-mails
podem ser enviados pelo SES sem uma assinatura do DKIM. Portanto, é aconselhável usar uma
etapa intermediária para migrar de um método de assinatura do DKIM para o outro (por exemplo,
usando um subdomínio do seu domínio com o Easy DKIM habilitado e excluí-lo depois que a
187
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
verificação do BYODKIM tiver sido aprovada), ou realizar essa atividade durante o tempo de
inatividade da aplicação, se houver.
Para usar o recurso Bring Your Own DKIM, primeiro é necessário criar um par de chaves RSA.
A chave privada que você gera deve usar criptografia RSA de no mínimo 1.024 bits e no máximo
2.048 bits, e deve ser codificada usando a codificação em base64 (PEM). Consulte the section called
“Comprimento da chave de assinatura DKIM” (p. 184) para saber mais sobre comprimentos de chave de
assinatura DKIM e como alterá-los.
Note
É possível usar aplicações e ferramentas de terceiros para gerar pares de chaves RSA, desde
que a chave privada seja gerada com criptografia RSA de no mínimo 1.024 bits e no máximo
2.048 bits, e seja codificada usando a codificação em base64(PEM).
No procedimento a seguir, o código de exemplo que usa o comando openssl genrsa incorporado
na maioria dos sistemas operacionais Linux, macOS ou Unix para criar o par de chaves usará
automaticamente a codificação em base64(PEM).
Para criar o par de chaves com a linha de comando do Linux, macOS ou Unix
1. Na linha de comando, insira o comando a seguir para gerar a chave privada substituindo nnn pelo
comprimento em bits, de pelo menos 1024 e no máximo 2048:
Agora que você criou um par de chaves, é necessário adicionar a chave pública como um registro TXT à
configuração DNS do seu domínio.
TXT
selector._domainkey.example.com p=yourPublicKey
Um pequeno número de provedores de DNS não permitem que você inclua sublinhados (_)
em nomes de registro. No entanto, o sublinhado no nome do registro DKIM é necessário.
188
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
Se o seu provedor de DNS não permitir que você insira um sublinhado no nome do
registro, entre em contato com a equipe de suporte ao cliente do provedor para obter
assistência.
• Substitua example.com pelo seu domínio.
• Substitua yourPublicKey pela chave pública que você criou anteriormente e inclua o prefixo p=,
conforme mostrado na coluna Value (Valor).
Note
Quando você publica (adiciona) a chave pública ao provedor DNS, ela deve ser formatada
da seguinte forma:
• Você deve excluir a primeira e a última linha (-----BEGIN PUBLIC KEY----- e
-----END PUBLIC KEY-----, respectivamente) da chave pública gerada. Remover
também as quebras de linha da chave pública gerada. O valor resultante será uma
cadeia de caracteres sem espaços ou quebras de linha.
• É necessário incluir o prefixo p= como mostrado na coluna Value (Valor) na tabela
acima.
Diferentes provedores têm procedimentos diferentes para atualizar os registros DNS. A tabela a seguir
inclui links para a documentação de alguns provedores de DNS amplamente usados. Essa lista não é
exaustiva e não significa endosso; da mesma forma, se seu provedor de DNS não estiver listado, isso
não implicará que você não possa usar o domínio com o Amazon SES.
Você pode configurar o BYODKIM para novos domínios (ou seja, domínios que você não usa atualmente
para enviar e-mails pelo Amazon SES) e domínios existentes (ou seja, domínios que você já configurou
para usar com o Amazon SES), usando o console ou a AWS CLI. Antes de concluir os procedimentos
da AWS CLI nesta seção, primeiro é necessário instalar e configurar a AWS CLI. Para obter mais
informações, consulte o Manual do usuário do AWS Command Line Interface.
189
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
Esta seção contém procedimentos para criar uma nova identidade de domínio que usa BYODKIM. Uma
nova identidade de domínio é um domínio que você não configurou anteriormente para enviar e-mails com
o Amazon SES.
Se você quiser configurar um domínio existente para usar o BYODKIM, siga as instruções em Opção 2:
Configurar uma identidade de domínio existente (p. 190).
• Siga os procedimentos em Criar uma identidade de domínio (p. 160), e quando você chegar à etapa
8, siga as instruções específicas do BYODKIM.
Para configurar um novo domínio, use a operação CreateEmailIdentity na API do Amazon SES.
{
"EmailIdentity":"example.com",
"DkimSigningAttributes":{
"DomainSigningPrivateKey":"privateKey",
"DomainSigningSelector":"selector"
}
}
Esta seção contém procedimentos para atualizar uma identidade de domínio existente para usar
BYODKIM. Uma identidade de domínio existente é um domínio que você já configurou para enviar e-mails
com o Amazon SES.
190
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de identidades, escolha uma identidade na qual o Identity type (Tipo de identidade) é Domain
(Domínio).
Note
Você deve excluir a primeira e a última linha (-----BEGIN PRIVATE KEY----- e -----
END PRIVATE KEY-----, respectivamente) da chave privada gerada. Além disso, remova
as quebras de linha da chave privada gerada. O valor resultante será uma cadeia de
caracteres sem espaços ou quebras de linha.
7. Para Selector name (Nome do seletor), insira o nome do seletor que você especificou nas
configurações de DNS do seu domínio.
8. No campo DKIM signatures (Assinaturas do DKIM), marque a caixa de seleção Enabled (Habilitado).
9. Selecione Save changes.
{
"SigningAttributes":{
"DomainSigningPrivateKey":"privateKey",
"DomainSigningSelector":"selector"
},
"SigningAttributesOrigin":"EXTERNAL"
}
• Substitua selector pelo seletor exclusivo que você especificou na criação do registro TXT durante
a configuração do DNS para seu domínio.
Depois de configurar um domínio para usar BYODKIM, você pode usar o console do SES para verificar se
o DKIM está configurado corretamente.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de identidades, selecione a identidade cujo status de DKIM você deseja verificar.
4. A propagação das alterações nas configurações de DNS pode levar até 72 horas. O processo de
verificação será concluído assim que o Amazon SES detectar todos os registros DKIM necessários
nas configurações de DNS do seu domínio. Se tudo tiver sido configurado corretamente, o campo
DKIM configuration (Configuração de DKIM) do domínio exibirá Successful (Com êxito) no painel
DomainKeys Identified Mail (DKIM) e o campo Identity status (Status da identidade) exibirá Verified
(Verificado) no painel Summary (Resumo).
Depois de configurar um domínio para usar o BYODKIM, você poderá usar a operação GetEmailIdentity
para verificar se o DKIM está configurado corretamente.
Esse comando retorna um objeto JSON com uma seção semelhante ao exemplo a seguir.
{
...
"DkimAttributes": {
"SigningAttributesOrigin": "EXTERNAL",
"SigningEnabled": true,
"Status": "SUCCESS",
"Tokens": [ ]
192
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
},
...
}
O BYODKIM estará configurado corretamente para o domínio se todas as opções a seguir forem true
(verdadeiras):
Você pode obter registros DKIM para seu domínio ou endereço de e-mail a qualquer momento usando o
console do Amazon SES.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de identidades, selecione a identidade para a qual deseja obter os registros DKIM.
4. Na guia Authentication (Autenticação) da página de detalhes de identidade, expanda View DNS
records (Visualizar registros do DNS).
5. Copie os três registros CNAME (se tiver usar Easy DKIM) ou o registro TXT (se tiver usado BYODKIM)
que são exibidos nessa seção. Ou então, você pode escolher Download .csv record set (Baixar
conjunto de registros .csv) para salvar uma cópia dos registros em seu computador.
A imagem a seguir mostra um exemplo da seção View DNS record (Exibir registros DNS) expandida,
revelando os registros CNAME associados ao Easy DKIM.
193
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
194
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
Você também pode obter os registros DKIM para uma identidade usando a API do Amazon SES. Um
método comum de interagir com a API é usar a AWS CLI.
Para obter registros DKIM para uma identidade usando a AWS CLI
No exemplo anterior, substitua exemplo.com pela identidade para a qual deseja obter registros
DKIM. Você pode especificar um endereço de e-mail ou um domínio.
2. A saída desse comando contém uma seção DkimTokens, conforme mostrado no exemplo a seguir:
{
"DkimAttributes": {
"example.com": {
"DkimEnabled": true,
"DkimVerificationStatus": "Success",
"DkimTokens": [
"hirjd4exampled5477y22yd23ettobi",
"v3rnz522czcl46quexamplek3efo5o6x",
"y4examplexbhyhnsjcmtvzotfvqjmdqoj"
]
}
}
}
Você pode usar os tokens para criar os registros CNAME que adiciona às configurações de DNS do
seu domínio. Para criar os registros CNAME, use o seguinte modelo:
Substitua cada instância de token1 pelo primeiro token da lista que você recebeu ao executar
o comando get-identity-dkim-attributes, substitua todas as instâncias de token2 pelo
segundo token da lista e substitua todas as instâncias de token3 pelo terceiro token da lista.
Por exemplo, aplicar esse modelo para os tokens mostrados no exemplo anterior produzirá os
seguintes registros:
hirjd4exampled5477y22yd23ettobi._domainkey.example.com CNAME
hirjd4exampled5477y22yd23ettobi.dkim.amazonses.com
v3rnz522czcl46quexamplek3efo5o6x._domainkey.example.com CNAME
v3rnz522czcl46quexamplek3efo5o6x.dkim.amazonses.com
y4examplexbhyhnsjcmtvzotfvqjmdqoj._domainkey.example.com CNAME
y4examplexbhyhnsjcmtvzotfvqjmdqoj.dkim.amazonses.com
Note
Se sua Região da AWS selecionada for Cidade do Cabo, Osaka ou Milão, você precisará usar
domínios DKIM específicos da região, conforme determinado na Tabela de domínios DKIM
encontrada na Referência geral da AWS.
195
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
Você pode desabilitar rapidamente a autenticação DKIM para uma identidade usando o console do
Amazon SES.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de identidades, selecione a identidade para a qual deseja desabilitar o DKIM.
4. Na guia Authentication (Autenticação), no contêiner DomainKeys Identified Mail (DKIM), escolha Edit
(Editar).
5. Em Advanced DKIM settings (Configurações avançadas de DKIM), marque a caixa de seleção
Enabled (Ativadas), no campo DKIM signatures (Assinaturas DKIM).
Você também pode desabilitar o DKIM para uma identidade usando a API do Amazon SES. Um método
comum de interagir com a API é usar a AWS CLI.
No exemplo anterior, substitua exemplo.com pela identidade para a qual deseja desabilitar o DKIM.
Você pode especificar um endereço de e-mail ou um domínio.
Se tiver desabilitado o DKIM anteriormente para uma identidade, é possível habilitá-lo novamente usando
o console do Amazon SES.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de identidades, selecione a identidade para a qual deseja habilitar o DKIM.
4. Na guia Authentication (Autenticação), no contêiner DomainKeys Identified Mail (DKIM), escolha Edit
(Editar).
5. Em Advanced DKIM settings (Configurações avançadas de DKIM), marque a caixa de seleção
Enabled (Habilitado) no campo DKIM signatures (Assinaturas DKIM).
Você também pode habilitar o DKIM para uma identidade usando a API do Amazon SES. Um método
comum de interagir com a API é usar a AWS CLI.
196
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
No exemplo anterior, substitua exemplo.com pela identidade para a qual deseja habilitar o DKIM.
Você pode especificar um endereço de e-mail ou um domínio.
Nesta seção, você aprenderá como substituir (desabilitar ou habilitar) as propriedades herdadas de
assinatura DKIM do domínio pai em uma identidade específica de endereço de e-mail já verificada com
o Amazon SES. Somente é possível fazer isso para identidades de endereço de e-mail que pertençam a
domínios que você já possui porque as configurações de DNS estão configuradas no nível do domínio.
Important
Você não pode desabilitar/habilitar a assinatura DKIM para identidades de endereço de e-mail...
• em domínios que você não possui. Por exemplo, você não pode configurar a assinatura DKIM
para um endereço gmail.com ou hotmail.com.
• em domínios que você possui, mas ainda não foram verificados no Amazon SES,
• em domínios que você possui, mas não habilitou a assinatura DKIM no domínio.
É importante primeiro entender que uma identidade de endereço de e-mail herdará suas propriedades
de assinatura DKIM de seu domínio pai se esse domínio tiver sido configurado com DKIM,
independentemente do Easy DKIM ou BYODKIM ter sido usado. Portanto, desabilitar ou habilitar a
assinatura DKIM na identidade do endereço de e-mail está em vigor, substituindo as propriedades de
assinatura DKIM do domínio com base nesses fatos principais:
• Se você já configurou o DKIM para o domínio ao qual um endereço de e-mail pertence, também não
precisa habilitar a assinatura DKIM para a identidade do endereço de e-mail.
• Quando você configura o DKIM para um domínio, o Amazon SES autentica automaticamente todos os
e-mails de todos os endereços nesse domínio por meio de propriedades DKIM herdadas do domínio
pai.
• As configurações do DKIM para um endereço de e-mail específico automaticamente substituem as
configurações para o domínio ou subdomínio (se aplicável) pai ao qual o endereço pertence.
Como as propriedades de assinatura DKIM da identidade de endereço de e-mail são herdadas do domínio
pai, se você estiver planejando substituir essas propriedades, deverá ter em mente as regras hierárquicas
de substituição, conforme explicado na tabela abaixo.
O domínio pai não tem assinatura DKIM habilitada O domínio pai tem assinatura DKIM habilitada
Você não pode habilitar a assinatura DKIM na Você não pode desabilitar a assinatura DKIM na
identidade do endereço de e-mail. identidade do endereço de e-mail.
197
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
O domínio pai não tem assinatura DKIM habilitada O domínio pai tem assinatura DKIM habilitada
Geralmente, nunca é recomendável desabilitar sua assinatura DKIM, pois há o risco da reputação do
remetente ser prejudicada e do e-mail enviado terminar em pastas de lixo eletrônico ou spam, além da
possibilidade do seu domínio ser falsificado.
No entanto, existe a capacidade de substituir as propriedades de assinatura DKIM herdadas por domínio
em uma identidade de endereço de e-mail para qualquer caso de uso específico ou decisão comercial
remota que você possa ter que desabilitar permanentemente ou temporariamente a assinatura DKIM ou
reabilitá-la posteriormente.
O procedimento do console SES a seguir explica como substituir (desabilitar ou habilitar) as propriedades
de assinatura DKIM herdadas do domínio pai em uma identidade de endereço de e-mail específica que
você já verificou com o Amazon SES.
Para desabilitar/habilitar a assinatura DKIM para uma identidade de endereço de e-mail usando o
console
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de identidades, escolha uma identidade na qual o Identity type (Tipo de identidade) é Email
address (Endereço de e-mail) e pertence a um de seus domínios verificados.
4. Na guia Authentication (Autenticação), no contêiner DomainKeys Identified Mail (DKIM), escolha Edit
(Editar).
Note
Substituição da assinatura DKIM herdada em uma identidade de endereço de e-mail (AWS CLI)
O exemplo a seguir usa a AWS CLI com um comando da API SES e parâmetros que substituirão
(desabilitarão ou habilitarão) as propriedades de assinatura DKIM herdadas do domínio pai em uma
identidade de endereço de e-mail específica que você já verificou com o SES.
Para desabilitar/habilitar a assinatura DKIM para uma identidade de endereço de e-mail usando a
AWS CLI
• Supondo que você seja dono do domínio example.com e deseja desabilitar a assinatura DKIM para
um dos endereços de e-mail do domínio, na linha de comando, digite o seguinte comando:
198
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
• Cada mensagem enviada usando o Amazon SES contém um cabeçalho DKIM que faz referência a um
domínio de assinatura de amazonses.com (ou seja, contém a seguinte sequência: d=amazonses.com).
Assim, se você assinar suas mensagens manualmente, elas deverão incluir dois cabeçalhos DKIM: um
para seu domínio, e um que o Amazon SES cria automaticamente para amazonses.com.
• O Amazon SES não valida assinaturas DKIM adicionadas manualmente às suas mensagens. Se houver
erros com a assinatura DKIM em uma mensagem, ela poderá ser rejeitada por provedores de e-mail.
• Ao assinar suas mensagens, você deverá usar um tamanho de bit de pelo menos 1024 bits.
• Não assine os seguintes campos: Message-ID, Data, Return-Path, Bounces-To.
Note
Se você usar um cliente de e-mail para enviar e-mail usando a interface SMTP do Amazon
SES, o cliente poderá realizar a assinatura DKIM de suas mensagens automaticamente. Alguns
clientes podem assinar alguns desses campos. Para obter informações sobre quais campos
são assinados por padrão, consulte a documentação do seu cliente de e-mail.
O Amazon SES define o domínio MAIL FROM para as mensagens enviadas como um valor padrão, a
menos que você especifique seu próprio domínio. Esta seção discute os benefícios da configuração de um
domínio MAIL FROM personalizado e inclui procedimentos de configuração.
Embora esse nível de autenticação seja suficiente para muitos remetentes, outros remetentes preferem
definir o domínio MAIL FROM como um domínio de sua propriedade. Ao configurar um domínio MAIL
199
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
FROM personalizado, seus e-mails podem estar em conformidade com Domain-based Message
Authentication, Reporting and Conformance (DMARC – Autenticação, relatórios e conformidade de
mensagens baseadas em domínio) (p. 206). O DMARC permite que o domínio de um remetente indique
que os e-mails enviados do domínio são protegidos por um ou mais sistemas de autenticação.
Há duas maneiras de obter a validação DMARC: usando a Sender Policy Framework (p. 209) (SPF –
Estrutura da política do remetente) e usando o DomainKeys Identified Mail (p. 183) (DKIM – Mensagem
identificada por chaves de domínio). A única maneira de estar em conformidade com o DMARC por meio
da SPF é usar um domínio MAIL FROM personalizado, pois a validação da SPF requer que o domínio no
endereço From corresponda ao domínio MAIL FROM. Ao usar o seu próprio domínio MAIL FROM, você
tem a flexibilidade de usar SPF, DKIM ou ambos para obter validação por DMARC.
• O domínio MAIL FROM deve ser um subdomínio do domínio pai de uma identidade confirmada
(endereço de e-mail ou domínio) que você quer usar para enviar e-mails. Por exemplo,
mail.example.com é um domínio MAIL FROM válido para o domínio example.com.
• O domínio MAIL FROM não deve ser um subdomínio que você também usa para enviar e-mails. Por
exemplo, se você enviar um e-mail do subdomínio mail.example.com, não poderá usá-lo como
domínio MAIL FROM. Se você tiver que usar o domínio MAIL FROM em um endereço From (De),
desabilite o encaminhamento de feedback por e-mail (p. 212) e receba suas devoluções por meio de
notificações do Amazon SNS ou certifique-se de que seu domínio MAIL FROM não seja o destino para
o encaminhamento de feedback. Para determinar o destino do feedback de encaminhamento de e-mail,
consulte Destino do encaminhamento de feedback de e-mail (p. 212).
• O domínio MAIL FROM não deve ser um subdomínio usado para receber e-mails.
É possível configurar um domínio MAIL FROM personalizado para um domínio inteiro ou para endereços
de e-mail individuais. Os procedimentos a seguir mostram como usar o console do Amazon SES para
configurar um domínio MAIL FROM personalizado. Também é possível configurar um domínio MAIL FROM
personalizado usando a operação da API SetIdentityMailFromDomain.
É possível configurar um domínio MAIL FROM para um domínio inteiro. Ao fazer isso, todas as mensagens
enviadas de endereços nesse domínio usam o mesmo domínio MAIL FROM.
Para configurar um domínio verificado para usar um domínio MAIL FROM especificado
• Se o Status for Unverified (Não verificado), conclua os procedimentos em Verificar uma identidade
de domínio DKIM com seu provedor DNS (p. 163) para verificar o domínio do endereço de e-
mail.
200
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
4. Na parte inferior da tela, no painel Custom MAIL FROM domain (Domínio MAIL FROM personalizado),
escolha Edit (Editar).
5. No painel General details (Detalhes gerais), faça o seguinte:
a. Marque a caixa de seleção Use a custom MAIL FROM domain (Usar um domínio MAIL FROM
personalizado).
b. Em MAIL FROM domain (Domínio MAIL FROM), insira o subdomínio que você deseja usar como
o domínio MAIL FROM.
c. Em Behaviour on MX failure (Comportamento na falha de MX), escolha uma das seguintes
opções:
• Use default MAIL FROM domain: se o registro MX do domínio MAIL FROM personalizado não
estiver configurado corretamente, o Amazon SES usará um subdomínio de amazonses.com.
O subdomínio varia de acordo com a região da Região da AWS na qual você usa o Amazon
SES.
• Rejeitar mensagem: se o registro MX do domínio MAIL FROM personalizado não for
configurado corretamente, o Amazon SES retornará um erro MailFromDomainNotVerified.
Os e-mails que você tenta enviar desse domínio são automaticamente rejeitados.
d. Selecione Save changes (Salvar alterações), que levará você à tela anterior.
6. Publique os registros MX e SPF (tipo TXT) no servidor DNS do domínio MAIL FROM personalizado:
No painel Custom MAIL FROM domain (Domínio MAIL FROM personalizado), a tabela Publish DNS
records (Publicar registros DNS) agora exibirá os registros MX e SPF (tipo TXT), nos quais você deve
publicar (adicionar) a configuração de DNS do domínio. Esses registros usam os formatos mostrados
na tabela a seguir.
subdomínio.domínio.com MX 10 feedback-
smtp.região.amazonses.com
Na tabela Publish DNS records (Publicar registros DNS), copie os registros MX e SPF (tipo TXT)
escolhendo o ícone de cópia ao lado de cada valor e cole-os nos campos correspondentes na GUI
do provedor de DNS. Ou então, você pode escolher Download .csv record set (Baixar conjunto de
registros .csv) para salvar uma cópia dos registros em seu computador.
Important
Para configurar com sucesso um domínio MAIL FROM personalizado com o Amazon SES,
é preciso publicar exatamente um registro MX no servidor DNS do domínio MAIL FROM. Se
201
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
o domínio MAIL FROM tiver vários registros MX, a configuração MAIL FROM personalizada
com o Amazon SES falhará.
Se o Route 53 fornecer o serviço DNS para o seu domínio MAIL FROM e você estiver conectado
ao AWS Management Console com a mesma conta usada para o Route 53, escolha Publish
Records Using Route 53 (Publicar registros usando o Route 53). Os registros DNS são aplicados
automaticamente à configuração do DNS do seu domínio.
Se você usar um provedor de DNS diferente, será necessário publicar os registros DNS no servidor
DNS do domínio MAIL FROM manualmente. O procedimento para adicionar registros DNS ao servidor
DNS do seu domínio varia de acordo com seu serviço de hospedagem na web ou provedor de DNS.
Os procedimentos para atualizar os registros DNS do seu domínio dependem do provedor de DNS
usado. A tabela a seguir inclui links para a documentação de alguns provedores de DNS amplamente
usados. Essa lista não é exaustiva e não significa endosso; da mesma forma, se seu provedor de DNS
não estiver listado, isso não implicará que ele não seja compatível com a configuração de domínio
MAIL FROM.
202
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
Quando o Amazon SES detectar que os registros estão em vigor, você receberá um e-mail informando
que seu domínio MAIL FROM personalizado foi configurado com êxito. Dependendo do seu provedor
de DNS, pode haver uma demora de até 72 horas antes que o Amazon SES detecte o registro MX.
Também é possível configurar um domínio MAIL FROM personalizado para um endereço de e-mail
específico. Para configurar um domínio MAIL FROM personalizado para um endereço de e-mail, você deve
modificar os registros DNS do domínio ao qual o endereço de e-mail está associado.
Note
Não é possível configurar um domínio MAIL FROM personalizado para endereços em um domínio
que não seja de sua propriedade (por exemplo, não é possível criar um domínio MAIL FROM
personalizado para um endereço no domínio gmail.com, pois não é possível adicionar os
registros DNS necessários ao domínio).
Para configurar um endereço de e-mail verificado para usar um domínio MAIL FROM especificado
a. Marque a caixa de seleção Use a custom MAIL FROM domain (Usar um domínio MAIL FROM
personalizado).
b. Em MAIL FROM domain (Domínio MAIL FROM), insira o subdomínio que você deseja usar como
o domínio MAIL FROM.
c. Em Behaviour on MX failure (Comportamento na falha de MX), escolha uma das seguintes
opções:
• Use default MAIL FROM domain: se o registro MX do domínio MAIL FROM personalizado não
estiver configurado corretamente, o Amazon SES usará um subdomínio de amazonses.com.
O subdomínio varia de acordo com a região da Região da AWS na qual você usa o Amazon
SES.
• Rejeitar mensagem: se o registro MX do domínio MAIL FROM personalizado não for
configurado corretamente, o Amazon SES retornará um erro MailFromDomainNotVerified.
Os e-mails que você tenta enviar desse endereço de e-mail são automaticamente rejeitados.
d. Selecione Save changes (Salvar alterações), que levará você à tela anterior.
6. Publique os registros MX e SPF (tipo TXT) no servidor DNS do domínio MAIL FROM personalizado:
No painel Custom MAIL FROM domain (Domínio MAIL FROM personalizado), a tabela Publish DNS
records (Publicar registros DNS) agora exibirá os registros MX e SPF (tipo TXT), nos quais você deve
publicar (adicionar) a configuração de DNS do domínio. Esses registros usam os formatos mostrados
na tabela a seguir.
203
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
subdomínio.domínio.com MX 10 feedback-
smtp.região.amazonses.com
Na tabela Publish DNS records (Publicar registros DNS), copie os registros MX e SPF (tipo TXT)
escolhendo o ícone de cópia ao lado de cada valor e cole-os nos campos correspondentes na GUI
do provedor de DNS. Ou então, você pode escolher Download .csv record set (Baixar conjunto de
registros .csv) para salvar uma cópia dos registros em seu computador.
Important
Para configurar com sucesso um domínio MAIL FROM personalizado com o Amazon SES,
é preciso publicar exatamente um registro MX no servidor DNS do domínio MAIL FROM. Se
o domínio MAIL FROM tiver vários registros MX, a configuração MAIL FROM personalizada
com o Amazon SES falhará.
Se o Route 53 fornecer o serviço DNS para o seu domínio MAIL FROM e você estiver conectado
ao AWS Management Console com a mesma conta usada para o Route 53, escolha Publish
Records Using Route 53 (Publicar registros usando o Route 53). Os registros DNS são aplicados
automaticamente à configuração do DNS do seu domínio.
Se você usar um provedor de DNS diferente, será necessário publicar os registros DNS no servidor
DNS do domínio MAIL FROM manualmente. O procedimento para adicionar registros DNS ao servidor
DNS do seu domínio varia de acordo com seu serviço de hospedagem na web ou provedor de DNS.
Os procedimentos para atualizar os registros DNS do seu domínio dependem do provedor de DNS
usado. A tabela a seguir inclui links para a documentação de alguns provedores de DNS amplamente
usados. Essa lista não é exaustiva e não significa endosso; da mesma forma, se seu provedor de DNS
não estiver listado, isso não implicará que ele não seja compatível com a configuração de domínio
MAIL FROM.
204
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
Quando o Amazon SES detectar que os registros estão em vigor, você receberá um e-mail informando
que seu domínio MAIL FROM personalizado foi configurado com êxito. Dependendo do seu provedor
de DNS, pode haver uma demora de até 72 horas antes que o Amazon SES detecte o registro MX.
205
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
Este tópico contém informações que o ajudarão a configurar o Amazon SES para que os e-mails enviados
estejam em conformidade com SPF e DKIM. Ao estarem em conformidade com um desses sistemas de
autenticação, seus e-mails estarão em conformidade com o DMARC. Para obter mais informações sobre
especificação DMARC, consulte http://www.dmarc.org.
206
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
O nome do registro TXT criado deve ser _dmarc.example.com, onde example.com é o seu domínio. O
valor do registro TXT contém a política DMARC que se aplica ao seu domínio. Veja a seguir um exemplo
de um registro TXT que contém uma política DMARC:
Em outras palavras, essa política informa os provedores de e-mail para fazer o seguinte:
• Aplicar a política do DMARC a 25% das mensagens, das quais qualquer uma delas com falha de
autenticação, enviá-las para a pasta de Spam (também é possível não realizar nenhuma ação usando
p=none ou rejeitar as mensagens diretamente usando p=reject).
• pct é uma etiqueta DMARC opcional que usa um número inteiro de texto sem formatação entre 0
e 100, inclusive (se essa etiqueta não for usada, todas as mensagens estarão sujeitas à política de
DMARC).
• Enviar relatórios sobre todos os e-mails com falha de autenticação falhou em um resumo (ou seja, um
relatório que agrega os dados de um determinado período, em vez de enviar relatórios individuais para
cada evento). Os provedores de e-mail normalmente enviam esses relatórios agregados uma vez por
dia, embora essas políticas variem de provedor para provedor.
Para saber mais sobre como configurar a DMARC para seu domínio, consulte a Visão geral no site
DMARC.
Para obter todas as especificações do sistema DMARC, consulte RFC 7489 no site do IETF. A seção 6.3
deste documento contém uma lista completa de tags que podem ser usadas para configurar a política
DMARC para o seu domínio.
• Configure um domínio MAIL FROM personalizado executando os procedimentos em the section called
“Uso de um domínio MAIL FROM personalizado” (p. 199).
207
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
• Verifique se o seu domínio de envio usa uma política flexível para SPF. Se você não alterou o
alinhamento da política do seu domínio, ele usa uma política flexível por padrão.
Note
Você pode determinar o alinhamento do DMARC de seu domínio para SPF digitando o seguinte
comando na linha de comando, substituindo example.com pelo seu domínio:
Na saída do comando, em Resposta não autorizada, procure um registro que comece com
v=DMARC1. Se esse registro incluir a string aspf=r, ou se a string aspf não estiver presente,
seu domínio usará o alinhamento flexível para SPF. Se o registro incluir a string aspf=s, seu
domínio usará o alinhamento estrito para SPF. O administrador do sistema precisará remover
essa tag do registro TXT DMARC na configuração do DNS do seu domínio.
Você também pode usar a ferramenta de pesquisa DMARC baseada na Web, como o DMARC
Inspector do site dmarcian ou a ferramenta DMARC Check do site Proofpoint, para determinar o
alinhamento de políticas do seu domínio para o SPF.
• Configure o Easy DKIM executando os procedimentos em the section called “Easy DKIM” (p. 185).
Quando você usa Easy DKIM, o Amazon SES assina automaticamente seus e-mails.
Note
Você pode determinar o alinhamento do DMARC de seu domínio para DKIM digitando o
seguinte comando na linha de comando, substituindo example.com pelo seu domínio:
Na saída do comando, em Resposta não autorizada, procure um registro que comece com
v=DMARC1. Se esse registro incluir a string adkim=r, ou se a string adkim não estiver
presente, seu domínio usará o alinhamento flexível para DKIM. Se o registro incluir a string
adkim=s, seu domínio usará o alinhamento estrito para DKIM. O administrador do sistema
precisará remover essa tag do registro TXT DMARC na configuração do DNS do seu domínio.
208
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail
Você também pode usar a ferramenta de pesquisa DMARC baseada na Web, como o DMARC
Inspector do site dmarcian ou a ferramenta DMARC Check do site Proofpoint para determinar o
alinhamento de políticas do seu domínio para o DKIM.
Para configurar o SPF, publique um registro TXT na configuração DNS de seu domínio. Este registo
contém uma lista dos servidores que você autoriza a enviar e-mail do seu domínio. Quando um provedor
de e-mail recebe uma mensagem do seu domínio, ele verifica os registros DNS do seu domínio para
garantir que o e-mail foi enviado de um servidor autorizado.
Quando você envia e-mails por meio do Amazon SES, as mensagens enviadas passam por uma
verificação SPF por padrão. O Amazon SES especifica um domínio MAIL FROM para cada mensagem que
é um subdomínio de amazonses.com e o servidor de envio de e-mail da mensagem se alinha com este
domínio.
Opcionalmente, você pode publicar seu próprio registro SPF. Ao publicar um registro SPF, seu e-mail pode
estar em conformidade com Domain-based Message Authentication, Reporting and Conformance (DMARC
— Autenticação, relatórios e conformidade de mensagens baseados em domínio) Para mais informações,
consulte Conformidade com DMARC (p. 206).
A tabela a seguir inclui links para a documentação de vários provedores comuns. Essa lista não é
abrangente e a inclusão nela não é um endosso ou recomendação de produtos ou serviços de nenhuma
empresa. Se o provedor não estiver listado na tabela, provavelmente ainda será possível publicar um
registro SPF.
209
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
Se o seu domínio não tiver um registro SPF, publique um registro TXT com os valores a seguir. O nome do
registro pode estar em branco ou @, dependendo do seu serviço DNS.
Os registros SPF podem conter várias instruções include. Se o domínio já tiver um registo SPF, você
pode adicionar uma instrução include ao Amazon SES usando o seguinte formato:
Você pode configurar notificações usando o console do Amazon SES ou a API do Amazon SES.
Tópicos
• Considerações importantes (p. 210)
• Recebimento de notificações do Amazon SES por e-mail (p. 211)
• Recebimento de notificações do Amazon SES usando o Amazon SNS (p. 213)
Considerações importantes
Há vários pontos importantes a serem considerados ao configurar o Amazon SES para enviar notificações:
• E-mail e notificações do Amazon SNS se aplicam a identidades individuais (os endereços de e-mail
ou domínios verificados que você usa para enviar e-mail). Quando você habilita notificações para uma
identidade, o Amazon SES só envia notificações para e-mails enviados dessa identidade, e apenas na
região da AWS na qual você configurou notificações.
• Você precisa habilitar um método para recebimento de notificações de devolução ou de reclamação.
Você pode enviar notificações para o domínio ou endereço de e-mail que gerou a devolução
ou a reclamação ou para um tópico do Amazon SNS. Você também pode usar a publicação de
eventos (p. 337) para enviar notificações sobre vários tipos diferentes de eventos (incluindo
devoluções, reclamações, entregas e muito mais) para um tópico do Amazon SNS ou para um fluxo do
Kinesis Data Firehose.
210
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
• Se você configurar o Amazon SES para enviar eventos de devolução e reclamação usando mais de
um método (por exemplo, enviando notificações por e-mail e usando eventos de envio), você poderá
receber mais de uma notificação para o mesmo evento.
Para enviar e-mails usando o Amazon SES, você deve configurá-lo para enviar notificações de devolução
e reclamação usando um dos seguintes métodos:
Important
Tópicos
• Habilitar o encaminhamento de feedback de e-mail (p. 211)
• Desabilitar o encaminhamento de feedback de e-mail (p. 212)
• Destino do encaminhamento de feedback de e-mail (p. 212)
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de endereços de e-mail ou domínios verificados, escolha o endereço de e-mail ou o domínio
para o qual você deseja configurar notificações de devolução e de reclamação.
4. No painel de detalhes, expanda a seção Notifications.
5. Escolha Edit Configuration.
6. Em Email Feedback Forwarding, escolha Enabled.
Note
As alterações feitas nesta página podem demorar alguns minutos para entrar em vigor.
Você também pode habilitar notificações de devolução e reclamação por e-mail usando a operação da API
SetIdentityFeedbackForwardingEnabled.
211
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de endereços de e-mail ou domínios verificados, escolha o endereço de e-mail ou o domínio
para o qual você deseja configurar notificações de devolução e de reclamação.
4. No painel de detalhes, expanda a seção Notifications.
5. Escolha Edit Configuration.
6. Em Email Feedback Forwarding, escolha Disabled.
Note
As alterações feitas nessa página podem demorar alguns minutos para entrar em vigor.
Você também pode desabilitar notificações de devolução e reclamação por e-mail usando a operação da
API SetIdentityFeedbackForwardingEnabled.
Se você usou a interface SMTP para enviar a mensagem, as notificações são enviadas ao endereço
especificado no comando MAIL FROM.
Se você usou a operação de API SendEmail para enviar a mensagem, as notificações são entregues de
acordo com as seguintes regras:
212
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
• Caso contrário, as notificações são enviadas para o endereço especificado no parâmetro obrigatório
Source de SendEmail.
Se você usou a operação de API SendRawEmail para enviar a mensagem, as notificações são entregues
de acordo com as seguintes regras:
• Se você especificou um parâmetro Source na chamada para a API SendRawEmail, as notificações são
enviadas para esse endereço. Isso é válido mesmo se um cabeçalho Return-Path foi especificado no
corpo do e-mail.
• Caso contrário, se você especificou um cabeçalho Return-Path na mensagem bruta, as notificações
são enviadas para esse endereço.
• Caso contrário, as notificações são enviadas para o endereço do cabeçalho From da mensagem bruta.
Note
Ao especificar um endereço Return-Path em um e-mail, você recebe notificações nesse
endereço. No entanto, a versão da mensagem que o destinatário recebe contém um cabeçalho
Return-Path que inclui um endereço de e-mail anonimizado (como a0b1c2d3e4f5a6b7-
[email protected]). Essa anonimização
acontece independentemente de como o e-mail foi enviado.
Para enviar e-mails usando o Amazon SES, você deve configurá-lo para enviar notificações de devolução
e reclamação usando um dos seguintes métodos:
• Enviando notificações a um tópico do Amazon SNS. O procedimento para configurar esse tipo de
notificação está incluído nesta seção.
• Habilitando o encaminhamento de comentários de e-mail. Para mais informações, consulte Recebimento
de notificações do Amazon SES por e-mail (p. 211).
• Publicando notificações de eventos. Para mais informações, consulte Monitorar o envio de e-mails
usando a publicação de eventos do Amazon SES (p. 337).
Important
Consulte Configuração de notificação de evento para o Amazon SES (p. 210) para obter
informações importantes sobre notificações.
Tópicos
• Configuração de notificações do Amazon SNS para o Amazon SES (p. 213)
• Conteúdo das notificações do Amazon SNS para o Amazon SES (p. 217)
• Exemplos de notificação do Amazon SNS para o Amazon SES (p. 228)
Você pode configurar notificações no console do Amazon SES ou usando a API do Amazon SES.
213
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
Pré-requisitos
Conclua as etapas a seguir antes de configurar notificações do Amazon SNS no Amazon SES:
1. Crie um tópico do Amazon SNS. Para obter mais informações, consulte Criar um tópico no Guia do
desenvolvedor do Amazon Simple Notification Service.
Important
Quando você criar seu tópico usando o Amazon SNS, em Type (Tipo), escolha apenas
Standard (Padrão). (O SES não suporta tópicos do tipo FIFO.)
Para conceder permissão ao Amazon SES para publicar notificações no tópico, na tela Edit topic
(Editar tópico) no console do SNS, expanda Access policy (Política de acesso) e, em JSON editor
(Editor de JSON), adicione a seguinte política de permissão:
{
"Version": "2012-10-17",
"Id": "notification-policy",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"
},
"Action": "sns:Publish",
"Resource": "arn:aws:sns:topic_region:111122223333:topic_name",
"Condition": {
"StringEquals": {
"AWS:SourceAccount": "111122223333",
"AWS:SourceArn":
"arn:aws:ses:topic_region:111122223333:identity/identity_name"
}
}
}
]
}
• Substitua topic_region pela região da AWS em que você criou o tópico do SNS.
• Substitua 111122223333 pelo ID de sua conta da AWS.
• Substitua topic_name pelo nome do tópico do SNS.
• Substitua identity_name pela identidade verificada (endereço de e-mail ou domínio) que você
está inscrevendo no tópico do SNS.
2. Inscreva pelo menos um endpoint para o tópico. Por exemplo, se quiser receber notificações por
mensagem de texto, assine um endpoint de SMS, (ou seja, um número de telefone celular) para o
tópico. Para receber notificações por e-mail, inscreva um endpoint de e-mail (um endereço de e-mail)
para o tópico.
214
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
Para obter mais informações, consulte Conceitos básicos no Guia do desenvolvedor do Amazon
Simple Notification Service.
3. (Opcional) Se o tópico do Amazon SNS usar o AWS Key Management Service (AWS KMS) para
criptografia do lado do servidor, será necessário adicionar permissões à política de chaves do AWS
KMS. É possível adicionar permissões anexando a seguinte política à política de chaves do AWS
KMS:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSESToUseKMSKey",
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"
},
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "*"
}
]
}
• Ao escolher SNS topic you don’t own (Tópico do SNS que você não possui), o campo SNS topic
ARN (ARN do tópico do SNS) será apresentado, onde deverá ser inserido o tópico do SNS que o
ARN compartilhou com você pelo remetente delegado. (Somente o remetente delegado receberá
essas notificações, pois ele possui o tópico do SNS. Para saber mais sobre envios delegados,
consulte Visão geral da autorização de envio (p. 236).)
Important
Os tópicos do Amazon SNS que você usa para notificações de devolução, reclamação e
entrega devem estar na mesma região da Região da AWS na qual você usa o Amazon SES.
215
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
Além disso, é necessário inscrever um ou mais endpoints no tópico para receber notificações.
Por exemplo, se você deseja que as notificações sejam enviadas para um endereço de e-
mail, é necessário inscrever um endpoint de e-mail no tópico. Para obter mais informações,
consulte Conceitos básicos no Guia do desenvolvedor do Amazon Simple Notification
Service.
6. (Opcional) Se você quiser que a notificação de tópico inclua os cabeçalhos do e-mail original, marque
a caixa Include original email headers (Incluir cabeçalhos de e-mail originais) diretamente abaixo do
nome do tópico do SNS de cada tipo de feedback. Essa opção só está disponível se você atribuiu um
tópico do Amazon SNS ao tipo de notificação associado. Para obter informações sobre o conteúdo
dos cabeçalhos de e-mail originais, consulte o objeto mail em Conteúdo das notificações (p. 217).
7. Selecione Save changes. As alterações feitas em suas configurações de notificação podem levar
alguns minutos para ter efeito.
8. (Opcional) Se você escolher notificações de tópicos do Amazon SNS para devoluções e reclamações,
poderá desabilitar as notificações de e-mail completamente para não receber notificações duplas por
e-mail e notificações do SNS. Para desabilitar notificações de e-mail para devoluções e reclamações,
na guia Notifications (Notificações), na tela de detalhes da identidade verificada, no contêiner Email
Feedback Forwarding (Encaminhamento de feedback de e-mail), escolha Edit (Editar), desmarque a
caixa Enabled (Habilitado) e escolha Save changes (Salvar as alterações).
Após definir as configurações, você começará a receber notificações de devolução, reclamação e/ou
entrega para seus tópicos do Amazon SNS. Essas notificações estão no formato JavaScript Object
Notation (JSON) e seguem a estrutura descrita em Conteúdo das notificações (p. 217).
Você será cobrado de acordo com as taxas padrão do Amazon SNS para notificações de devolução,
reclamação e entrega. Para obter mais informações, consulte a página de Definição de preços do Amazon
SNS.
Note
Se uma tentativa de publicar no seu tópico do Amazon SNS falhar porque o tópico foi excluído
ou a Conta da AWS não tem mais permissões para publicar nele, o Amazon SES removerá a
configuração desse tópico se ele tiver sido configurado para devoluções ou reclamações (não
entregas. Para notificações de entrega, o SES não excluirá a configuração do tópico do SNS).
Além disso, o Amazon SES habilitará novamente as notificações por e-mail de devolução e
reclamação para a identidade, e você receberá uma notificação da alteração por e-mail. Se várias
identidades forem configuradas para usar o tópico, a configuração do tópico para cada identidade
será alterada quando cada identidade apresentar uma falha ao publicar no tópico.
Você também pode configurar notificações de devolução, reclamação e entrega usando a API do Amazon
SES. Para configurar notificações, use as operações a seguir:
• SetIdentityNotificationTopic
• SetIdentityFeedbackForwardingEnabled
• GetIdentityNotificationAttributes
• SetIdentityHeadersInNotificationsEnabled
Você pode usar essas ações de API para escrever um aplicativo front-end personalizado para notificações.
Para obter uma descrição completa das ações de API relacionadas à verificação de domínio, consulte a
Referência da API do Amazon Simple Email Service.
216
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
Se você não estiver recebendo notificações, certifique-se de ter inscrito um endpoint no tópico pelo
qual as notificações são enviadas. Ao inscrever um endpoint de e-mail em um tópico, você recebe um
e-mail solicitando a confirmação da inscrição. É necessário confirmar a inscrição antes de começar a
receber notificações por e-mail. Para obter mais informações, consulte Conceitos básicos no Guia do
desenvolvedor do Amazon Simple Notification Service.
Se você receber uma mensagem de erro informando que ocorreu um erro InvalidParameterValue,
verifique se o tópico do Amazon SNS está criptografado usando AWS KMS. Se ele estiver, será necessário
modificar a política da chave do AWS KMS. Consulte Pré-requisitos (p. 214) para obter um exemplo de
política.
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 e commonHeaders do objeto mail.
217
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
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.
218
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
219
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
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":"[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:888888888888:identity/example.com",
"sourceIp": "127.0.3.0",
"sendingAccountId":"123456789012",
"destination":[
"[email protected]"
],
"headersTruncated":false,
"headers":[
{
"name":"From",
"value":"\"Sender Name\" <[email protected]>"
},
{
"name":"To",
"value":"\"Recipient Name\" <[email protected]>"
},
{
"name":"Message-ID",
"value":"custom-message-ID"
},
{
"name":"Subject",
"value":"Hello"
},
{
"name":"Content-Type",
"value":"text/plain; charset=\"UTF-8\""
},
{
"name":"Content-Transfer-Encoding",
220
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
"value":"base64"
},
{
"name":"Date",
"value":"Mon, 08 Oct 2018 14:05:45 +0000"
}
],
"commonHeaders":{
"from":[
"Sender Name <[email protected]>"
],
"date":"Mon, 08 Oct 2018 14:05:45 +0000",
"to":[
"Recipient Name <[email protected]>"
],
"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.
Se o Amazon SES conseguir entrar em contato com a Message Transfer Authority (MTA), o campo a
seguir também estará presente.
Se uma notificação do status de entrega (DSN) tiver sido anexada à devolução, o campo a seguir também
estará presente.
221
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
{
"bounceType":"Permanent",
"bounceSubType": "General",
"bouncedRecipients":[
{
"status":"5.0.0",
"action":"failed",
"diagnosticCode":"smtp; 550 user unknown",
"emailAddress":"[email protected]"
},
{
"status":"4.0.0",
"action":"delayed",
"emailAddress":"[email protected]"
}
],
"reportingMTA": "example.com",
"timestamp":"2012-05-25T14:59:38.605Z",
"feedbackId":"000001378603176d-5a4b5ad9-6f30-4198-a8c3-b1eb0c270a1d-000000",
"remoteMtaIp":"127.0.2.0"
}
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.
Opcionalmente, se um DSN estiver conectado à devolução, os seguintes campos também poderão estar
presentes.
222
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
{
"emailAddress": "[email protected]",
"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.
Note
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 (p. 340) e configure-a para
enviar notificações quando ocorrerem eventos de atraso de entrega.
223
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
224
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
Objeto de reclamação
O objeto JSON que contém informações sobre reclamações tem os campos a seguir.
225
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
Além disso, se um relatório de feedback estiver conectado à reclamação, os campos a seguir poderão
estar presentes.
{
"userAgent":"ExampleCorp Feedback Loop (V0.01)",
"complainedRecipients":[
{
"emailAddress":"[email protected]"
}
],
"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"
}
226
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
{ "emailAddress": "[email protected]" }
Note
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.
227
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
{
"timestamp":"2014-05-28T22:41:01.184Z",
"processingTimeMillis":546,
"recipients":["[email protected]"],
"smtpResponse":"250 ok: Message 64111812 accepted",
"reportingMTA":"a8-70.smtp-out.amazonses.com",
"remoteMtaIp":"127.0.2.0"
}
{
"notificationType":"Bounce",
"bounce":{
"bounceType":"Permanent",
228
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
"reportingMTA":"dns; email.example.com",
"bouncedRecipients":[
{
"emailAddress":"[email protected]",
"status":"5.1.1",
"action":"failed",
"diagnosticCode":"smtp; 550 5.1.1 <[email protected]>... User"
}
],
"bounceSubType":"General",
"timestamp":"2016-01-27T14:59:38.237Z",
"feedbackId":"00000138111222aa-33322211-cccc-cccc-cccc-ddddaaaa068a-000000",
"remoteMtaIp":"127.0.2.0"
},
"mail":{
"timestamp":"2016-01-27T14:59:38.237Z",
"source":"[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:888888888888:identity/example.com",
"sourceIp": "127.0.3.0",
"sendingAccountId":"123456789012",
"callerIdentity": "IAM_user_or_role_name",
"messageId":"00000138111222aa-33322211-cccc-cccc-cccc-ddddaaaa0680-000000",
"destination":[
"[email protected]",
"[email protected]",
"[email protected]"],
"headersTruncated":false,
"headers":[
{
"name":"From",
"value":"\"John Doe\" <[email protected]>"
},
{
"name":"To",
"value":"\"Jane Doe\" <[email protected]>, \"Mary Doe\" <[email protected]>,
\"Richard Doe\" <[email protected]>"
},
{
"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":"Wed, 27 Jan 2016 14:05:45 +0000"
}
],
"commonHeaders":{
"from":[
"John Doe <[email protected]>"
],
"date":"Wed, 27 Jan 2016 14:05:45 +0000",
"to":[
"Jane Doe <[email protected]>, Mary Doe <[email protected]>, Richard Doe
<[email protected]>"
229
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
],
"messageId":"custom-message-ID",
"subject":"Hello"
}
}
}
Veja a seguir um exemplo de uma notificação de devolução que inclui cabeçalhos de e-mail originais, mas
não um DSN. Quando as notificações de devolução não estiverem configuradas para incluir os cabeçalhos
de e-mail originais, o objeto mail dentro da notificação não incluirá os campos headersTruncated,
headers e commonHeaders.
{
"notificationType":"Bounce",
"bounce":{
"bounceType":"Permanent",
"bounceSubType": "General",
"bouncedRecipients":[
{
"emailAddress":"[email protected]"
},
{
"emailAddress":"[email protected]"
}
],
"timestamp":"2016-01-27T14:59:38.237Z",
"feedbackId":"00000137860315fd-869464a4-8680-4114-98d3-716fe35851f9-000000",
"remoteMtaIp":"127.0.2.0"
},
"mail":{
"timestamp":"2016-01-27T14:59:38.237Z",
"messageId":"00000137860315fd-34208509-5b74-41f3-95c5-22c1edc3c924-000000",
"source":"[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:888888888888:identity/example.com",
"sourceIp": "127.0.3.0",
"sendingAccountId":"123456789012",
"callerIdentity": "IAM_user_or_role_name",
"destination":[
"[email protected]",
"[email protected]",
"[email protected]"
],
"headersTruncated":false,
"headers":[
{
"name":"From",
"value":"\"John Doe\" <[email protected]>"
},
{
"name":"To",
"value":"\"Jane Doe\" <[email protected]>, \"Mary Doe\" <[email protected]>,
\"Richard Doe\" <[email protected]>"
},
{
"name":"Message-ID",
"value":"custom-message-ID"
},
{
"name":"Subject",
"value":"Hello"
},
{
230
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
"name":"Content-Type",
"value":"text/plain; charset=\"UTF-8\""
},
{
"name":"Content-Transfer-Encoding",
"value":"base64"
},
{
"name":"Date",
"value":"Wed, 27 Jan 2016 14:05:45 +0000"
}
],
"commonHeaders":{
"from":[
"John Doe <[email protected]>"
],
"date":"Wed, 27 Jan 2016 14:05:45 +0000",
"to":[
"Jane Doe <[email protected]>, Mary Doe <[email protected]>, Richard Doe
<[email protected]>"
],
"messageId":"custom-message-ID",
"subject":"Hello"
}
}
}
{
"notificationType":"Complaint",
"complaint":{
"userAgent":"AnyCompany Feedback Loop (V0.01)",
"complainedRecipients":[
{
"emailAddress":"[email protected]"
}
],
"complaintFeedbackType":"abuse",
"arrivalDate":"2016-01-27T14:59:38.237Z",
"timestamp":"2016-01-27T14:59:38.237Z",
"feedbackId":"000001378603177f-18c07c78-fa81-4a58-9dd1-fedc3cb8f49a-000000"
},
"mail":{
"timestamp":"2016-01-27T14:59:38.237Z",
"messageId":"000001378603177f-7a5433e7-8edb-42ae-af10-f0181f34d6ee-000000",
"source":"[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:888888888888:identity/example.com",
"sourceIp": "127.0.3.0",
"sendingAccountId":"123456789012",
"callerIdentity": "IAM_user_or_role_name",
"destination":[
"[email protected]",
"[email protected]",
231
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
"[email protected]"
],
"headersTruncated":false,
"headers":[
{
"name":"From",
"value":"\"John Doe\" <[email protected]>"
},
{
"name":"To",
"value":"\"Jane Doe\" <[email protected]>, \"Mary Doe\" <[email protected]>,
\"Richard Doe\" <[email protected]>"
},
{
"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":"Wed, 27 Jan 2016 14:05:45 +0000"
}
],
"commonHeaders":{
"from":[
"John Doe <[email protected]>"
],
"date":"Wed, 27 Jan 2016 14:05:45 +0000",
"to":[
"Jane Doe <[email protected]>, Mary Doe <[email protected]>, Richard Doe
<[email protected]>"
],
"messageId":"custom-message-ID",
"subject":"Hello"
}
}
}
Veja a seguir um exemplo de uma notificação de reclamação que inclui cabeçalhos de e-mail originais,
mas não um relatório de feedback. Quando as notificações de reclamação não estiverem configuradas
para incluir os cabeçalhos de e-mail originais, o objeto mail dentro da notificação não incluirá os campos
headersTruncated, headers e commonHeaders.
{
"notificationType":"Complaint",
"complaint":{
"complainedRecipients":[
{
"emailAddress":"[email protected]"
}
],
232
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
"timestamp":"2016-01-27T14:59:38.237Z",
"feedbackId":"0000013786031775-fea503bc-7497-49e1-881b-a0379bb037d3-000000"
},
"mail":{
"timestamp":"2016-01-27T14:59:38.237Z",
"messageId":"0000013786031775-163e3910-53eb-4c8e-a04a-f29debf88a84-000000",
"source":"[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:888888888888:identity/example.com",
"sourceIp": "127.0.3.0",
"sendingAccountId":"123456789012",
"callerIdentity": "IAM_user_or_role_name",
"destination":[
"[email protected]",
"[email protected]",
"[email protected]"
],
"headersTruncated":false,
"headers":[
{
"name":"From",
"value":"\"John Doe\" <[email protected]>"
},
{
"name":"To",
"value":"\"Jane Doe\" <[email protected]>, \"Mary Doe\" <[email protected]>,
\"Richard Doe\" <[email protected]>"
},
{
"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":"Wed, 27 Jan 2016 14:05:45 +0000"
}
],
"commonHeaders":{
"from":[
"John Doe <[email protected]>"
],
"date":"Wed, 27 Jan 2016 14:05:45 +0000",
"to":[
"Jane Doe <[email protected]>, Mary Doe <[email protected]>, Richard Doe
<[email protected]>"
],
"messageId":"custom-message-ID",
"subject":"Hello"
}
}
}
233
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações
{
"notificationType":"Delivery",
"mail":{
"timestamp":"2016-01-27T14:59:38.237Z",
"messageId":"0000014644fe5ef6-9a483358-9170-4cb4-a269-f5dcdf415321-000000",
"source":"[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:888888888888:identity/example.com",
"sourceIp": "127.0.3.0",
"sendingAccountId":"123456789012",
"callerIdentity": "IAM_user_or_role_name",
"destination":[
"[email protected]"
],
"headersTruncated":false,
"headers":[
{
"name":"From",
"value":"\"John Doe\" <[email protected]>"
},
{
"name":"To",
"value":"\"Jane Doe\" <[email protected]>"
},
{
"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":"Wed, 27 Jan 2016 14:58:45 +0000"
}
],
"commonHeaders":{
"from":[
"John Doe <[email protected]>"
],
"date":"Wed, 27 Jan 2016 14:58:45 +0000",
"to":[
"Jane Doe <[email protected]>"
],
"messageId":"custom-message-ID",
"subject":"Hello"
}
},
"delivery":{
"timestamp":"2016-01-27T14:59:38.237Z",
234
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
"recipients":["[email protected]"],
"processingTimeMillis":546,
"reportingMTA":"a8-70.smtp-out.amazonses.com",
"smtpResponse":"250 ok: Message 64111812 accepted",
"remoteMtaIp":"127.0.2.0"
}
}
Você também pode controlar o acesso ao Amazon SES usando políticas do IAM. As políticas
do IAM restringem o que os usuários individuais do IAM podem fazer, enquanto as políticas de
autorização de envio limitam como as identidades verificadas individuais podem ser usadas.
Além disso, somente as políticas de autorização de envio podem conceder acesso entre contas.
Para obter mais informações sobre como usar as políticas do IAM com o Amazon SES, consulte
Gerenciamento de identidade e acesso no Amazon SES (p. 529).
235
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
Note
Para compatibilidade, notificações entre contas são suportadas nas notificações herdadas entre
contas que são usadas atualmente na sua conta. Esse suporte se limita a poder modificar e usar
todas as entre contas atuais criadas no console clássico do Amazon SES; no entanto, você não
pode mais criar novas notificações entre contas. Para criar novas notificações no novo console do
Amazon SES, use os novos métodos de envio delegado com conjuntos de configurações usando
publicação de eventos (p. 277) ou com identidades verificadas configuradas com seus próprios
tópicos do SNS (p. 243).
Tópicos
• Visão geral da autorização de envio do Amazon SES (p. 236)
• Tarefas do proprietário da identidade para autorização de envio do Amazon SES (p. 238)
• Tarefas do remetente delegado para autorização de envio do Amazon SES (p. 247)
• Criação de uma política para autorização de envio no Amazon SES (p. 254)
• Exemplos de políticas (p. 259)
• Gerenciamento de suas políticas para autorização de envio (p. 264)
• Identidade: endereço de e-mail ou domínio que os usuários do Amazon SES usam para enviar e-mail.
• Proprietário de identidade: usuário do Amazon SES que comprovou que é o proprietário de um endereço
de e-mail ou domínio usando os procedimentos descritos em Identidades (p. 158).
• Delegate sender (Remetente delegado): uma conta da AWS, um usuário do AWS Identity and Access
Management (IAM) ou um serviço da AWS que foi autorizado por meio de uma política de autorização
para enviar e-mail em nome do proprietário da identidade.
• Política de autorização de envio – documento que você anexa a uma identidade para especificar quem
pode enviar para essa identidade e em que condições.
• Nome de recurso da Amazon (ARN) – maneira padronizada de identificar exclusivamente um recurso
da AWS em todos os serviços da AWS. Para autorização de envio, o recurso é a identidade que
o proprietário da identidade autorizou o remetente delegado a usar. Um exemplo de um ARN é
arn:aws:ses:us-east-1:123456789012:identity/example.com.
Quando o Amazon SES recebe a solicitação para enviar o e-mail, ele confere a política da sua identidade
(se estiver presente) para determinar se você autorizou o remetente delegado a enviar no nome da
identidade. Se o remetente delegado estiver autorizado, o Amazon SES aceita o e-mail; do contrário, o
Amazon SES retorna uma mensagem de erro.
236
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
O diagrama a seguir mostra a relação de alto nível entre os conceitos de autorização de envio:
1. O proprietário da identidade verifica uma identidade com o Amazon SES usando o console ou a API do
Amazon SES. Para obter informações sobre o processo de verificação, consulte Identidades (p. 158).
2. O remetente delegado permite que o proprietário da identidade saiba qual ARN de ID de conta da AWS
ou de usuário do IAM eles querem usar para envio.
3. Se o proprietário da identidade concordar em permitir que o remetente delegado envie a partir de uma
de suas contas, ele cria uma política de autorização de envio e anexa a política à identidade escolhida
usando o console do Amazon SES ou a API do Amazon SES.
4. O proprietário da identidade fornece ao remetente delegado o ARN da identidade, para que o remetente
delegado possa fornecer o ARN ao Amazon SES no momento do envio do e-mail.
5. O remetente delegado pode configurar notificações de devolução e de reclamação por meio de
publicação de eventos (p. 337) habilitada em um conjunto de configurações especificado durante o
envio delegado. O proprietário da identidade também pode configurar notificações de feedback de e-
mail para eventos de devolução e de reclamação a serem enviados para os tópicos do Amazon SNS do
remetente delegado.
Note
237
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
Important
As contas da AWS de ambos, o proprietário da identidade e o remetente delegado, devem ser
removidas do sandbox para que qualquer uma das contas possa enviar e-mails para endereços
não verificados.
7. Se o proprietário da identidade precisar cancelar a autorização do remetente delegado, o proprietário da
identidade editará a política de autorização de envio ou excluirá completamente a política. O proprietário
da identidade pode executar qualquer uma das ações usando o console do Amazon SES ou a API do
Amazon SES.
Para obter mais informações sobre como o proprietário da identidade ou o remetente delegado podem
realizar essas tarefas, consulte Tarefas do proprietário da identidade (p. 238) ou Tarefas do remetente
delegado (p. 247), respectivamente.
• Cotas de envio: os e-mails enviados das identidades do proprietário da identidade contam para as cotas
de envio do remetente delegado.
• Devoluções e reclamações: os eventos de devolução e reclamação são registrados na conta do
remetente delegado no Amazon SES e, dessa forma, podem afetar a reputação do remetente delegado.
• Assinatura DKIM: se o proprietário da identidade tiver habilitado a assinatura Easy DKIM para uma
identidade, todos os e-mails enviados dessa identidade serão assinados com DKIM, incluindo os e-mails
enviados por um remetente delegado. Somente o proprietário da identidade pode controlar se os e-mails
são assinados pelo DKIM.
• Notificações: o proprietário da identidade e o remetente delegado podem configurar notificações
para devoluções e reclamações. O proprietário da identidade de e-mail pode também habilitar o
encaminhamento de feedback por e-mail. Para obter informações sobre configuração de notificações,
consulte Monitoramento da atividade de envio do Amazon SES (p. 328).
• Verificação: os proprietários de identidade são responsáveis por seguir o procedimento em
Identidades (p. 158) para comprovar que eles são proprietários dos endereços de e-mail e domínios
que estão autorizando os remetentes delegados a usar. Os remetentes delegados não precisam verificar
os endereços de e-mail ou domínios especificamente para a autorização de envio.
Important
As contas da AWS de ambos, o proprietário da identidade e o remetente delegado, devem ser
removidas do sandbox para que qualquer uma das contas possa enviar e-mails para endereços
não verificados.
• Regiões da AWS – o remetente delegado deve enviar os e-mails da região da AWS na qual a identidade
do proprietário da identidade é verificada. A política de autorização de envio que dá permissão ao
remetente delegado deve ser anexada à identidade nessa região.
• Faturamento – todas as mensagens enviadas da conta do remetente delegado, incluindo e-mails que
o remetente delegado envia usando endereços do proprietário da identidade, são faturadas para o
remetente delegado.
238
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
Tópicos
• Verificação de uma identidade para autorização de envio do Amazon SES (p. 239)
• Configuração de notificações de proprietário de identidade para autorização de envio do Amazon
SES (p. 239)
• Obtenção de informações do remetente delegado para autorização de envio do Amazon
SES (p. 241)
• Criação de uma política para autorização de envio do Amazon SES (p. 242)
• Fornecimento das informações de identidade para autorização de envio do Amazon SES ao remetente
delegado (p. 245)
• Gerenciamento de suas políticas para autorização de envio do Amazon SES (p. 245)
Você pode confirmar que um endereço de e-mail ou domínio foi verificado conferindo o status na
seção Verified Identities (Identidades verificadas) do https://console.aws.amazon.com/ses/ ou usando a
GetIdentityVerificationAttributesoperação da API.
Para que você ou o remetente delegado possam enviar e-mails para endereços de e-mail não verificados,
é necessário enviar uma solicitação para que sua conta seja removida do sandbox do Amazon SES. Para
mais informações, consulte Saída da sandbox do Amazon SES (p. 32).
Important
A Conta da AWS do remetente delegado deve ser removida da sandbox para que possa ser
usada no envio de e-mails a endereços não verificados.
239
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
240
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
Uma maneira fácil de pensar sobre isso é que o primário (remetente delegado) é o beneficiário, e você
(proprietário da identidade) é o concedente na política de autorização onde está concedendo a eles
permissão para enviar qualquer combinação de e-mail, e-mail bruto, modelo de e-mail ou e-mail com
modelo em massa do recurso (identidade verificada) que você possui.
Se você quiser o controle mais refinado, peça ao remetente delegado que configure um usuário do IAM
para que apenas um remetente delegado possa enviar por você em vez de qualquer usuário na conta da
AWS do remetente delegado. O remetente delegado pode encontrar informações sobre a configuração de
um usuário do IAM em Criação de um usuário do IAM em sua conta da AWS no Guia do usuário do IAM.
Peça ao seu remetente delegado o ID da conta da AWS ou o nome do recurso da Amazon (ARN) do
usuário do IAM para que possa incluí-lo em sua política de autorização de envio. Você pode pedir para
o remetente delegado obter as instruções para encontrar essas informações em Fornecimento das
informações para o proprietário da identidade (p. 247). Se o remetente delegado estiver em um serviço
da AWS, consulte a documentação do serviço para determinar o nome do serviço.
O exemplo de política a seguir ilustra os elementos básicos do que é necessário em uma política criada
pelo proprietário da identidade para autorizar o remetente delegado a enviar do recurso do proprietário
da identidade. O proprietário da identidade entraria no fluxo de trabalho Verified identities (Identidades
verificadas) e, em Authorization (Autorização), usaria o gerador de políticas para criar, em sua forma mais
simples, a seguinte política básica que permita que o remetente delegado envie em nome de um recurso
de propriedade do proprietário da identidade:
Para a política acima, a seguinte legenda explica os elementos principais e quem os possui:
• Principal (Primário): este campo é preenchido com o ARN do usuário do IAM do remetente delegado.
• Action (Ação): este campo é preenchido com duas ações do SES (SendEmail e SendRawEmail) que
o proprietário da identidade está permitindo que o remetente delegado execute a partir do recurso do
proprietário da identidade.
241
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
• Resource (Recurso): este campo é preenchido com o recurso verificado do proprietário da identidade do
qual ele está autorizando o remetente delegado a enviar.
Você pode criar uma política de autorização de envio das seguintes formas:
• Usando gerador de políticas: você pode criar uma política simples usando o gerador de políticas no
console do Amazon SES. Além de especificar quem pode enviar os e-mails, você pode restringir o envio
de e-mails com condições de acordo com a hora e o período em que os e-mails podem ser enviados, o
endereço "From", o nome de exibição de "From", o endereço para o qual devoluções e reclamações são
enviadas, os endereços de destinatário e o IP de origem. Você também pode usar o gerador de políticas
para criar a estrutura de uma política simples e personalizá-la mais tarde editando a política.
• Criando uma política personalizada: se você desejar incluir condições mais avançadas ou usar um
serviço da AWS como principal, pode criar uma política personalizada e anexá-la à identidade usando o
console ou a API do Amazon SES.
As políticas de autorização de envio que você anexa a identidades de endereços de e-mail têm
precedência sobre as políticas que você anexa às identidades de domínio correspondentes. Por
exemplo, se você criar uma política para exemplo.com que não permita um remetente delegado
e criar uma política para [email protected] que permita remetente delegado, o remetente
delegado poderá enviar e-mails de [email protected], mas não de nenhum outro endereço
no domínio exemplo.com.
Se você criar uma política para example.com que permita um remetente delegado e criar
uma política para [email protected] que não permita o remetente delegado, o remetente
delegado poderá enviar e-mails de qualquer endereço no domínio example.com, exceto de
[email protected].
Você pode usar o gerador de políticas para criar uma política de autorização simples usando as etapas a
seguir.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. No contêiner Identities (Identidades), na tela Verified identities (Identidades verificadas), selecione a
identidade verificada que você deseja autorizar para que o remetente delegado envie em seu nome.
4. Na tela de detalhes da identidade verificada selecionada na etapa anterior, escolha a guia
Authorization (Autorização).
5. No painel Sending authorization policies (Políticas de autorização de envio), escolha Create policy
(Criar política) no canto inferior direito e selecione Use policy generator (Usar gerador de políticas) no
menu suspenso.
242
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
6. No painel Create statement (Criar instrução), escolha Allow (Permitir) no campo Effect (Efeito). (Se
você quiser criar uma política para restringir seu remetente delegado, escolha Deny (Negar) em vez
disso.)
7. No campo Principals (Primários), insira oID da Conta da AWS ou o ARN do usuário do IAM que seu
remetente delegado compartilhou com você para autorizá-lo a enviar emails em nome de sua conta
para essa identidade e, em seguida, escolha Add (Adicionar). (Se você deseja autorizar mais de um
remetente delegado, repita esta etapa para cada um.)
8. No campo Actions (Ações), marque a caixa de seleção para cada tipo de envio que você gostaria de
autorizar para o remetente delegado.
9. (Opcional) Expanda Specify conditions (Especificar condições) se você quiser adicionar uma
declaração de qualificação à permissão do remetente delegado.
a. No painel Configure SNS topics (Configurar tópicos do SNS), em qualquer um dos campos de
feedback, (devolução, reclamação ou entrega), selecione SNS topic you don’t own (Tópico do
SNS que você não possui) e insira o SNS topic ARN (ARN do tópico do SNS) de propriedade
e compartilhado com você pelo remetente delegado. (Somente o remetente delegado receberá
essas notificações porque eles são donos do tópico do SNS. Você, como proprietário da
identidade, não as receberá.)
b. (Opcional) Se você quiser que a notificação de tópico inclua os cabeçalhos do e-mail original,
marque a caixa Include original e-mail headers (Incluir cabeçalhos de e-mail originais) diretamente
abaixo do nome do tópico do SNS de cada tipo de feedback. Essa opção só está disponível se
você atribuiu um tópico do Amazon SNS ao tipo de notificação associado. Para obter informações
sobre o conteúdo dos cabeçalhos de e-mail originais, consulte o objeto mail em Conteúdo das
notificações (p. 217).
c. Selecione Save changes. As alterações feitas em suas configurações de notificação podem levar
alguns minutos para ter efeito.
d. (Opcional) Como o remetente delegado receberá notificações de tópicos do Amazon SNS para
devoluções e reclamações, você pode desabilitar completamente as notificações por e-mail se
não quiser receber feedback sobre os envios dessa identidade. Para desabilitar feedback de e-
243
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
Se você desejar criar uma política personalizada e anexá-la a uma identidade, tem as seguintes opções:
• Usando a API do Amazon SES: crie uma política em um editor de texto e, em seguida, anexe a política à
identidade usando a API PutIdentityPolicy descrita na Referência da API do Amazon Simple Email
Service.
• Como usar o console do Amazon SES: crie uma política em um editor de texto e anexe-a a uma
identidade colando-a no editor de políticas personalizadas no console do Amazon SES. O procedimento
a seguir descreve esse método.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. No contêiner Identities (Identidades), na tela Verified identities (Identidades verificadas), selecione a
identidade verificada que você deseja autorizar para que o remetente delegado envie em seu nome.
4. Na tela de detalhes da identidade verificada selecionada na etapa anterior, escolha a guia
Authorization (Autorização).
5. No painel Sending authorization policies, escolha Create policy no canto inferior direito e selecione
Create custom policy no menu suspenso.
6. No painel Policy document, cole o texto da sua política.
7. Selecione Apply Policy (Aplicar política). (Se você precisar modificar sua política personalizada, basta
marcar a caixa de seleção abaixo da guia Authorization (Autorização), escolher Edit (Editar) e fazer as
alterações no painel Policy document (Documento de política) seguido de Save changes (Salvar as
alterações).
8. (Opcional) Se o remetente delegado também quiser usar um tópico do SNS que ele possui, receber
notificações de feedback quando receber devoluções ou reclamações ou quando os emails forem
entregues, você precisará configurar o tópico do SNS nessa identidade verificada. (Seu remetente
delegado precisará compartilhar com você o ARN do tópico do SNS.) Selecione a guia Notifications
(Notificações) e selecione Edit (Editar) no contêiner Feedback notifications (Notificações de feedback):
a. No painel Configure SNS topics (Configurar tópicos do SNS), em qualquer um dos campos de
feedback, (devolução, reclamação ou entrega), selecione SNS topic you don’t own (Tópico do
SNS que você não possui) e insira o SNS topic ARN (ARN do tópico do SNS) de propriedade
e compartilhado com você pelo remetente delegado. (Somente o remetente delegado receberá
essas notificações porque eles são donos do tópico do SNS. Você, como proprietário da
identidade, não as receberá.)
b. (Opcional) Se você quiser que a notificação de tópico inclua os cabeçalhos do e-mail original,
marque a caixa Include original e-mail headers (Incluir cabeçalhos de e-mail originais) diretamente
abaixo do nome do tópico do SNS de cada tipo de feedback. Essa opção só está disponível se
você atribuiu um tópico do Amazon SNS ao tipo de notificação associado. Para obter informações
sobre o conteúdo dos cabeçalhos de e-mail originais, consulte o objeto mail em Conteúdo das
notificações (p. 217).
244
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
c. Selecione Save changes. As alterações feitas em suas configurações de notificação podem levar
alguns minutos para ter efeito.
d. (Opcional) Como o remetente delegado receberá notificações de tópicos do Amazon SNS para
devoluções e reclamações, você pode desabilitar completamente as notificações por e-mail se
não quiser receber feedback sobre os envios dessa identidade. Para desabilitar feedback de e-
mail para devoluções e reclamações, na guia Notifications (Notificações), no contêiner e-mail
Feedback Forwarding (Encaminhamento de feedback de e-mail), escolha Edit (Editar), desmarque
a caixa Enabled (Habilitado) e escolha Save changes (Salvar as alterações). As notificações de
status de entrega agora só serão enviadas para os tópicos do SNS de propriedade do remetente
delegado.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de identidades, escolha a identidade à qual você anexou a política de autorização de envio.
4. No painel Summary (Resumo), a segunda coluna, nome do recurso da Amazon (ARN), contém
o ARN da identidade. Ele será semelhante a arn:aws:ses:us-east-1:123456789012:identity/
[email protected]. Copie todo o ARN e entregue-o ao remetente delegado.
Recomendamos usar a console do Amazon SES para editar uma política. Se você quiser usar a API do
Amazon SES, use a operação GetIdentityPolicies para recuperar a política, edite a política usando um
editor de texto e, em seguida, use a operação PutIdentityPolicy para substituir a política mais antiga.
As etapas a seguir mostram como editar uma política usando o console do Amazon SES.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
245
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
3. Na lista de identidades, escolha a identidade que está associada à política que você deseja editar.
4. No painel de detalhes da identidade, escolha a guia Authorization (Autorização).
5. Marque a caixa de seleção ao lado da política que você quer editar e escolha Edit (Editar).
6. No painel Policy document (Documento da Política), edite a política e, em seguida, escolha Save
changes (Salvar alterações).
Para revogar permissões a qualquer momento, você pode simplesmente remover a política. Você pode
remover uma política usando a operação da API DeleteIdentityPolicy ou você pode usar o console do
Amazon SES, conforme descrito no seguinte procedimento.
Important
Depois de remover uma política, não é possível recuperá-la. Recomendamos que você faça
backup da política copiando e colando-a em um arquivo de texto antes de remover a política.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de identidades, escolha a identidade que está associada à política que você deseja remover.
4. No painel de detalhes da identidade, escolha a guia Authorization (Autorização).
5. Marque a caixa de seleção ao lado da política que você quer remover e escolha Delete (Excluir).
6. Na caixa de diálogo de confirmação suspensa Delete Policy? (Excluir Política?), escolha Delete
(Excluir).
Você pode listar as políticas que são anexadas a uma identidade usando a operação da API
ListIdentityPolicies. Você também pode recuperar as políticas em si, usando a operação da API
GetIdentityPolicies.
Você também pode usar o console do Amazon SES para realizar ambas as tarefas, conforme descrito no
seguinte procedimento.
Para listar e mostrar as políticas anexadas a uma identidade usando o console do Amazon SES.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de identidades, escolha a identidade que está associada à política que você deseja exibir.
4. No painel de detalhes da identidade, escolha a guia Authorization (Autorização).
5. Marque a caixa de seleção ao lado da política que você quer exibir e escolha View policy (Visualizar
política).
6. Na caixa de diálogo suspensa View policy (Exibir política), você pode visualizar sua política, e
se precisar de uma cópia dela, escolha o botão Copy (Copiar) e ela será copiada para a área de
transferência.
246
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
Se você quiser usar seus próprios tópicos do SNS, você pode solicitar que seu proprietário de identidade
configure notificações de feedback para devoluções, reclamações ou entregas a serem enviadas para um
ou mais tópicos do SNS. Para fazer isso, você precisará compartilhar seu ARN do tópico do SNS com seu
proprietário de identidade para que ele possa configurar seu tópico do SNS na identidade verificada da
qual ele está autorizando você a enviar.
Os procedimentos a seguir explicam como encontrar as informações da conta e os ARNs dos tópicos do
SNS a compartilhar com o proprietário da identidade.
247
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
Se as taxas de devolução ou reclamação de sua conta ficarem muito altas, sua conta corre o risco de ser
colocara sob revisão ou de ter sua capacidade de enviar e-mails pausada. Por esse motivo, é importante
que você configure notificações e tenha um processo para monitorá-las. Você também precisa ter um
processo para remover endereços que foram devolvidos ou reclamados de suas listas de correspondência.
Portanto, como remetente delegado, você pode configurar o Amazon SES para enviar notificações
quando ocorrerem eventos de devolução e reclamação para os e-mails enviados em nome de quaisquer
identidades das quais você não seja o proprietário, mas que foi autorizado a usar pelo proprietário. Você
também pode configurar a publicação de eventos (p. 337) para publicar notificações de devolução e
reclamação no Amazon SNS ou no Kinesis Data Firehose.
Note
Se você configurar o Amazon SES para enviar notificações usando o Amazon SNS, será
cobrado pelas taxas padrão do Amazon SNS para as notificações que receber. Para obter mais
informações, consulte a página de Definição de preços do Amazon SNS.
Tópicos
• Suporte herdado de notificações entre contas (p. 248)
• Edição de uma configuração de notificação entre contas herdadas do Amazon SES (p. 249)
• Visualização das notificações de identidade entre contas herdadas do Amazon SES (p. 250)
• Remoção de uma configuração de notificação de identidade entre contas herdadas do Amazon
SES (p. 250)
• Criar uma nova notificação de remetente delegado (p. 250)
As notificações entre contas eram um conceito de console clássico do Amazon SES no qual você
associaria um tópico a uma identidade que não possuía (essa é a conta cruzada). No novo console SES,
isso foi substituído pelo uso de conjuntos de configurações e identidades verificadas em associação com
o envio de delegados onde você está autorizado a usar a identidade de outra pessoa (depois que eles lhe
deram permissão) para enviar e-mail. Esse novo método permite a flexibilidade de configurar notificações
de devolução, reclamação, entrega e outras notificações de evento por duas construções, dependendo se
você for o remetente delegado ou o proprietário da identidade verificada:
248
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
Note
Para compatibilidade, notificações entre contas estão sendo suportadas para notificações
herdadas entre contas que estão sendo usadas atualmente em sua conta. Esse suporte se
limita a poder modificar e usar todas as contas cruzadas atuais que você criou usando o console
clássico do Amazon SES; no entanto, você não pode mais criar uma nova notificação entre
contas. Para criar novas notificações no novo console do Amazon SES, use os novos métodos de
envio delegado com conjuntos de configurações usando publicação de eventos (p. 277), ou com
identidades verificadas configuradas com seus próprios tópicos do SNS (p. 243).
Recomendamos usar o console do Amazon SES para editar configurações de notificação. Se você desejar
usar a API do Amazon SES, use a operação de API SetIdentityNotificationTopic e passe o nome do
recurso da Amazon (ARN) da identidade como o parâmetro Identity.
As etapas a seguir mostram como editar uma configuração de notificação entre contas usando o console
do Amazon SES.
Para editar uma configuração de notificação entre contas usando o console do Amazon SES
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação à esquerda, escolha Cross-Account Notifications (Notificações entre contas).
3. No painel Cross-account identities (Identidades entre contas), escolha a identidade que você quer
editar marcando sua caixa de seleção.
4. Selecione Edit.
5. No painel Configure SNS topics (Configurar tópicos do SNS), expanda qualquer um dos campos do
tópico de feedback, (devoluções, reclamações ou entregas), e escolha um tópico do SNS que você
possua,No SNS topic (Nenhum tópico do SNS), Create SNS topic (Criar tópico do SNS), ou SNS topic
you don’t own (Tópico do SNS que você não possui).
a. Se você escolheu SNS topic you don’t own (Tópico do SNS que você não possui), insira o SNS
topic ARN (ARN do tópico do SNS) compartilhado com você pelo proprietário do tópico.
b. Se você escolheu Create SNS topic (Criar tópico do SNS), um modal é apresentado, onde você
insere um nome no campo Topic name (Nome do tópico) com uma opção para inserir um nome
de exibição se você pretende receber notificações por AWS SMS. Depois de escolher Create
topic (Criar tópico), o tópico estará disponível para você escolher em qualquer um dos campos de
tópico de feedback.
6. (Opcional) Se você quiser que a notificação de tópico inclua os cabeçalhos do e-mail original, marque
a caixa Include original e-mail headers (Incluir cabeçalhos de e-mail originais) diretamente abaixo do
nome do tópico do SNS de cada tipo de feedback. Essa opção só está disponível se você atribuiu um
tópico do Amazon SNS ao tipo de notificação associado. Para obter informações sobre o conteúdo
dos cabeçalhos de e-mail originais, consulte o objeto mail em Conteúdo das notificações (p. 217).
7. Selecione Save changes. As alterações feitas em suas configurações de notificação podem levar
alguns minutos para ter efeito.
249
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
Para visualizar suas configurações de notificação entre contas usando o console do Amazon SES
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação à esquerda, escolha Cross-Account Notifications (Notificações entre contas).
3. No painel Cross-account identities (Identidades entre contas), os ARNs de quaisquer identidades
entre contas que você tenha sido autorizado a usar são listados junto com colunas para exibir sua
configuração de tópico do SNS para devoluções, reclamações e entregas.
As etapas a seguir mostram como remover uma configuração de notificação entre contas usando o
console do Amazon SES.
Para remover uma configuração de notificação entre contas usando o console do Amazon SES
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação à esquerda, escolha Cross-Account Notifications (Notificações entre contas).
3. Na lista Cross-account identities (Identidades entre contas), marque a caixa de seleção ao lado da
identidade entre contas que você deseja remover e escolha Delete (Excluir).
4. Na caixa de diálogo suspensa de confirmação Delete cross-account identity? (Excluir identidade entre
contas?), escolha Confirm (Confirmar).
250
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
de eventos (p. 277), ou com identidades verificadas configuradas com seus próprios tópicos do
SNS (p. 243).
Os procedimentos são fornecidos abaixo para configurar novas notificações de envios delegados usando
qualquer um dos métodos:
Para configurar a publicação de eventos por meio de um conjunto de configurações para seu
envio delegado
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. Siga os procedimentos em Criar destinos de eventos (p. 277).
3. Depois de configurar a publicação de eventos em seu conjunto de configurações, especifique o
nome do conjunto de configurações ao enviar e-mail como remetente delegado usando a identidade
verificada da qual o proprietário da identidade autorizou você a enviar. Consulte Envio de e-mails para
o proprietário da identidade (p. 251).
Para configurar notificações de feedback para tópicos do SNS que você possui para seu envio
delegado
1. Depois de decidir quais tópicos do SNS você gostaria de usar para notificações de feedback, siga
os procedimentos para encontrar o ARN do tópico do SNS (p. 247) e copie o ARN completo e
compartilhe-o com o proprietário da sua identidade.
2. Peça ao proprietário da identidade que configure seus tópicos do SNS para notificações de feedback
sobre a identidade compartilhada que ele autorizou você a enviar. (O proprietário da sua identidade
precisará seguir os procedimentos fornecidos para configurar tópicos do SNS (p. 243) nos
procedimentos da política de autorização.)
Há várias formas de especificar o ARN da identidade quando você envia um e-mail. O método que você
usa depende se o e-mail é enviado usando as operações de API do Amazon SES ou a interface SMTP do
Amazon SES.
Important
Para que um e-mail seja enviado com êxito, é necessário conectar ao endpoint do Amazon SES
na região da AWS em que o proprietário da identidade a verificou.
Além disso, as contas da AWS de ambos, o proprietário da identidade e o remetente delegado,
devem ser removidas do sandbox para que qualquer uma delas possa enviar e-mails para
endereços não verificados. Para mais informações, consulte Saída da sandbox do Amazon
SES (p. 32).
251
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
possível escolher entre uma das três ações de envio de e-mails: SendEmail, SendTemplatedEmail
e SendRawEmail. A Referência da API do Amazon Simple Email Service descreve os detalhes dessas
APIs, mas fornecemos uma visão geral dos parâmetros de autorização de envio aqui.
SendRawEmail
Se você deseja usar SendRawEmail para poder controlar o formato de seus e-mails, você pode
especificar a identidade autorizada delegada entre contas usando uma de duas formas:
• Passe parâmetros opcionais para a API SendRawEmail. Os parâmetros necessário são descritos na
tabela a seguir:
Parâmetro Descrição
• Inclua cabeçalhos X no e-mail. Cabeçalhos X são cabeçalhos personalizados que você pode usar, além
dos cabeçalhos de e-mail padrão (como os cabeçalhos De, Responder para ou Assunto). O Amazon
SES reconhece três cabeçalhos X que você pode usar para especificar os parâmetros de autorização de
envio:
Important
Não inclua esses cabeçalhos X na assinatura DKIM, pois eles são removidos pelo Amazon SES
antes de enviar o e-mail.
Cabeçalho X Descrição
O Amazon SES remove todos os cabeçalhos X do e-mail antes de enviá-lo. Se você incluir várias
instâncias de um cabeçalho X, o Amazon SES só usará a primeira instância.
252
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
X-SES-SOURCE-ARN: arn:aws:ses:us-east-1:123456789012:identity/example.com
X-SES-FROM-ARN: arn:aws:ses:us-east-1:123456789012:identity/example.com
X-SES-RETURN-PATH-ARN: arn:aws:ses:us-east-1:123456789012:identity/example.com
From: [email protected]
To: [email protected]
Return-Path: [email protected]
Subject: subject
Content-Type: multipart/alternative;
boundary="----=_boundary"
------=_boundary
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
body
------=_boundary
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit
body
------=_boundary--
SendEmail e SendTemplatedEmail
Parâmetro Descrição
O exemplo a seguir mostra como enviar um e-mail que inclua os atributos SourceArn e ReturnPathArn
usando a operação SendEmail ou SendTemplatedEmail e o SDK for Python.
import boto3
from botocore.exceptions import ClientError
253
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
},
Message={
'Body': {
'Html': {
'Charset': 'UTF-8',
'Data': 'This email was sent with Amazon SES.',
},
},
'Subject': {
'Charset': 'UTF-8',
'Data': 'Amazon SES Test',
},
},
SourceArn='arn:aws:ses:us-east-1:123456789012:identity/example.com',
ReturnPathArn='arn:aws:ses:us-east-1:123456789012:identity/example.com',
Source='[email protected]',
ReturnPath='[email protected]'
)
# Display an error if something goes wrong.
except ClientError as e:
print(e.response['Error']['Message'])
else:
print("Email sent! Message ID:"),
print(response['ResponseMetadata']['RequestId'])
Quando você usa a interface SMTP do Amazon SES para envio entre contas, tem que incluir os
cabeçalhos X-SES-SOURCE-ARN, X-SES-FROM-ARN e X-SES-RETURN-PATH-ARN em sua mensagem.
Transmita esses cabeçalhos depois que executar o comando DATA na conversa SMTP.
Você pode criar uma política de autorização de envio das seguintes formas:
• Usando o gerador de políticas: você pode criar uma política simples usando o gerador de políticas no
console do Amazon SES. Além de especificar quem pode enviar os e-mails, você pode especificar
condições baseadas na hora e no intervalo de datas em que os e-mails podem ser enviados, o endereço
"From" (De), o nome de exibição de "From", o endereço para o qual devoluções e reclamações são
enviadas, os endereços dos destinatários e o IP de origem. Você também pode usar o gerador de
políticas para criar a estrutura de uma política simples e personalizá-la mais tarde editando a política em
JSON.
• Criando uma política personalizada: se você desejar incluir condições mais avançadas ou especificar um
serviço da AWS como principal, pode criar uma política personalizada e anexá-la à identidade usando o
console ou a API do Amazon SES.
Anatomia da política
As políticas seguem uma estrutura específica, contêm elementos específicos e devem atender a
determinados requisitos.
254
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
Estrutura da política
Cada política de autorização de envio é um documento JSON que está anexado a uma identidade. Cada
política inclui as seções a seguir:
O seguinte exemplo de política concede ao ID da AWS 123456789012 permissão para enviar a partir do
domínio verificado example.com.
{
"Id":"ExampleAuthorizationPolicy",
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AuthorizeAccount",
"Effect":"Allow",
"Resource":"arn:aws:ses:us-east-1:123456789012:identity/example.com",
"Principal":{
"AWS":[
"123456789012"
]
},
"Action":[
"ses:SendEmail",
"ses:SendTemplatedEmail",
"ses:SendRawEmail",
"ses:SendBulkTemplatedEmail"
]
}
]
}
Elementos da política
Esta seção descreve os elementos contidos nas políticas de autorização de envio. Primeiro, descrevemos
elementos que se aplicam a toda a política e, em seguida, descrevemos os elementos que se aplicam
somente à instrução em que estão incluídos. Seguimos com uma discussão sobre como adicionar
condições às instruções.
Para obter informações específicas sobre a sintaxe dos elementos, consulte Gramática da linguagem de
política do IAM no Manual do usuário do IAM.
Informações da política
Há dois elementos que se aplicam à política como um todo: Id e Version. A tabela a seguir fornece
informações sobre esses elementos.
255
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
As políticas de autorização de envio requerem pelo menos uma instrução. Cada instrução pode incluir os
elementos descritos na tabela a seguir.
256
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
É possível especificar
uma ou mais dessas
operações. Também
é possível especificar
"ses:Send*" para
abranger todas essas
operações. Se o
remetente delegado
planeja enviar e-
mails usando a
interface SMTP, é
necessário especificar
"ses:SendRawEmail" ou
usar "ses:Send*".
Condições
Uma condição é qualquer restrição sobre a permissão na instrução. A parte da instrução que especifica as
condições pode ser a mais detalhada de todas as partes. Uma chave é a característica específica que é a
base para a restrição de acesso, como a data e a hora da solicitação.
Você usa ambas as condições e as chaves em conjunto para expressar a restrição. Por exemplo, se você
deseja impedir que o remetente delegado faça solicitações ao Amazon SES em seu nome após 30 de julho
de 2019, use a condição chamada DateLessThan. Você usa a chave chamada aws:CurrentTime e a
define para o valor 2019-07-30T00:00:00Z.
Você pode usar qualquer uma das chaves que abrangem toda a AWS, listadas em Chaves disponíveis no
Guia do usuário do IAM, ou uma das seguintes chaves específicas do Amazon SES:
257
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
Você pode usar as condições StringEquals e StringLike com as chaves do Amazon SES. Essas
condições são para correspondência de strings maiúsculas e minúsculas. Para StringLike, os valores
podem incluir uma correspondência de vários caracteres curinga (*) ou uma correspondência de um único
caractere curinga (?) em qualquer lugar da string. Por exemplo, a condição a seguir especifica que o
remetente delegado só pode enviar a partir de um endereço "From" que começa com invoicing e termina
com example.com:
"Condition": {
"StringLike": {
"ses:FromAddress": "invoicing*@example.com"
}
}
Também é possível usar a condição StringNotLike para impedir que remetentes delegados
enviem e-mails de determinados endereços de e-mail. Por exemplo, você pode não permitir o envio
de [email protected], bem como de endereços semelhantes, como "admin"@exemplo.com, admin
[email protected] ou [email protected], incluindo a seguinte condição na instrução de sua
política:
"Condition": {
"StringNotLike": {
"ses:FromAddress": "*admin*example.com"
}
}
Para obter mais informações sobre como especificar condições, consulte Elementos de política JSON do
IAM: condição no Manual do usuário do IAM.
Requisitos de política
258
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
• Usando a API do Amazon SES: crie uma política em um editor de texto e, em seguida, anexe a política à
identidade usando a API PutIdentityPolicy.
• Usando o console do Amazon SES: crie uma política em um editor de texto e anexe-a a uma identidade
seguindo as etapas em Criação de uma política personalizada (p. 244).
Exemplos de políticas
A autorização de envio permite que você especifique as condições detalhadas sob as quais você permite
que remetentes delegados enviem em seu nome.
Os exemplos a seguir mostram como escrever políticas para controlar diferentes aspectos de envio:
• Especificação do remetente delegado (p. 259)
• Restrição do endereço "From" (De) (p. 261)
• Restrição da hora em que o delegado pode enviar e-mail (p. 261)
• Restrição da ação de envio de e-mail (p. 262)
• Restrição do nome de exibição do remetente do e-mail (p. 263)
• Uso de várias instruções (p. 263)
O exemplo a seguir mostra uma política simples que permite ao ID da AWS 123456789012 enviar e-
mail da identidade verificada exemplo.com (que pertence à conta da Conta da AWS 888888888888).
A instrução Condition nesta política permite que apenas o delegado (ou seja, o ID da AWS
123456789012) envie e-mail do endereço marketing+.*@example.com, em que .* é qualquer string que o
remetente deseje adicionar depois de marketing+.
{
"Id":"SampleAuthorizationPolicy",
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AuthorizeMarketer",
"Effect":"Allow",
"Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com",
"Principal":{
"AWS":[
"123456789012"
]
},
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Condition":{
"StringLike":{
"ses:FromAddress":"marketing+.*@example.com"
}
}
}
]
}
O seguinte exemplo de política concede permissão a dois usuários do IAM para enviar de identidade
exemplo.com. Os usuários do IAM são especificados pelo nome do recurso da Amazon (ARN).
259
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
{
"Id":"ExampleAuthorizationPolicy",
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AuthorizeIAMUser",
"Effect":"Allow",
"Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com",
"Principal":{
"AWS":[
"arn:aws:iam::111122223333:user/John",
"arn:aws:iam::444455556666:user/Jane"
]
},
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
]
}
]
}
O seguinte exemplo de política concede permissão ao Amazon Cognito para enviar da identidade
exemplo.com.
{
"Id":"ExampleAuthorizationPolicy",
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AuthorizeService",
"Effect":"Allow",
"Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com",
"Principal":{
"Service":[
"cognito-idp.amazonaws.com"
]
},
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Condition": {
"StringEquals": {
"aws:SourceAccount": "888888888888",
"aws:SourceArn": "arn:aws:cognito-idp:us-east-1:888888888888:userpool/your-user-
pool-id-goes-here"
}
}
}
]
}
O seguinte exemplo de política concede a todas as contas de uma organização da AWS permissão para
enviar da identidade exemplo.com. A organização da AWS é especificada usando a chave de condição
global PrincipalOrgID.
{
"Id":"ExampleAuthorizationPolicy",
"Version":"2012-10-17",
"Statement":[
{
260
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
"Sid":"AuthorizeOrg",
"Effect":"Allow",
"Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com",
"Principal":"*",
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Condition":{
"StringEquals":{
"aws:PrincipalOrgID":"o-xxxxxxxxxxx"
}
}
}
]
}
{
"Id":"ExamplePolicy",
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AuthorizeFromAddress",
"Effect":"Allow",
"Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com",
"Principal":{
"AWS":[
"123456789012"
]
},
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Condition":{
"StringEquals":{
"ses:FromAddress":"[email protected]"
}
}
}
]
}
{
"Id":"ExamplePolicy",
"Version":"2012-10-17",
261
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
"Statement":[
{
"Sid":"ControlTimePeriod",
"Effect":"Allow",
"Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com",
"Principal":{
"AWS":[
"123456789012"
]
},
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Condition":{
"DateGreaterThan":{
"aws:CurrentTime":"2021-08-31T12:00Z"
},
"DateLessThan":{
"aws:CurrentTime":"2021-10-01T12:00Z"
}
}
}
]
}
Se você deseja permitir que o remetente delegado acesse o Amazon SES por meio da interface
SMTP, escolha SendRawEmail no mínimo.
Se seu caso de uso envolve restringir a ação, você pode fazer isso incluindo apenas uma das ações em
sua política de autorização de envio. O exemplo a seguir mostra como restringir a ação a SendRawEmail.
{
"Id":"ExamplePolicy",
"Version":"2012-10-17",
"Statement":[
{
"Sid":"ControlAction",
"Effect":"Allow",
"Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com",
"Principal":{
"AWS":[
"123456789012"
]
},
"Action":[
"ses:SendRawEmail"
]
}
]
}
262
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
{
"Id":"ExamplePolicy",
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AuthorizeFromAddress",
"Effect":"Allow",
"Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com",
"Principal":{
"AWS":[
"123456789012"
]
},
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Condition":{
"StringLike":{
"ses:FromDisplayName":"Marketing"
}
}
}
]
}
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AuthorizeAWS",
"Effect":"Allow",
"Resource":"arn:aws:ses:us-east-1:999999999999:identity/[email protected]",
"Principal":{
"AWS":[
"111111111111",
"222222222222"
]
},
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
263
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio
"Condition":{
"StringLike":{
"ses:FromAddress":"*@example.com",
"ses:FeedbackAddress":"*@example.com"
}
}
},
{
"Sid":"AuthorizeInternal",
"Effect":"Allow",
"Resource":"arn:aws:ses:us-east-1:999999999999:identity/[email protected]",
"Principal":{
"AWS":"arn:aws:iam::333333333333:user/Jane"
},
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Condition":{
"ForAllValues:StringLike":{
"ses:Recipients":"*@example.com"
}
}
}
]
}
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, escolha Verified identities (Identidades verificadas).
3. Na lista de identidades, escolha a identidade que você quer gerenciar.
4. Na página Identity details, vá até a guia Authorization (Autorização). Aqui você encontrará uma lista de
todas as políticas anexadas a essa identidade.
5. Selecione a política que você deseja gerenciar marcando a caixa de seleção.
6. Dependendo da tarefa de gerenciamento desejada, escolha o respectivo botão da seguinte forma:
264
Amazon Simple Email Service Guia do desenvolvedor
Enviar e-mails de teste com o simulador
• Você pode listar as políticas que são anexadas a uma identidade usando a operação da API
ListIdentityPolicies. Você também pode recuperar as políticas em si, usando a operação da API
GetIdentityPolicies.
• Você pode editar uma política que está anexada a uma identidade usando a operação da API
PutIdentityPolicy.
• Você pode editar uma política que está anexada a uma identidade usando a DeleteIdentityPolicy API
operation (operação da API ExcluirPolíticaIdentidade).
Os tópicos a seguir explicam como usar o simulador de caixa postal do console e manualmente enviando
e-mails:
• Uso do simulador de caixa postal do console (p. 265)
• Uso do simulador de caixa postal manualmente. (p. 266)
Neste tutorial, você enviará um e-mail para si mesmo, para que possa verificar se o receberá.
Para fazer mais experimentos ou testes de carga, use o simulador de caixa postal do Amazon
SES. Os e-mails enviados ao simulador de caixa postal não contam para sua cota de envio nem
para suas taxas de devoluções e reclamações. Para obter mais informações, consulte . Uso do
simulador de caixa postal manualmente. (p. 266).
Antes de seguir estas etapas, conclua as tarefas em Configuração do Amazon Simple Email
Service (p. 29).
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration, escolha Verified identities.
3. Na tabelaIdentities, selecione uma identidade de e-mail verificada (clicando diretamente no nome
da identidade em vez de marcar sua caixa de seleção). Se você não tiver uma identidade de e-mail
verificada, consulte Criação da identidade de um endereço de e-mail (p. 168).
265
Amazon Simple Email Service Guia do desenvolvedor
Uso do simulador de caixa postal manualmente.
• Formatted (Formatado): esta é a opção mais simples. Escolha essa opção se você simplesmente
deseja digitar o texto da sua mensagem na caixa de texto Body. Quando você envia o e-mail, o
Amazon SES coloca o texto no formato de e-mail para você.
• Raw (Bruto): escolha esta opção se você desejar enviar uma mensagem mais complexa, como
uma mensagem que inclui HTML ou um anexo. Devido a essa flexibilidade, você precisa formatar
a mensagem, como descrito em Enviar e-mail bruto usando a API do Amazon SES (p. 79), e colar
toda a mensagem formatada, incluindo os cabeçalhos, na caixa de texto Body. Você pode usar o
exemplo a seguir, que contém HTML, para enviar um e-mail de teste usando o formato Raw. Copie
e cole essa mensagem inteira na caixa de texto Body. Certifique-se de que não haja uma linha em
branco entre o cabeçalho MIME-Version e o cabeçalho Content-Type; uma linha em branco
entre essas duas linhas faz com que o e-mail seja formatado como texto sem formatação em vez de
HTML.
<!DOCTYPE html>
<html>
<body>
<h1>This text should be large, because it is formatted as a header in HTML.</h1>
<p>Here is a formatted link: <a href="https://docs.aws.amazon.com/ses/latest/
DeveloperGuide/Welcome.html">Amazon Simple Email Service Developer Guide</a>.</p>
</body>
</html>
6. Escolha o tipo de cenário de e-mail simulado que você deseja testar expandindo a caixa de
listagemScenario.
• Se você escolher Custom e ainda estiver na sandbox do Amazon SES, certifique-se de que o
endereço no campo Custom recipient seja um endereço de e-mail verificado. Para obter mais
informações, consulte . Criação da identidade de um endereço de e-mail (p. 168).
7. Preencha os campos restantes conforme desejado.
8. Escolha Send Test Email.
9. Faça login no cliente de e-mail do endereço de destino da mensagem. Você encontrará a mensagem
que enviou.
Considerações importantes
Considere os seguintes recursos e limitações ao usar o simulador de caixa postal do Amazon SES:
• Você pode usar o simulador de caixa postal mesmo se sua conta estiver no sandbox do Amazon SES.
• Os e-mails enviados ao simulador de caixa postal estão restritos à taxa máxima de envio da conta, mas
isso não afeta sua cota de envio diário. Por exemplo, se a conta tiver autorização para enviar 10.000
266
Amazon Simple Email Service Guia do desenvolvedor
Uso do simulador de caixa postal manualmente.
mensagens durante um período de 24 horas e você enviar 100 mensagens para o simulador de caixa
postal, ainda assim poderá enviar até 10.000 mensagens aos destinatários regulares sem atingir sua
cota de envio.
• Os e-mails enviados ao simulador de caixa postal não afetam sua capacidade de entrega de e-mail nem
as métricas de reputação. Por exemplo, se enviar um grande número de mensagens ao endereço de
devolução do simulador de e-mail, isso gera uma mensagem avisando que sua taxa de devolução está
muito alta na página do console te métricas de reputação (p. 425).
• Para fins de faturamento, os e-mails enviados ao simulador de caixa postal do Amazon SES são iguais
a qualquer outro e-mail enviado por meio do Amazon SES. Em outras palavras, cobramos o mesmo
valor tanto para mensagens enviadas ao simulador de caixa postal quanto para mensagens enviadas a
destinatários normais.
• O simulador de caixa postal comporta marcação, o que permite que você envie e-mails de várias
maneiras ao mesmo endereço do simulador de caixa postal ou teste de que forma seu aplicativo lida
com o Variable Envelope Return Path (VERP). Por exemplo, você pode enviar um e-mail para bounce
[email protected] e [email protected] para testar se seu
aplicativo consegue estabelecer uma correspondência entre uma mensagem de devolução e o endereço
de e-mail que provocou a devolução.
• Se usar o simulador de caixa postal para simular várias devoluções provenientes da mesma solicitação
de envio, o Amazon SES reunirá as respostas de devolução em uma única resposta.
Quando você envia um e-mail para um endereço do simulador de caixa postal, deve enviá-lo por
meio do Amazon SES, usando a AWS CLI, um AWS SDK, o console do Amazon SES, a interface
SMTP do Amazon SES ou a API do Amazon SES. O simulador de caixa postal não responde a e-
mails recebidos de fontes externas.
267
Amazon Simple Email Service Guia do desenvolvedor
Uso do simulador de caixa postal manualmente.
O simulador de caixa postal do Amazon SES não inclui um endereço para testar eventos de rejeição. No
entanto, você pode testar eventos de rejeição usando um arquivo de teste European Institute for Computer
Antivirus Research (EICAR). Esse arquivo é um método padrão do setor para testar software antivírus de
uma maneira segura. Para criar um arquivo de teste EICAR, cole o texto a seguir em um arquivo:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
Salve o arquivo como sample.txt, anexe-o a um e-mail e, em seguida, envie o e-mail para um endereço
verificado. Se não houver outros problemas com o e-mail, o Amazon SES aceitará a mensagem, mas em
seguida a rejeitará como se tivesse um vírus real.
268
Amazon Simple Email Service Guia do desenvolvedor
Uso do simulador de caixa postal manualmente.
Note
Os e-mails rejeitados, incluindo os enviados usando o procedimento anterior, contam para a sua
cota de envio diária. Você é cobrado por toda mensagem enviada, incluindo aquelas que são
rejeitadas.
Para saber mais sobre os arquivos de teste EICAR, consulte a página de arquivos de teste da EICAR na
Wikipédia.
269
Amazon Simple Email Service Guia do desenvolvedor
Criar um conjunto de configurações
Você pode usar conjuntos de configurações para aplicar os seguintes tipos de regras ao envio de emails e
pode conter um, ambos ou nenhum desses tipos:
• Event destinations (Destinos de eventos): permite que você publique métricas de envio de e-mail,
incluindo o número de envios, entregas, aberturas, cliques, devoluções e reclamações, para outros
produtos da AWS para cada e-mail enviado. Por exemplo, você pode enviar suas métricas de e-
mail para um destino do Amazon Kinesis Data Firehose e analisá-lo usando o Amazon Kinesis Data
Analytics. Como alternativa, é possível enviar informações de devolução e reclamação ao Amazon SNS
e receber notificações imediatamente quando esses eventos ocorrerem.
• IP pool management (Gestão do grupo de IPs): se você aluga endereços IP dedicados para uso com
o Amazon SES, você pode criar grupos desses endereços, denominados dedicated IP pools (grupos
de IPs dedicados), para serem usados para o envio de tipos específicos de e-mails. Por exemplo,
você pode associar esses grupos de IPs dedicados a conjuntos de configurações e usar um conjunto
para enviar comunicações de marketing e outro para enviar emails transacionais. Sua reputação de
remetente para e-mails transacionais é, então, isolada daquela dos seus e-mails de marketing.
Para associar um conjunto de configurações a uma identidade verificada, isso pode ser feito das seguintes
formas:
• Inclua uma referência ao conjunto de configurações nos cabeçalhos do e-mail. Para obter mais
informações sobre como especificar conjuntos de configurações em seus e-mails, consulte
Especificação de um conjunto de configurações ao enviar e-mail (p. 285).
• Especifique um conjunto de configurações existente a ser usado como conjunto de configurações
padrão da identidade, no momento da criação da identidade ou posteriormente, ao editar uma identidade
verificada. Consulte Compreensão dos conjuntos de configurações padrão (p. 276).
Índice
• Criação de conjuntos de configurações no Amazon SES (p. 270)
• Gerenciamento de conjuntos de configurações no Amazon SES (p. 274)
• Especificação de um conjunto de configurações ao enviar e-mail (p. 285)
• Visualização e exportação de métricas de reputação (p. 286)
270
Amazon Simple Email Service Guia do desenvolvedor
Criar um conjunto de configurações
conjunto de configurações. Esta seção mostra como criar conjuntos de configurações usando o console do
Amazon SES e a CLI v2 do Amazon SES.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Configuration sets (Conjuntos de
configurações).
3. Escolha Create Route (Criar rota).
4. Insira os seguintes detalhes na seção General details (Detalhes gerais):
O Amazon SES suporta TLS 1.2, TLS 1.1 e TLS 1.0. Para saber mais, consulte
Segurança no Amazon Simple Email Service (p. 522).
5. Insira os seguintes detalhes na seção Reputation options (Opções de reputação):
271
Amazon Simple Email Service Guia do desenvolvedor
Criar um conjunto de configurações
a. Use account-level supression (Usar supressão no nível da conta): Não substituir a supressão no
nível da conta e não implementar nenhuma supressão no nível do conjunto de configurações -
basicamente, qualquer e-mail enviado usando esse conjunto de configurações usará apenas a
supressão no nível da conta. Para fazer isso:
Para remover uma etiqueta que você inseriu, escolha Remove (Remover) para essa etiqueta. Você
pode adicionar no máximo 50 etiquetas.
8. Selecione Create set (Criar conjunto) para criar seu conjunto de configurações.
Agora que criou o conjunto de configurações, você tem a opção de definir destinos de eventos para ele,
o que permite a publicação de eventos acionada com base nos tipos de evento especificados para o
272
Amazon Simple Email Service Guia do desenvolvedor
Criar um conjunto de configurações (AWS CLI)
destino do evento. Um conjunto de configurações pode ter vários destinos de eventos com diversos tipos
de eventos definidos. Consulte Criar destinos de eventos do Amazon SES (p. 277).
Use sua ferramenta de edição de arquivo favorita para criar um arquivo JSON com as seguintes
chaves, além dos valores que são válidos para seu ambiente, ou use o comando ses create-
configuration-set com o opção --generate-cli-skeleton sem nenhum valor especificado para
imprimir um exemplo de estrutura JSON para saída padrão.
{
"configuration-set-name": "sample-configuration-set",
"tracking-options": {
"CustomRedirectDomain": "some.domain.com"
},
"delivery-options": {
"TlsPolicy": "REQUIRE",
"SendingPoolName": "sending pool"
},
"reputation-options": {
"ReputationMetricsEnabled": true,
"LastFreshStart": timestamp
},
"sending-options": {
"SendingEnabled": true
},
"tags": [
{
"Key": "tag key",
"Value": "tag value"
}
],
"suppression-options": {
"SuppressedReasons": ["BOUNCE","COMPLAINT"]
}
}
Note
Note
Para revisar a referência da AWS CLI para este comando, consulte create-configuration-set.
273
Amazon Simple Email Service Guia do desenvolvedor
Gerenciar conjuntos de configurações
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Configuration sets (Conjuntos de
configurações).
3. Para ver mais detalhes sobre um conjunto de configurações, escolha seu nome na lista de conjuntos
de configurações. Você irá para a página de detalhes.
A página de detalhes Configuration sets (Conjuntos de configurações) tem duas guias para detalhes do
conjunto de configurações com painéis em cada guia onde você pode exibir, editar ou excluir da seguinte
forma:
• General details (Detalhes gerais): este painel mostra detalhes gerais do conjunto de configurações:
• Sending status (Status de envio) (se ele está ou não habilitado no momento)
• Configuration set name (Nome do conjunto de configurações)
• Sending IP pool (Grupo de IPs de envio)
• Transport Layer Security (TLS)
• Custom redirect domain (Domínio de redirecionamento personalizado)
• Reputation options (Opções de reputação): este painel mostra detalhes relativos à sua reputação de
envio:
• Reputation metrics (Métricas de reputação) (indica se você está rastreando métricas)
274
Amazon Simple Email Service Guia do desenvolvedor
Listar conjuntos de configurações (AWS CLI)
• Last fresh start (Último novo começo, a data e a hora em que as métricas de reputação do conjunto
de configurações foram redefinidas pela última vez).
• Suppression settings (Configurações de supressão)
• Suppression reasons (Motivos de supressão)
• Tags (Etiquetas): este painel mostra todas as etiquetas anexadas ao conjunto de configurações.
• Key (Chave)
• Value (Valor)
Você pode realizar qualquer uma das seguintes ações nestes painéis:
• Escolha o botão Edit (Editar) ou, no caso do painel Tags (Etiquetas), o botão Manage tags (Gerenciar
etiquetas) para editar os respectivos detalhes de cada painel.
• Para obter mais informações sobre os campos, consulte a seção relacionada nas etapas de Para criar
um conjunto de configurações (console) (p. 271).
Tip
Lembre-se de salvar as alterações quando terminar de editar. Selecione Cancel (Cancelar) para
retornar à página de detalhes do conjunto de configurações sem salvar.
• Guia Event destinations (Destinos de eventos)
• All destinations (Todos os destinos) (número de destinos de eventos): este painel lista todos
os destinos de evento que você inseriu para o seu conjunto de configurações. Para cada destino, você
pode ver:
• Name (Nome)
• Destination (Destino)
• Event types (Tipos de evento)
• Event publishing (Publicação do evento)
Você pode realizar qualquer uma das seguintes ações neste painel:
• Adicione um novo destino de evento escolhendo o botão Add destination (Adicionar destino). Para
obter mais informações sobre a adição de um destino de evento, consulte Criação de um destino de
eventos (p. 277).
• Modifique um destino de evento existente selecionando seu nome que abrirá a tela de edição.
• Excluia um destino de evento existente marcando a caixa de seleção ao lado de seu nome e
escolhendo Delete (Excluir).
Na parte superior da página de detalhes de cada conjunto de configurações, e visível a partir da guia
Overview (Visão geral) ou Events destination (Destino de eventos), encontram-se as seguintes opções:
Para reiniciar o envio, execute o mesmo comando com a opção --sending-enabled, da seguinte forma:
• O conjunto de configurações deve ser criado primeiro antes de ser associado a uma identidade.
• Os conjuntos de configurações padrão só serão aplicados se a identidade for verificada.
• Uma identidade de e-mail só pode ser associada a um conjunto de configurações por vez. No entanto,
você pode aplicar o mesmo conjunto de configurações a várias identidades.
• Um conjunto de configurações padrão no nível do endereço de e-mail substitui um conjunto de
configurações padrão no nível do domínio. Por exemplo, um conjunto de configurações padrão
associado a [email protected] substitui o conjunto de configurações para o domínio de example.com.
• Um conjunto de configuração padrão no nível de domínio se aplica a todos os endereços de e-mail
desse domínio (a menos que você verifique endereços específicos para o domínio).
276
Amazon Simple Email Service Guia do desenvolvedor
Criar destinos de eventos
• Se você excluir um conjunto de configurações designado como o conjunto de configurações padrão para
uma identidade e tentar enviar emails por meio dessa identidade, sua chamada para o Amazon SES
falhará com um erro de "solicitação incorreta".
• Como especificar um conjunto de configurações existente a ser usado, pois o conjunto de configurações
padrão da identidade é, na verdade, uma função de identidades verificadas, portanto, as instruções são
fornecidas nos fluxos de trabalho de identidade de acordo:
• Specify a default configuration set during identity creation (Especificar um conjunto de configurações
padrão durante a criação de identidade): siga as instruções dadas na Etapa 6 opcional para Conjunto
de configurações padrão de identidade de domínio (p. 161) ou Conjunto de configurações padrão de
identidade de e-mail (p. 168) localizadas no capítulo Criação e verificação de identidades no Amazon
SES (p. 158).
• Specify a default configuration set for an existing identity (Especificar um conjunto de configurações
padrão para uma identidade existente): siga as etapas em Editando uma identidade usando o
console (p. 180) juntamente com esses detalhes para a Etapa 5:
a. Selecione a guia Configuration (Configuração).
b. Escolha Edit (Editar) no contêiner do Default configuration set (Conjunto de configurações padrão).
c. Selecione a caixa da lista e escolha um conjunto de configurações existente a ser usado como
padrão.
d. Continue com as etapas em Editando uma identidade usando o console (p. 180).
• Envios
• Falhas de processamento
• Rejeições
• Entregas
• Devoluções definitivas
• Reclamações
• Atrasos na entrega
• Assinaturas
• Aberturas
• Cliques
Para saber mais sobre a configuração de publicação de eventos, consulte the section called “Monitorar o
envio de e-mails usando a publicação de eventos do ” (p. 337).
Se você não criou nenhum conjunto de configurações, consulte the section called “Criar um conjunto de
configurações” (p. 270).
277
Amazon Simple Email Service Guia do desenvolvedor
Criar destinos de eventos
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Configuration sets (Conjuntos de
configurações).
3. Escolha o nome de um conjunto de configurações na coluna Name (Nome) para acessar seus
detalhes.
4. Selecione a guia Event destinations (Destinos de eventos).
5. Escolha Add destination.
6. Selecionar tipos de evento
Eventos de envio de e-mail são métricas relacionadas à sua atividade de envio que você pode medir
usando o Amazon SES. Nesta etapa, você seleciona quais tipos de eventos de envio de e-mail você
gostaria que o Amazon SES publicasse no seu destino de evento.
Para saber mais sobre os tipos de evento, consulte Monitoramento da atividade de envio do Amazon
SES (p. 328).
• Sending and delivery (Envio e entrega): para escolher tipos de eventos para publicar, marque
as respectivas caixas de seleção ou escolha Select all (Selecionar tudo) para publicar todos os
tipos de evento.
278
Amazon Simple Email Service Guia do desenvolvedor
Criar destinos de eventos
Um destino de evento é um serviço da AWS no qual os eventos de envio de e-mail podem ser
publicados. A escolha do destino apropriado depende do nível de detalhes que você deseja capturar e
de como deseja receber os dados.
a. Opções de destino
• Destination type (Tipo de destino): quando você seleciona o botão de opção ao lado do serviço
da AWS para publicar seus eventos, um painel de detalhes aparecerá com os campos relativos
ao serviço. Selecionar os links abaixo fornece instruções sobre o painel de detalhes do serviço:
• Amazon CloudWatch (p. 341)
• Amazon Kinesis Data Firehose (p. 343)
• Amazon Pinpoint (p. 345) (Não aceita atrasos de entrega nem tipos de evento de
assinatura.)
• Amazon SNS (p. 346)
Para saber mais sobre como usar o modelo de publicação de eventos para monitorar sua
operação de e-mail, consulte Monitorar o envio de e-mails usando a publicação de eventos do
Amazon SES (p. 337).
• Name (Nome): insira o nome do destino para esse conjunto de configurações. O nome só pode
conter letras, números, traços e hifens.
• Event publishing (Publicação de evento): para ativar a publicação de eventos para este destino,
marque a caixa de seleção Enabled (Habilitado).
b. Escolha Próximo para continuar.
8. Analisar
Quando você estiver satisfeito que as entradas estão corretas, escolha Add destination (Adicionar
destino) para adicionar seu destino de evento.
Você também pode criar um destino de eventos usando o console, a API v2 ou a CLI v2 do Amazon SES.
279
Amazon Simple Email Service Guia do desenvolvedor
Atribuir grupos de IP
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Configuration sets (Conjuntos de
configurações).
3. Escolha o nome de um conjunto de configurações na coluna Name (Nome) para acessar seus
detalhes.
4. Selecione o conjunto de configurações na guia Event destinations (Destinos de eventos).
5. Selecione o nome do destino de eventos na guia Name (Nome).
6. • Para editar: escolha o botão Edit (Editar) no respectivo painel do conjunto de campos que você
deseja editar, faça suas alterações e escolha Save changes (Salvar alterações).
• Para desabilitar ou habilitar: escolha o botão Disable (Desabilitar) ou Enable (Habilitar) no canto
superior direito.
• Para excluir: escolha o botão Delete (Excluir) no canto superior direito.
Você também pode editar, desabilitar/habilitar ou excluir um destino de eventos usando o console, a API
v2 ou a CLI v2 do Amazon SES.
Ao atribuir um grupo de IPs a um conjunto de configurações, você pode escolher as seguintes opções:
• Um grupo de IPs dedicados específico: quando você seleciona um grupo existente de IPs dedicados, os
e-mails que usam o conjunto de configurações são enviados usando apenas os endereços IP dedicados
que pertencem a esse grupo. Para procedimentos de criação de novos grupos de IP, consulte Criar
grupos de IPs dedicados (p. 295).
• ses-default-dedicated-pool: este grupo contém todos os endereços IP dedicados para a sua conta
que ainda não pertencem a um grupo de IPs. Se você enviar um e-mail usando um conjunto de
configurações que não está associado a um grupo, ou se enviar um e-mail sem especificar um conjunto
de configurações, o e-mail será enviado de um dos endereços do grupo padrão.
• ses-shared-pool: este grupo contém um grande conjunto de endereços IP que são compartilhados entre
todos os clientes do Amazon SES. Esta opção pode ser útil quando você precisa enviar e-mails que não
estão alinhados aos seus comportamentos de envio habituais.
280
Amazon Simple Email Service Guia do desenvolvedor
Configurar domínios personalizados de aberturas e cliques
Por padrão, esse pixel é inserido na parte inferior do e-mail; no entanto, algumas aplicações de provedores
de e-mail truncam a visualização de um e-mail quando ele excede determinado tamanho e podem fornecer
um link para a exibição do restante da mensagem. Nesse cenário, a imagem de rastreamento de pixels
do SES não será carregada e descartará as taxas de abertura que você está tentando rastrear. Para
contornar isso, você pode, opcionalmente, colocar o pixel no início do e-mail, ou em qualquer outro lugar,
inserindo o espaço reservado {{ses:openTracker}} no corpo do e-mail. Depois que o SES receber a
mensagem com o espaço reservado, ele será substituído pela imagem de pixel de rastreamento aberta.
Basta adicionar um espaço reservado, pois somente a primeira ocorrência será substituída e todas as
restantes serão omitidas.
Para capturar eventos de clique em link, o Amazon SES substitui os links dos seus e-mails por links para
um servidor operado pelo SES. Isso imediatamente redireciona o destinatário ao destino pretendido.
Você também tem a opção de usar seus próprios domínios, em vez de domínios de propriedade do
Amazon SES e operados por ele, para criar uma experiência mais coesa para seus destinatários, o
que significa que todos os indicadores do SES são removidos. Você pode configurar vários domínios
personalizados para lidar com eventos de rastreamento de abertura e clique. Esses domínios
personalizados estão associados a conjuntos de configurações. Quando você envia um e-mail usando
um conjunto de configurações, se ele estiver configurado para usar um domínio personalizado, os links de
abertura e clique nesse e-mail usarão automaticamente o domínio personalizado especificado no conjunto
de configurações.
Esta seção contém procedimentos para configurar um subdomínio em um servidor que você tem para
redirecionar automaticamente os usuários aos servidores de rastreamento de aberturas e cliques,
operados pelo Amazon SES. Há três etapas envolvidas na configuração desses domínios. Primeiro,
configure o subdomínio em si e defina um conjunto de configurações personalizadas para usar o domínio.
Depois, defina seu destino de eventos para publicar eventos de abertura e cliques. Este tópico contém
procedimentos para concluir todas as etapas.
No entanto, se você simplesmente quiser habilitar o rastreamento de abertura ou cliques sem configurar
um domínio personalizado, poderá prosseguir diretamente para definir destinos de eventos para o conjunto
de configurações, o que permite a publicação de eventos acionados com base nos tipos de evento
especificados, incluindo eventos de abertura e clique. Um conjunto de configurações pode ter vários
281
Amazon Simple Email Service Guia do desenvolvedor
Configurar domínios personalizados de aberturas e cliques
destinos de eventos com diversos tipos de eventos definidos. Consulte Criar destinos de eventos do
Amazon SES (p. 277).
Se você configurar um domínio personalizado que usa o protocolo HTTP e enviar um e-mail que
contém links que usam o protocolo HTTPS, os clientes verão uma mensagem de aviso quando
clicarem nos links no seu e-mail. Se você planeja enviar e-mails que contêm links que usam o
protocolo HTTPS, deve usar um domínio HTTPS para lidar com eventos de rastreamento de
clique.
Para configurar um subdomínio HTTP para lidar com links de abertura e clique
1. Se você ainda não tiver feito isso, crie um subdomínio para usar em links de rastreamento de abertura
e clique. Recomendamos criar um subdomínio dedicado especificamente para lidar com esses links.
2. Verifique o subdomínio para usar com o Amazon SES. Para mais informações, consulte Criar uma
identidade de domínio (p. 160).
3. Modifique o registro DNS do subdomínio. No registro do DNS, adicione um novo registro CNAME
que redirecione as solicitações para o domínio de rastreamento do Amazon SES. O endereço para o
qual você redireciona depende da região da AWS em que você usa o Amazon SES. A tabela a seguir
contém uma lista dos domínios de rastreamento para as regiões da AWS onde o Amazon SES está
disponível.
282
Amazon Simple Email Service Guia do desenvolvedor
Configurar domínios personalizados de aberturas e cliques
Note
Dependendo do seu provedor de hospedagem na web, pode levar vários minutos para
que as alterações feitas no registro DNS do subdomínio surtam efeito. O seu provedor de
hospedagem na web ou organização de TI podem fornecer informações adicionais sobre
esses atrasos.
Você só pode usar um domínio HTTPS para rastrear cliques no link. O Amazon SES só aceita
rastreamento aberto em domínios HTTP quando se usa um domínio personalizado; do contrário,
o SES aceitará rastreamento aberto por HTTPS quando um domínio personalizado não estiver
definido, caso em que serão usados implicitamente domínios pertencentes e operados pelo SES.
1. Crie um subdomínio a ser usado para links de rastreamento de clique. Recomendamos criar um
subdomínio dedicado especificamente para lidar com esses links.
2. Verifique o subdomínio para usar com o Amazon SES. Para mais informações, consulte Criar uma
identidade de domínio (p. 160).
3. Crie uma conta com uma rede de entrega de conteúdo (CDN), como o Amazon CloudFront.
4. Configure a CDN para redirecionar as solicitações ao domínio de rastreamento do Amazon SES. O
endereço para o qual você redireciona depende da região da AWS em que você usa o Amazon SES.
A tabela a seguir contém uma lista dos domínios de rastreamento para as regiões da AWS onde o
Amazon SES está disponível.
283
Amazon Simple Email Service Guia do desenvolvedor
Configurar domínios personalizados de aberturas e cliques
5. Se você usa o Amazon CloudFront como sua CDN, faça os seguintes procedimentos:
Se você usa uma CDN que não o CloudFront, pode ser necessário realizar etapas semelhantes. Para
obter mais informações, consulte a documentação de sua CDN.
6. Se você usa o Route 53 para gerenciar a configuração do DNS para seu domínio e o CloudFront
como CDN, crie um registro Alias no Route 53 que referencie a distribuição do CloudFront (como
d111111abcdef8.cloudfront.net). Para obter informações, consulte Criação de um registro usando o
console do Amazon Route 53 no Guia do desenvolvedor do Amazon Route 53.
284
Amazon Simple Email Service Guia do desenvolvedor
Especificar conjuntos de configurações no e-mail
Caso contrário, na configuração do DNS do subdomínio, adicione um registro CNAME que faça
referência ao endereço de sua CDN.
7. Adquira um certificado SSL de uma autoridade de certificação confiável. O certificado deve cobrir o
subdomínio que você criou na etapa 1, bem como o CDN configurado nas etapas 3 a 5. Faça upload
do certificado para a CDN.
Esta seção refere-se aos procedimentos para realizar essas tarefas usando o console do Amazon
SES. Para obter informações sobre o uso da API, consulte CreateConfigurationSetTrackingOptions na
Referência da API do Amazon Simple Storage Service.
285
Amazon Simple Email Service Guia do desenvolvedor
Visualizar e exportar métricas de reputação
Se estiver usando a interface SMTP (p. 44) ou a operação de API SendRawEmail, você pode especificar
um conjunto de configurações ao incluir o cabeçalho a seguir no seu e-mail (substituindo ConfigSet pelo
nome do conjunto de configurações que deseja usar):
X-SES-CONFIGURATION-SET: ConfigSet
Este guia inclui exemplos de código para enviar e-mails usando Postfix, AWS SDKs e a interface SMTP do
Amazon SES. Cada um desses exemplos inclui um método para especificar um conjunto de configurações.
Para ver procedimentos passo a passo para envio de e-mails que incluem referências a conjuntos de
configurações, consulte o seguinte:
Você também pode exportar as métricas de reputação em conjuntos de configuração individuais para o
CloudWatch. A exportação dos dados de reputação no nível do conjunto de configuração dá a você mais
controle sobre sua reputação de remetente.
Esta seção inclui os procedimentos para exportar os dados de reputação em conjuntos de configurações
individuais para o CloudWatch usando a API do Amazon SES.
Durante esse procedimento, presume-se que a AWS CLI esteja instalada e configurada corretamente em
seu computador. Para obter mais informações sobre a instalação e a configuração da AWS CLI, consulte o
Guia do usuário da AWS Command Line Interface.
Substitua ConfigSet no comando anterior pelo nome do conjunto de configurações no qual você
deseja começar a exportar as métricas de reputação.
286
Amazon Simple Email Service Guia do desenvolvedor
Desabilitação da exportação de métricas de reputação
Substitua ConfigSet no comando anterior pelo nome do conjunto de configurações no qual você
deseja desabilitar a exportação das métricas de reputação.
287
Amazon Simple Email Service Guia do desenvolvedor
Important
Se você não pretende enviar grandes volumes de e-mails de forma regular e previsível, use
endereços IP compartilhados. Se você usa endereços IP dedicados para enviar baixos volumes
de e-mails, ou se seus padrões de envio são altamente irregulares, podem ocorrer problemas de
capacidade de entrega.
288
Amazon Simple Email Service Guia do desenvolvedor
Facilidade de configuração
Facilidade de configuração
Se você optar por usar endereços IP compartilhados, não será necessário realizar nenhuma configuração
adicional. Sua conta do Amazon SES está pronta para enviar e-mails assim que você confirma um
endereço de e-mail e sai da sandbox.
Se você optar por alugar endereços IP dedicados, será necessário enviar uma solicitação (p. 290) e,
opcionalmente, configurar grupos de IP dedicados (p. 295).
Endereços IP compartilhados são usados por vários clientes do Amazon SES. Juntos, esses clientes
enviam um grande volume de e-mails. A AWS gerencia cuidadosamente esse tráfego de saída para
maximizar as reputações dos endereços IP compartilhados.
Se você usar endereços IP dedicados, é sua responsabilidade manter sua reputação de remetente ao
enviar volumes de e-mails consistentes e previsíveis.
Note
Se você quiser ver os dados do Smart Network Data Services (SNDS) referentes a seus IPs
dedicados, consulte Metrics SNDS para IPs dedicados (p. 443) para obter mais informações.
Se seus padrões de envio de e-mail são irregulares, ou seja, não seguem um padrão previsível, os
endereços IP compartilhados provavelmente atendem melhor às suas necessidades. Quando você usa
endereços IP compartilhados, pode aumentar ou diminuir os padrões de envio de e-mails conforme a
situação.
Se você usar endereços IP dedicados, precisará enviar certa quantidade de e-mails gradativamente,
aumentando um pouco por dia. Esse processo de aquecimento de novos endereços IP é descrito em
Aquecer endereços IP dedicados (p. 293). Depois que seus endereços IP dedicados passarem pelo
aquecimento, você deve manter um padrão de envio consistente.
Em alguns casos, você pode usar endereços IP dedicados quando não for enviar grandes volumes de
e-mails. Por exemplo, endereços IP dedicados podem ser adequados para enviar a um pequeno e bem
289
Amazon Simple Email Service Guia do desenvolvedor
Custos adicionais
definido grupo de destinatários, cujos servidores de mensagens aceitam ou rejeitam e-mails usando uma
lista de endereços IP específicos, em vez de reputação do endereço IP.
Custos adicionais
O uso de endereços IP compartilhados está incluído no preço padrão do Amazon SES. O aluguel de
endereços IP dedicados envolve um custo mensal extra além dos custos padrão associados ao envio de e-
mails usando o Amazon SES. Cada endereço IP dedicado implica uma taxa mensal separada. Para obter
informações sobre preço, consulte a página de preços do Amazon SES.
Com endereços IP compartilhados, você não sabe os endereços IP que o Amazon SES usa para enviar
sua mensagem, e eles podem mudar a qualquer momento.
290
Amazon Simple Email Service Guia do desenvolvedor
Solicitar endereços IP dedicados
endereço IP dedicado, distribuímos esses endereços da maneira mais uniforme possível entre as zonas
de disponibilidade na Região da AWS que você especificou na solicitação. Distribuir seus endereços IP
dedicados nas zonas de disponibilidade dessa maneira aumenta a disponibilidade e a redundância de
seus endereços IP dedicados.
Para conhecer uma lista de regiões em que o Amazon SES está disponível atualmente, consulte Região
da AWS e endpoints na Referência geral da Amazon Web Services. Para saber mais sobre quantas zonas
de disponibilidade estão disponíveis em cada região, consulte Infraestrutura global da AWS.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação no lado esquerdo da tela, escolha Configuration (Configuração) e depois
escolha Dedicated IPs (IPs dedicados).
3. Para abrir um novo caso na Central de Suporte, escolha Request or relinquish dedicated IPs (Solicitar
ou desistir de IPs dedicados) no alto da página.
4. Em Case details (Detalhes do caso), realize as seguintes seções:
• Em Limit type (Tipo de limite), mantenha SES Service Limits (Limites do serviço do SES).
• Em Mail Type (Tipo de e-mail), escolha o tipo de e-mail que você pretende enviar usando seu
endereço IP dedicado. Se vários valores se aplicam, escolha a opção que se aplica à maioria dos e-
mails que você pretende enviar.
• Para Website URL (URL do site), digite a URL de seu site. O fornecimento dessas informações nos
ajuda a compreender melhor o tipo de conteúdo que você planeja enviar.
• Para Describe, in detail, how you will only send to recipients who have specifically requested your
mail (Descreva em detalhes como você só enviará a destinatários que solicitaram especificamente
seu e-mail), forneça uma resposta opcional consistente com seu caso de uso.
• Para Describe, in detail, the process that you will follow when you receive bounce and complaint
notifications (Descreva em detalhes o processo que você seguirá ao receber notificações de
devolução e reclamação), forneça uma resposta opcional consistente com seu caso de uso.
• Em Will you comply with AWS Service Terms and AUP (Você vai cumprir os Termos de Serviço e
AUP da AWS), escolha a opção aplicável ao seu caso de uso.
5. Em Requests (Solicitações), preencha as seguintes seções:
Note
Se desejar solicitar endereços IP dedicados para uso em outra Região da AWS, escolha Add
another request (Adicionar outra solicitação) e preencha os campos Region (Região), Limit
(Limite) e New limit value (Novo valor de limite) para a região adicional. Repita esse processo
para cada região na qual você deseja usar endereços IP dedicados.
6. Em Case description (Descrição de caso), para Use case description (Descrição do caso de uso),
determine que você deseja solicitar endereços IP dedicados. Se você deseja solicitar uma quantidade
291
Amazon Simple Email Service Guia do desenvolvedor
Desistir de endereços IP dedicados
específica de endereços IP dedicados, mencione isso também. Se você não especificar uma
quantidade de endereços IP dedicados, vamos fornecer a quantidade de endereços IP dedicados que
for necessária para atender aos requisitos de taxa de envio que você especificou na etapa anterior.
Depois, descreva de que forma você planeja usar os endereços IP dedicados para enviar e-mail
usando o Amazon SES. Inclua informações sobre por que você deseja usar endereços IP dedicados
em vez de endereços IP compartilhados. Essas informações nos ajudam a entender melhor o seu
caso de uso.
7. Em Contact options (Opções de contato), para Preferred contact language (Preferência de idioma de
contato), escolha se você deseja receber comunicações para esse caso em inglês ou japonês.
8. Quando terminar, escolha Submit (Enviar).
Após enviar o formulário, avaliaremos sua solicitação. Se concedermos sua solicitação, responderemos ao
seu caso no Support Center para confirmar que os novos endereços IP dedicados estão associados à sua
conta.
O processo de liberar um endereço IP dedicado não pode ser revertido. Se você liberar um
endereço IP dedicado no meio de um mês, a taxa mensal de uso mensal do IP dedicado é
calculada proporcionalmente, com base no número de dias que decorreram no mês atual.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação no lado esquerdo da tela, escolha Configuration (Configuração) e depois
escolha Dedicated IPs (IPs dedicados).
3. Para abrir um novo caso na Central de Suporte, escolha Request or relinquish dedicated IPs (Solicitar
ou desistir de IPs dedicados) no alto da página.
4. Em Case classification (Classificação de caso), preencha as seguintes seções:
• Em Limit type (Tipo de limite), mantenha SES Service Limits (Limites do serviço do SES).
Note
As demais caixas nesta seção são opcionais e não se aplicam à desistência de IPs
dedicados. Deixe-as em branco.
5. Em Requests (Solicitações), preencha as seguintes seções:
292
Amazon Simple Email Service Guia do desenvolvedor
Aquecer endereços IP dedicados
Note
Um endereço IP dedicado só pode ser usado em uma região da Região da AWS. Se você
deseja desistir de endereços IP dedicados que usou em outras Regiões da AWS, escolha
Add another request (Adicionar outra solicitação). Então, preencha os campos Region
(Região), Limit (Limite) e New limit value (Novo valor limite) para a região adicional. Repita
esse processo para cada endereço IP dedicado que você deseja liberar.
6. Em Case description (Descrição de caso), para Use case description (Descrição do caso de uso),
mencione que você deseja liberar endereços IP dedicados existentes. Se você alugar mais de um
endereço IP dedicado, inclua a quantidade de endereços IP dedicados que você deseja liberar.
7. Em Contact options (Opções de contato), para Preferred contact language (Preferência de idioma de
contato), escolha se você deseja receber comunicações para esse caso em inglês ou japonês.
8. Quando terminar, escolha Submit (Enviar).
Após recebermos a solicitação, enviaremos uma mensagem que pede que você confirme se deseja
liberar seus endereços IP dedicados. Depois de confirmar que deseja liberar os endereços IP, eles serão
removidos de sua conta.
Quando você começar a enviar e-mails de um novo endereço IP, aumente gradualmente o volume de e-
mail que você enviar a partir desse endereço antes de usá-lo em toda a sua capacidade. Esse processo é
chamado de aquecer o endereço IP.
As etapas que ocorrem durante o processo de aquecimento automático dependem de se você já tem
endereços IP dedicados:
• Quando você solicita endereços IP dedicados pela primeira vez, o Amazon SES distribui sua remessa
e-mails entre seus endereços IP dedicados e um conjunto de endereços que são compartilhados com
293
Amazon Simple Email Service Guia do desenvolvedor
Desabilitar o processo de aquecimento automático
outros clientes do Amazon SES. O Amazon SES aumenta gradualmente o número de mensagens
enviadas de seus endereços IP dedicados ao longo do tempo.
• Se você já tem endereços IP dedicados, o Amazon SES distribui seus e-mails para envio entre seus IPs
dedicados (que já estão aquecidos) e seus novos IPs dedicados (que não são aquecidos). O Amazon
SES aumenta gradualmente o número de mensagens enviadas de seus novos endereços IP dedicados
ao longo do tempo.
Note
Depois de aquecer um endereço IP dedicado, você deve enviar em torno de 1.000 e-mails todos os dias
para cada provedor de e-mail com os quais deseja manter uma reputação positiva. Essa tarefa deve ser
executada em cada endereço IP dedicado que você usa com o Amazon SES.
Evite enviar grandes volumes de e-mails imediatamente depois que o processo de aquecimento concluir.
Em vez disso, aumente lentamente o número de e-mails que você enviar até atingir o volume desejado.
Se um provedor de e-mail vê um aumento grande e repentino no número de e-mails que estão sendo
enviados a partir de um endereço IP, ele pode bloquear ou limitar a entrega de mensagens desse
endereço.
Se você desabilitar o recurso de aquecimento automático, será responsável por aquecer seus
endereços IP dedicados você mesmo. Se você enviar e-mails de endereços que não foram
aquecidos, você pode experimentar taxas de entrega insatisfatórias.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. Na barra de navegação à esquerda, selecione Dedicated IPs.
3. Escolha Disable auto warm-up (Desabilitar o aquecimento automático).
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. Na barra de navegação à esquerda, selecione Dedicated IPs.
3. Em All dedicated IPs (Todos os IPs dedicados), selecione o IP dedicado para o qual você deseja
reiniciar o processo de aquecimento e, em seguida, escolha Edit warm up (Editar aquecimento). Insira
294
Amazon Simple Email Service Guia do desenvolvedor
Criar grupos de IPs dedicados
Você também pode criar conjuntos de configurações que usam um grupo de endereços IP
compartilhados por todos os clientes do Amazon SES. O grupo de IP compartilhado é útil nas
situações em que você precisa enviar e-mails que não estão alinhados aos seus comportamentos
de envio habituais. Para obter informações sobre como usar o grupo de IP compartilhado com um
conjunto de configurações, consulte Atribuir grupos de IP no Amazon SES (p. 280).
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação no lado esquerdo da tela, escolha Configuration (Configuração) e depois
escolha Dedicated IPs (IPs dedicados).
3. Escolha a guia IP Pools (Grupos de IP).
4. Selecione Create IP Pool (Criar grupo de IPs).
5. Em Pool details (Detalhes do grupo), insira o nome do grupo de IPs que desejar. O nome deve ser
um nome exclusivo de 64 caracteres, com apenas letras minúsculas, números, pontos, sublinhados e
hifens.
6. Para Dedicated IPS (IPs dedicados), escolha os IPs a serem adicionados ao grupo.
Note
a. Escolha Add new tag (Adicionar nova etiqueta) e insira a Key (Chave). Você também pode
adicionar um Value (Valor) para a etiqueta.
b. Para adicionar a etiqueta, escolha Save changes (Salvar alterações).
Você pode adicionar até 50 tags. Você pode remover uma etiqueta escolhendo Remove
(Remover).
295
Amazon Simple Email Service Guia do desenvolvedor
Traga seus próprios endereços IP
9. Quando estiver pronto para criar o grupo de IPs, escolha Create pool (Criar grupo).
O recurso BYOIP é útil, por exemplo, quando você desenvolveu uma reputação de IP positiva usando um
sistema de envio de e-mails interno, mas deseja migrar para o Amazon SES. Usando BYOIP, é possível
começar a enviar e-mails pelo Amazon SES imediatamente, sem precisar estabelecer a reputação de seus
endereços IP novamente.
Requisitos
Para usar BYOIP, seu intervalo de endereços IP deve atender aos seguintes requisitos:
• O intervalo de endereços precisa ser registrado no seu Regional internet registry (RIR – Registro
regional de Internet), como o American Registry for Internet Numbers (ARIN) ou o Réseaux IP
Européens Network Coordination Centre (RIPE) ou o Asia-Pacific Network Information Centre (APNIC).
O intervalo de endereços precisa ser registrado como uma entidade empresarial ou institucional e não
pode ser registrado como uma pessoa.
• Você deve ser capaz de fornecer um comprovante de que é proprietário do intervalo de endereços
enviando uma mensagem de autorização assinada.
• Os endereços no intervalo de endereços IP devem ter um histórico limpo. Podemos investigar a
reputação do intervalo de endereços IP e reservar o direito de rejeitar um intervalo, se ele contiver um
endereço IP que tenha má reputação ou esteja associado a comportamento mal-intencionado.
• O intervalo de endereços IP não pode incluir intervalos que foram trazidos para outro AWS service
(Serviço da AWS) para BYOIP, como o EC2.
Considerações
Existem vários fatores que você deve considerar antes de solicitar a transferência de seus intervalos de IP
para o Amazon SES:
• O intervalo de endereços mais específico que pode ser especificado é /24. Em outras palavras, se você
transferir o intervalo de IP 203.0.113.0/24 para sua conta do Amazon SES, poderá enviar de um total
de 256 endereços, de 203.0.113.0 a 203.0.113.255. Você precisa transferir o intervalo inteiro, pois, no
momento, o Amazon SES não permite que você transfira endereços IP individuais.
• Se você usar BYOIP para um intervalo específico de endereços IP, só poderá acessar esse intervalo de
uma única Região da AWS.
• É possível trazer cinco intervalos de endereços por região para sua conta da Conta da AWS.
• Se você usar seus próprios endereços IP, não poderá usar os endereços no grupo de endereços IP
compartilhados do Amazon SES. Se precisar usar esses endereços IP compartilhados, você pode usar o
Amazon SES em uma Região da AWS diferente ou criar uma nova Conta da AWS.
• Há uma cobrança mensal para cada endereço IP usado com BYOIP. Para obter mais informações,
consulte Definição de preço do Amazon SES.
296
Amazon Simple Email Service Guia do desenvolvedor
Uso de seus próprios endereços IP com o Amazon SES
Se quiser usar seu próprio intervalo de IP com o Amazon SES, envie as seguintes informações para ses-
[email protected]:
Responderemos à sua solicitação em até 48 horas, horário comercial. Em nossas comunicações com
você, podemos solicitar informações adicionais, incluindo documentos que comprovem sua propriedade do
intervalo IP.
297
Amazon Simple Email Service Guia do desenvolvedor
Cada um desses tipos de listas é discutido em detalhes nas seções listadas nos tópicos deste capítulo; no
entanto, uma visão geral das listas de supressão é apresentada aqui porque existem três tipos de listas de
supressão, bem como uma mudança chave com o gerenciamento global de listas de supressão. Sugere-
se que você leia essa visão geral antes de trabalhar com qualquer uma das listas discutidas neste capítulo.
O recurso de remoção da lista de supressão global não é mais voltado para o cliente, e você não interage
mais com ele para gerenciar listas de supressão. A lista de supressão global opera e é gerenciada em
segundo plano pelo SES. Como cliente, agora você tem disponíveis listas de supressão no nível da conta
e listas de supressão no nível do conjunto de configurações que oferecem controle mais personalizado
sobre como você lida com a supressão de e-mail para sua própria conta.
Os diferentes tipos de listas de supressão, seu escopo e quais vantagens elas oferecem são explicados
abaixo. Os três tipos de listas de supressão usadas no Amazon SES são:
• Lista de supressão global: de propriedade e gerenciada pelo SES para proteger a reputação de
endereços no grupo de IPs compartilhados do SES.
• Lista de supressão no nível da conta: de propriedade e gerenciada pelo cliente para proteger a
reputação da sua conta. Substitui a lista de supressão global.
• Supressão no nível do conjunto de configurações: de propriedade e gerenciada pelo cliente para
fornecer controle condicional ou refinado sobre o gerenciamento de listas de supressão. Substitui a lista
de supressão no nível da conta.
A lista de supressão global era o único tipo de lista de supressão, até que a supressão no nível do conjunto
de configuração e no nível da conta fossem introduzidas no novo console e na API v2 do Amazon SES.
Lista de supressão global é de propriedade e gerenciada pelo SES para proteger a reputação do SES. Isso
é necessário porque todos os clientes do SES estão compartilhando o mesmo grupo de endereços IP (a
menos que tenham IPs dedicados), é importante que o SES garanta que os clientes não estejam enviando
spam ou qualquer coisa que impacte negativamente a reputação desses endereços IP no grupo de IPs
compartilhados do SES. Embora você não mais interaja diretamente com a lista de supressão global,
ela ainda opera em segundo plano, e os princípios gerais de como funciona a lista de supressão global
também podem ser aplicados para explicar os princípios gerais de como funcionam os outros tipos de lista
de supressão. Consulte Lista de supressão global do Amazon SES (p. 299).
Note
O formulário de solicitação de remoção da lista de supressão global não está no novo console do
Amazon SES porque a lista de supressão no nível da conta o suplantou por todas as vantagens
explicadas nesta seção.
298
Amazon Simple Email Service Guia do desenvolvedor
Lista de supressão global
A lista de supressão no nível da conta foi introduzida para que os clientes possam criar e controlar suas
próprias listas de supressão e reputação; portanto, a lista de supressão no nível da conta se aplica
somente à sua conta. A interface da lista de supressão no nível da conta no novo console fornece uma
maneira fácil de gerenciar endereços em sua lista de supressão no nível da conta, incluindo ações em
massa para adicionar ou remover endereços. Se um endereço estiver na lista de supressão global, mas
não na lista de supressão no nível da conta (o que significa que você deseja enviar para ele), e você enviar
para ele, o Amazon SES ainda tentará a entrega, mas se ele for devolvido, a devolução afetará sua própria
reputação, mas ninguém mais receberá devoluções porque eles não podem enviar para esse endereço
de e-mail se não estiverem usando sua própria lista de supressão no nível de conta; portanto, a lista de
supressão no nível de conta substitui a lista de supressão global somente para sua conta. Consulte Como
usar a lista de supressão do Amazon SES por conta (p. 300).
O recurso de remoção da lista de supressão global não é mais voltado para o cliente, e você não interage
mais com ele para gerenciar listas de supressão. Para substituir essa funcionalidade, o Amazon SES
agora oferece uma nova maneira de você gerenciar suas listas de supressão, disponibilizando Listas de
supressão no nível da conta e Listas de supressão no nível do conjunto de configurações, que oferecem
controle mais personalizado sobre como você lida com a supressão de e-mail para sua própria conta. Para
obter mais informações, consulte Como usar a lista de supressão do Amazon SES por conta (p. 300) e
Uso da supressão no nível do conjunto de configurações para substituir sua lista de supressão no nível da
conta (p. 316).
Important
299
Amazon Simple Email Service Guia do desenvolvedor
Usar a lista de supressão no nível da conta
• A lista de supressão global opera e é gerenciada em segundo plano pelo SES. Você não pode interagir
diretamente com ela; no entanto, você pode substituí-la usando a sua própria Lista de supressão no
nível da conta (p. 300).
• A lista de supressão global está ativada por padrão para todas as contas SES. Não é possível desabilitá-
la.
• Como o SES aplica a lista de supressão global a todos os clientes, não é possível consultar a lista de
supressão global nem adicionar endereços a ela manualmente.
• Quando um endereço de e-mail produz uma devolução definitiva, o SES adiciona o endereço à lista
de supressão global por um curto período de tempo. Após esse período de tempo, o SES remove o
endereço da lista. Se o endereço produzir outra devolução, o SES vai adicioná-lo de volta à lista de
supressão global por um período mais longo e vai removê-lo no final desse período. A quantidade de
tempo que um endereço permanece na lista de supressão global aumenta cada vez que o endereço
produz uma devolução rígida. Um endereço pode permanecer na lista de supressão global por até 14
dias.
• Se você tentar enviar uma mensagem para um endereço que está na lista de supressão global, o SES
aceitará a mensagem, mas ela não será enviada. O Amazon SES gera uma notificação de devolução
com um bounceTypevalor de Permanent e um valor bounceSubType de Suppressed. Receber esse
tipo de notificação de devolução é a única maneira de saber se um endereço está na lista de supressão
global. Não é possível consultar a lista de supressão global.
• O SES conta as mensagens que você enviou para endereços na lista de supressão global para
determinar a taxa de devolução da sua conta e determinar sua cota de envio diária.
• Como com qualquer endereço de e-mail que produz uma devolução definitiva, remova os endereços que
causaram uma devolução da lista de supressão da sua lista de correspondência, a menos que tenha
certeza de que o endereço é válido.
• As devoluções da lista de supressão se somam à taxa de devolução da sua conta. Se a taxa de
devolução subir muito, sua conta pode ser colocada sob revisão ou a capacidade da sua conta de enviar
de e-mails pode ser pausada.
Note
É importante entender como as três listas de supressão SES estão inter-relacionadas e sua
hierarquia; consulte Visão geral dos três tipos de listas de supressão (p. 298).
A lista de supressão no nível da conta do SES é aplicada à sua Conta da AWS na Região da AWS atual.
Você pode adicionar ou remover, individualmente ou em massa, endereços da lista de supressão no nível
da conta usando o console ou a API v2 do SES.
300
Amazon Simple Email Service Guia do desenvolvedor
Considerações sobre a lista de supressão no nível da conta
Note
Para adicionar ou remover endereços em massa, você deve ter acesso de produção. Para saber
mais sobre a sandbox, consulte Saída da sandbox do Amazon SES (p. 32).
• Se você começou a usar o Amazon SES após 25 de novembro de 2019, sua conta usa a lista de
supressão no nível da conta por padrão tanto para devoluções como para reclamações. Se tiver
começado a usar o SES antes dessa data, é necessário habilitar esse recurso usando a operação
PutAccountSuppressionAttributes na API do SES.
• Se tentar enviar uma mensagem para um endereço que está na lista de supressão no nível da conta, o
SES aceitará a mensagem, mas ela não será enviada.
• O SES não contabiliza as mensagens enviadas para endereços na lista de supressão no nível da conta
nas taxas de devolução ou de reclamação da sua conta.
• O SES contabiliza nas taxas de devolução ou de reclamação da sua conta as mensagens enviadas
para endereços que não estão sua na lista de supressão no nível da conta, mas que estão na lista de
supressão global.
• O SES contabiliza as mensagens enviadas para endereços na lista de supressão no nível da conta na
sua cota de envio diário.
• Os endereços de e-mail na lista de supressão no nível da conta são mantidos ali até que você os
remova.
• Se a capacidade de envio de e-mails da sua conta for pausada, o SES excluirá automaticamente os
endereços na lista de supressão no nível da conta após 90 dias. Se a capacidade da conta de enviar
e-mails for restaurada antes do término desse período de 90 dias, os endereços da lista não serão
excluídos.
• O Gmail não fornece dados de reclamação para o SES. Se um destinatário usar o botão Spam no cliente
Web do Gmail para denunciar uma mensagem recebida de você como spam, ele não será adicionado à
lista de supressão no nível da conta.
• Você poderá habilitar a lista de supressão no nível da conta se a sua conta estiver no sandbox do SES.
No entanto, não é possível usar a operação da API PutSuppressedDestination ou CreateImportJob até
que a conta seja removida da sandbox. Para saber mais sobre a sandbox, consulte Saída da sandbox
do Amazon SES (p. 32).
• Quando você usa a lista de supressão no nível da conta, o SES adiciona endereços que também
resultam em devoluções definitivas ou reclamações à lista de supressão global.
301
Amazon Simple Email Service Guia do desenvolvedor
Habilitar a lista de supressão no nível da
conta de um conjunto de configurações
Windows
Para habilitar a lista de supressão no nível da conta, é necessário especificar pelo menos um motivo
para o parâmetro suppressed-reasons. É possível especificar BOUNCE ou COMPLAINT ou ambos,
conforme mostrado no exemplo anterior.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Suppression list (Lista de
supressão).
3. No painel Account-level settings (Configurações no nível da conta), escolha Edit (Editar).
4. Em Suppression list, desmarque a caixa Enabled.
5. Em Suppression reasons (Motivos da supressão), selecione um dos motivos pelos quais os endereços
de e-mail do destinatário devem ser adicionados automaticamente à sua lista de supressão no nível
da conta.
6. Selecione Save changes.
O procedimento a seguir pressupõe que a AWS CLI já foi instalada. Para obter mais informações
sobre a instalação e a configuração da AWS CLI, consulte o Guia do usuário da AWS Command
Line Interface.
Definir a lista de supressão no nível da conta para uma configuração definida usando a AWS CLI
302
Amazon Simple Email Service Guia do desenvolvedor
Habilitar a lista de supressão no nível da
conta de um conjunto de configurações
Windows
No exemplo anterior, substitua configSet pelo nome do conjunto de configurações que deve usar a
lista de supressão no nível da conta.
Para configurar a lista de supressão no nível da conta para um conjunto de configurações usando
o console do SES:
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Configuration sets (Conjuntos de
configurações).
3. Em Configuration sets (Conjuntos de configurações), escolha o nome do conjunto de configurações
que deseja configurar com supressão personalizada.
4. No painel Supression list options (Opções de lista de supressão), escolha Edit (Editar).
5.
A seção Supression list options (Opções de lista de supressão) fornece um conjunto de decisões
para definir a supressão personalizada, começando com a opção de usar esse conjunto de
configurações para substituir a supressão no nível da conta. O configuration set-level suppression
logic map (p. 316) (mapa lógico de supressão no nível do conjunto de configurações) ajudará você
a entender os efeitos das combinações de substituição. Essas seleções em várias camadas de
substituições podem ser combinadas para implementar três níveis diferentes de supressão:
a. Use account-level supression (Usar supressão no nível da conta): Não substituir a supressão no
nível da conta e não implementar nenhuma supressão no nível do conjunto de configurações -
basicamente, qualquer e-mail enviado usando esse conjunto de configurações usará apenas a
supressão no nível da conta. Para fazer isso:
303
Amazon Simple Email Service Guia do desenvolvedor
Como adicionar endereços de e-mail individuais
à lista de supressão no nível da conta
O procedimento a seguir pressupõe que a AWS CLI já foi instalada. Para obter mais informações
sobre a instalação e a configuração da AWS CLI, consulte o Guia do usuário da AWS Command
Line Interface.
Como adicionar endereços individuais à lista de supressão no nível da conta usando a AWS CLI
Windows
Como adicionar endereços individuais à lista de supressão no nível da conta usando o console do
SES:
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Suppression list (Lista de
supressão).
3. No painel Suppression list (Lista de supressão), escolha Add email address (Adicionar endereço de e-
mail).
4. Digite um endereço de e-mail no campo Email address (Endereço de e-mail) seguido da seleção de
um motivo em Suppresion reason (Motivo da supressão). Se precisar inserir mais endereços, escolha
Enter another address (Inserir outro endereço) e repita a operação para cada endereço adicional.
5. Quando terminar de inserir endereços, revise a precisão de suas entradas. Se decidir que alguma de
suas entradas não deve integrar esse envio, escolha o botão Remove (Remover).
6. Escolha Save changes (Salvar as alterações) para adicionar os endereços de e-mail inseridos à sua
lista de supressão por conta.
304
Amazon Simple Email Service Guia do desenvolvedor
Adicionar endereços de e-mail em massa
à lista de supressão no nível da conta
Não há limite para o número de endereços que você pode adicionar à lista de supressão no nível
da conta, mas há um limite de adição em lote de 100.000 de endereços em um objeto do Amazon
S3 por chamada de API.
Para adicionar endereços de e-mail em lote à lista de supressão no nível da conta, conclua as etapas a
seguir.
[email protected],BOUNCE
[email protected],COMPLAINT
Somente arquivos JSON delimitados por nova linha são suportados. Nesse formato, cada linha é um
objeto JSON completo que contém uma definição de endereço individual.
{"emailAddress":"[email protected]","reason":"BOUNCE"}
{"emailAddress":"[email protected]","reason":"COMPLAINT"}
Quando aplicada a um bucket do Amazon S3, a seguinte política concede ao SES permissão de leitura
desse bucket. Para obter mais informações sobre como anexar políticas aos buckets do Amazon S3,
consulte Uso de políticas de bucket e políticas de usuário no Guia do usuário do Amazon Simple Storage
Service.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSESGet",
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::BUCKET-NAME/OBJECT-NAME",
"Condition": {
"StringEquals": {
"aws:Referer": "AWSACCOUNTID"
}
}
}
305
Amazon Simple Email Service Guia do desenvolvedor
Adicionar endereços de e-mail em massa
à lista de supressão no nível da conta
]
}
Se o objeto do Amazon S3 for criptografado com uma chave do AWS KMS, você precisa conceder ao
Amazon SES permissão para usar a chave do AWS KMS. O SES só pode obter permissão de uma
chave gerenciada pelo cliente, não de uma chave padrão do KMS. Você precisa conceder permissão ao
SES para usar a chave gerenciada pelo cliente, adicionando uma instrução à política da chave.
Cole a seguinte instrução de política na política de chave para permitir que o SES use sua chave
gerenciada pelo cliente.
{
"Sid": "AllowSESToDecrypt",
"Effect": "Allow",
"Principal": {
"Service":"ses.amazonaws.com"
},
"Action": [
"kms:Decrypt",
],
"Resource": "*"
}
Note
O exemplo a seguir pressupõe que a AWS CLI já foi instalada. Para obter mais informações sobre
a instalação e a configuração da AWS CLI, consulte o Guia do usuário da AWS Command Line
Interface.
Na linha de comando, insira o seguinte comando: Substitua s3Bucket pelo nome do bucket do Amazon
S3 e s3object pelo nome do objeto do Amazon S3.
Para adicionar endereços de e-mail em massa à sua lista de supressão por conta usando o
console do SES:
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Suppression list (Lista de
supressão).
3. Na tabela Suppression list (Lista de supressão), expanda o botão Bulk actions (Ações em massa) e
selecione Add email addresses in bulk (Adicionar endereços de e-mail em massa).
4. Em Bulk action specifications (Especificações da ação em massa), selecione (a) Choose file from
S3 bucket (Escolher arquivo do bucket do S3) ou (b) Import from file (Importar do arquivo). Os
procedimentos são indicados para cada método de importação:
a. Choose file from S3 bucket (Escolher arquivo do bucket do S3) - Se seu arquivo de origem já
estiver armazenado em um bucket do Amazon S3:
i. Se você sabe o URI do bucket do Amazon S3 que deseja usar, insira-o no campo Amazon
S3 URI (URI do Amazon S3); caso contrário, escolha Browse S3 (Procurar no S3):
306
Amazon Simple Email Service Guia do desenvolvedor
Visualizar uma lista dos endereços que
estão na lista de supressão no nível da conta
i. Em Import source file (Importar arquivo de origem), selecione Choose file (Escolher arquivo).
ii. Selecione o arquivo JSON ou CSV no navegador de arquivos e escolha Open (Abrir). Você
verá o nome, o tamanho e a data do seu arquivo exibidos sob o botão Choose file (Escolher
arquivo).
iii. Expanda Amazon S3 bucket (Bucket do Amazon S3) e selecione o bucket do S3.
• Para carregar seu arquivo em um novo bucket, escolha Create S3 bucket (Criar bucket
do S3), insira um nome no campo Bucket name (Nome do bucket) e escolha Create
bucket (Criar bucket).
iv. Escolha Add e-mail addresses (Adicionar endereços de e-mail) para iniciar a importação de
endereços do seu arquivo - uma tabela abaixo da guia Bulk actions (Ações em massa) é
exibida.
5. Independentemente do método de importação que você usou, seu ID de trabalho será listado em Bulk
actions (Ações em massa), juntamente com o tipo de importação, o status e a data. Para exibir os
detalhes do trabalho, selecione o ID do trabalho.
6. Selecione a guia Suppression list (Lista de supressão) e todos os endereços de e-mail importados
com êxito serão exibidos com o motivo da supressão e a data de adição. As seguintes opções estão
disponíveis:
O procedimento a seguir pressupõe que a AWS CLI já foi instalada. Para obter mais informações
sobre a instalação e a configuração da AWS CLI, consulte o Guia do usuário da AWS Command
Line Interface.
307
Amazon Simple Email Service Guia do desenvolvedor
Visualizar uma lista dos endereços que
estão na lista de supressão no nível da conta
Como visualizar uma lista de todos os endereços de e-mail que estão na lista de supressão no
nível da conta
O comando anterior retorna todos os endereços de e-mail que estão na lista de supressão no nível da
conta da sua conta. A saída será semelhante ao seguinte exemplo:
{
"SuppressedDestinationSummaries": [
{
"EmailAddress": "[email protected]",
"Reason": "COMPLAINT",
"LastUpdateTime": "2020-04-10T21:03:05Z"
},
{
"EmailAddress": "[email protected]",
"Reason": "COMPLAINT",
"LastUpdateTime": "2020-04-10T21:04:26Z"
},
{
"EmailAddress": "[email protected]",
"Reason": "BOUNCE",
"LastUpdateTime": "2020-04-10T22:07:59Z"
}
]
}
• Observação: se sua saída incluir um campo “NextToken” com um valor de string, isso indica que há
endereços de e-mail adicionais na lista de supressão para sua conta. Para exibir endereços suprimidos
adicionais, emita outra solicitação para ListSuppressedDestinations e passe o valor da string
retornado no parâmetro da --next-token da seguinte forma:
Você pode usar a opção StartDate para mostrar apenas os endereços de e-mail que foram adicionados
à lista após uma determinada data.
Como visualizar uma lista dos endereços que foram adicionados à lista de supressão no nível da
conta após uma data específica
Você também pode usar a opção EndDate para mostrar apenas os endereços de e-mail que foram
adicionados à lista antes de uma determinada data.
308
Amazon Simple Email Service Guia do desenvolvedor
Remover endereços de e-mail individuais
da lista de supressão no nível da conta
Como visualizar uma lista dos endereços que foram adicionados à lista de supressão no nível da
conta antes de uma data específica
Na linha de comando do Linux, macOS ou Unix, você também pode usar o utilitário interno grep para
procurar endereços ou domínios específicos.
No comando anterior, substitua example.com pela string de texto (como o endereço ou o domínio)
que você deseja pesquisar.
Como visualizar uma lista de todos os endereços de e-mail que estão na lista de supressão no
nível da conta usando o console do SES:
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Suppression list (Lista de
supressão).
3. Selecione a guia Suppression list e todos os endereços de e-mail importados com êxito serão exibidos
com o motivo da supressão e a data de adição. As seguintes opções estão disponíveis:
O procedimento a seguir pressupõe que a AWS CLI já foi instalada. Para obter mais informações
sobre a instalação e a configuração da AWS CLI, consulte o Guia do usuário da AWS Command
Line Interface.
309
Amazon Simple Email Service Guia do desenvolvedor
Remover endereços de e-mail em massa
da lista de supressão no nível da conta
Como remover endereços individuais da lista de supressão no nível da conta usando a AWS CLI
Windows
Como remover endereços individuais da lista de supressão no nível da conta usando o console do
SES:
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Suppression list (Lista de
supressão).
3. Remova endereços de e-mail individuais mediante (a) seleção de tabela ou (b) entrada digitada:
a. Seleção na tabela: na tabela Suppression list (Lista de supressão), marque a caixa de seleção
correspondente a um ou mais endereços de e-mail e escolha Remove (Remover).
b. Digitação no campo:
i. Na tabela Suppression list (Lista de supressão), escolha Remove email address (Remover
endereço de e-mail).
ii. Digite um endereço de e-mail no campo Email address (Endereço de e-mail). Se precisar
inserir mais endereços, escolha Enter another address (Inserir outro endereço) e repita a
operação para cada endereço adicional.
iii. Quando terminar de inserir endereços, revise a precisão de suas entradas. Se decidir que
alguma de suas entradas não deve integrar esse envio, escolha o botão Remove (Remover).
iv. Escolha Save changes (Salvar as alterações) para remover os endereços de e-mail inseridos
da sua lista de supressão por conta.
Não há limite para o número de endereços que você pode remover da lista de supressão no nível
de conta, mas há um limite de exclusão em massa de 10.000 de endereços em um objeto do
Amazon S3 por chamada de API.
310
Amazon Simple Email Service Guia do desenvolvedor
Remover endereços de e-mail em massa
da lista de supressão no nível da conta
Para remover endereços de e-mail em massa da lista de supressão no nível da conta, conclua as etapas a
seguir.
Somente arquivos JSON delimitados por nova linha são suportados. Nesse formato, cada linha é um
objeto JSON completo que contém uma definição de endereço individual.
{"emailAddress":"[email protected]"}
Quando aplicada a um bucket do Amazon S3, a seguinte política concede ao SES permissão de leitura
desse bucket. Para obter mais informações sobre como anexar políticas aos buckets do Amazon S3,
consulte Uso de políticas de bucket e políticas de usuário no Guia do usuário do Amazon Simple Storage
Service.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSESGet",
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::BUCKET-NAME/OBJECT-NAME",
"Condition": {
"StringEquals": {
"aws:Referer": "AWSACCOUNTID"
}
}
}
]
}
Se o objeto do Amazon S3 for criptografado com uma chave do AWS KMS, você precisa conceder ao
Amazon SES permissão para usar a chave do AWS KMS. O SES só pode obter permissão de uma
chave gerenciada pelo cliente, não de uma chave padrão do KMS. Você precisa conceder permissão ao
SES para usar a chave gerenciada pelo cliente, adicionando uma instrução à política da chave.
Cole a seguinte instrução de política na política de chave para permitir que o SES use sua chave
gerenciada pelo cliente.
{
"Sid": "AllowSESToDecrypt",
"Effect": "Allow",
"Principal": {
"Service":"ses.amazonaws.com"
},
311
Amazon Simple Email Service Guia do desenvolvedor
Remover endereços de e-mail em massa
da lista de supressão no nível da conta
"Action": [
"kms:Decrypt",
],
"Resource": "*"
}
Note
O exemplo a seguir pressupõe que a AWS CLI já foi instalada. Para obter mais informações sobre
a instalação e a configuração da AWS CLI, consulte o Guia do usuário da AWS Command Line
Interface.
Na linha de comando, insira o seguinte comando: Substitua s3Bucket pelo nome do bucket do Amazon
S3 e s3object pelo nome do objeto do Amazon S3.
Para remover endereços de e-mail em massa da sua lista de supressão por conta usando o
console do SES:
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Suppression list (Lista de
supressão).
3. Na tabela Suppression list (Lista de supressão), expanda o botão Bulk actions (Ações em massa) e
selecione Remove e-mail addresses in bulk (Remover endereços de e-mail em massa).
4. Em Bulk action specifications (Especificações da ação em massa), selecione (a) Choose file from
S3 bucket (Escolher arquivo do bucket do S3) ou (b) Import from file (Importar do arquivo). Os
procedimentos indicados para cada método de importação estão abaixo:
a. Choose file from S3 bucket (Escolher arquivo do bucket do S3) - Se seu arquivo de origem já
estiver armazenado em um bucket do Amazon S3:
i. Se você sabe o URI do bucket do Amazon S3 que deseja usar, insira-o no campo Amazon
S3 URI (URI do Amazon S3); caso contrário, escolha Browse S3 (Procurar no S3):
i. Em Import source file (Importar arquivo de origem), selecione Choose file (Escolher arquivo).
312
Amazon Simple Email Service Guia do desenvolvedor
Visualização de uma lista de
trabalhos de importação para a conta
ii. Selecione o arquivo JSON ou CSV no navegador de arquivos e escolha Open (Abrir). Você
verá o nome, o tamanho e a data do seu arquivo exibidos sob o botão Choose file (Escolher
arquivo).
iii. Expanda Amazon S3 bucket (Bucket do Amazon S3) e selecione o bucket do S3.
• Para carregar seu arquivo em um novo bucket, escolha Create S3 bucket (Criar bucket
do S3), insira um nome no campo Bucket name (Nome do bucket) e escolha Create
bucket (Criar bucket).
iv. Escolha Remove e-mail addresses (Remover endereços de e-mail) para iniciar a importação
de endereços do seu arquivo - uma tabela abaixo da guia Bulk actions (Ações em massa) é
exibida.
5. Independentemente do método de importação que você usou, seu ID de trabalho será listado em Bulk
actions (Ações em massa), juntamente com o tipo de importação, o status e a data. Para exibir os
detalhes do trabalho, selecione o ID do trabalho.
6. Selecione a guia Suppression list (Lista de supressão) e todos os endereços de e-mail importados
com êxito que foram removidos da sua lista de supressão não serão mais exibidos.
O procedimento a seguir pressupõe que a AWS CLI já foi instalada. Para obter mais informações
sobre a instalação e a configuração da AWS CLI, consulte o Guia do usuário da AWS Command
Line Interface.
O comando anterior retorna todos os trabalhos de importação da conta. A saída será semelhante ao
seguinte exemplo:
{
"ImportJobs": [
{
"CreatedTimestamp": 2020-07-31T06:06:55Z",
"ImportDestination": {
"SuppressionListDestination": {
"SuppressionListImportAction": "PUT"
}
},
"JobStatus": "COMPLETED",
"JobId": "755380d7-fbdb-4ed2-a9a3-06866220f5b5"
},
{
"CreatedTimestamp": "2020-07-30T18:45:32Z",
"ImportDestination": {
"SuppressionListDestination": {
313
Amazon Simple Email Service Guia do desenvolvedor
Obtenção de informações sobre um
trabalho de importação para a conta
"SuppressionListImportAction": "DELETE"
}
},
"JobStatus": "COMPLETED",
"JobId": "076683bd-a7ee-4a40-9754-4ad1161ba8b6"
},
{
"CreatedTimestamp": "2020-08-05T16:45:18Z",
"ImportDestination": {
"SuppressionListDestination": {
"SuppressionListImportAction": "PUT"
}
},
"JobStatus": "COMPLETED",
"JobId": "6e261869-bd30-4b33-b1f2-9e035a83a395"
}
]
}
Para exibir uma lista de todos os trabalhos de importação para a conta usando o console do SES:
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Suppression list (Lista de
supressão).
3. No painel Suppression list (Lista de supressão), selecione a guia Bulk actions (Ações em massa).
4. Todos os trabalhos de importação serão listados na tabela Bulk actions (Ações em massa),
juntamente com o tipo de importação, o status e a data.
5. Para exibir detalhes da tarefa, selecione o ID do trabalho e os seguintes painéis são exibidos:
a. Bulk action status (Status da ação em massa): mostra o status geral dos trabalhos, a hora e a
data em que foram concluídas, quantos registros foram importados e a contagem de todos os
registros que não foram importados com êxito.
b. Bulk action details (Detalhes da ação em massa): mostra o ID do trabalho, se ele foi usado para
adicionar ou remover endereços, se o formato do arquivo era JSON ou CSV, o URI do bucket
do Amazon S3 onde o arquivo em massa foi armazenado e a hora e a data em que a ação em
massa foi criada.
O procedimento a seguir pressupõe que a AWS CLI já foi instalada. Para obter mais informações
sobre a instalação e a configuração da AWS CLI, consulte o Guia do usuário da AWS Command
Line Interface.
314
Amazon Simple Email Service Guia do desenvolvedor
Desabilitação da lista de supressão no nível da conta
O comando anterior retorna informações sobre um trabalho de importação para a conta. A saída será
semelhante ao seguinte exemplo:
{
"ImportDataSource": {
"S3Url": "s3://bucket/object",
"DataFormat": "CSV"
},
"ProcessedRecordsCount": 2,
"FailureInfo": {
"FailedRecordsS3Url": "s3presignedurl"
},
"JobStatus": "COMPLETED",
"JobId": "jobid",
"CreatedTimestamp": "2020-08-12T17:05:15Z",
"FailedRecordsCount": 1,
"ImportDestination": {
"SuppressionListDestination": {
"SuppressionListImportAction": "PUT"
}
},
"CompletedTimestamp": "2020-08-12T17:06:42Z"
}
Para obter informações sobre um trabalho de importação para a conta usando o console do SES:
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Suppression list (Lista de
supressão).
3. No painel Suppression list (Lista de supressão), selecione a guia Bulk actions (Ações em massa).
4. Todos os trabalhos de importação serão listados na tabela Bulk actions (Ações em massa),
juntamente com o tipo de importação, o status e a data.
5. Para exibir detalhes da tarefa, selecione o ID do trabalho e os seguintes painéis são exibidos:
a. Bulk action status (Status da ação em massa): mostra o status geral dos trabalhos, a hora e a
data em que foram concluídas, quantos registros foram importados e a contagem de todos os
registros que não foram importados com êxito.
b. Bulk action details (Detalhes da ação em massa): mostra o ID do trabalho, se ele foi usado para
adicionar ou remover endereços, se o formato do arquivo era JSON ou CSV, o URI do bucket
do Amazon S3 onde o arquivo em massa foi armazenado e a hora e a data em que a ação em
massa foi criada.
O procedimento a seguir pressupõe que a AWS CLI já foi instalada. Para obter mais informações
sobre a instalação e a configuração da AWS CLI, consulte o Guia do usuário da AWS Command
Line Interface.
315
Amazon Simple Email Service Guia do desenvolvedor
Uso da supressão no nível do conjunto de configurações
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Suppression list (Lista de
supressão).
3. No painel Account-level settings (Configurações no nível da conta), escolha Edit (Editar).
4. Em Suppression list (Lista de supressão), desmarque a caixa Enabled (Habilitada).
5. Selecione Save changes.
Com a supressão no nível do conjunto de configurações, existem diferentes níveis para substituir sua
supressão no nível da conta, incluindo não usar nenhuma supressão. Para ajudar a entender esses vários
níveis de supressão que podem ser configurados nos seguintes procedimentos de console, o mapa de
relacionamento a seguir modela o conjunto de decisões que você pode tomar para habilitar ou desabilitar
vários níveis de substituições. Dependendo da combinação dessas substituições, elas podem ser usadas
para implementar três diferentes níveis de supressão:
316
Amazon Simple Email Service Guia do desenvolvedor
Habilitação da supressão no nível
do conjunto de configurações
Lembre-se de que a supressão no nível do conjunto de configurações não é uma lista de supressão
real, mas simplesmente um mecanismo para substituir sua lista de supressão no nível da conta por
configurações de supressão personalizadas definidas em um conjunto de configurações. Isso significa
que qualquer e-mail enviado usando esse conjunto de configurações usará apenas suas próprias
configurações de supressão e ignorará qualquer configuração de supressão no nível da conta. Em outras
palavras, a supressão no nível do conjunto de configurações interage com sua lista de supressão no nível
da conta alterando (substituindo) os motivos de supressão que determinam quais endereços de e-mail são
adicionados à lista de supressão no nível da conta.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Configuration sets (Conjuntos de
configurações).
3. Em Configuration sets (Conjuntos de configurações), escolha o nome do conjunto de configurações
que deseja configurar com supressão personalizada.
317
Amazon Simple Email Service Guia do desenvolvedor
Uso do gerenciamento de listas
4. No painel Supression list options (Opções de lista de supressão), escolha Edit (Editar).
5.
A seção Supression list options (Opções de lista de supressão) fornece um conjunto de decisões
para definir a supressão personalizada, começando com a opção de usar esse conjunto de
configurações para substituir a supressão no nível da conta. O configuration set-level suppression
logic map (p. 316) (mapa lógico de supressão no nível do conjunto de configurações) ajudará você
a entender os efeitos das combinações de substituição. Essas seleções em várias camadas de
substituições podem ser combinadas para implementar três níveis diferentes de supressão:
a. Use account-level supression (Usar supressão no nível da conta): Não substituir a supressão no
nível da conta e não implementar nenhuma supressão no nível do conjunto de configurações -
basicamente, qualquer e-mail enviado usando esse conjunto de configurações usará apenas a
supressão no nível da conta. Para fazer isso:
Usando a operação ListContacts na API v2 do Amazon SES, você pode recuperar uma lista de todos
os seus contatos que assinaram um tópico específico, para quem você pode enviar e-mails usando a
operação SendEmail.
Você pode adicionar ou remover manualmente endereços individuais ou em massa da lista de supressão
no nível da conta usando o console ou a API v2 do Amazon SES. Para obter mais informações, consulte:
• Como adicionar endereços de e-mail individuais à lista de supressão no nível da conta (p. 304)
• Remover endereços de e-mail individuais da lista de supressão no nível da conta (p. 309)
318
Amazon Simple Email Service Guia do desenvolvedor
Visão geral de gerenciamento de listas
• Adicionar endereços de e-mail em massa à lista de supressão no nível da conta (p. 305)
• Remover endereços de e-mail em massa da lista de supressão no nível da conta (p. 310)
Note
Para adicionar ou remover endereços em massa, você deve ter acesso de produção. Para saber
mais sobre a sandbox, consulte Saída da sandbox do Amazon SES (p. 32).
No comando anterior, substitua CONTACT-LIST-JSON pelo caminho para o arquivo JSON de sua
solicitação CreateContactList.
319
Amazon Simple Email Service Guia do desenvolvedor
Configuração de gerenciamento de listas
{
"ContactListName": "ExampleContactListName",
"Description": "Creating a contact list example",
"Topics": [
{
"TopicName": "Sports",
"DisplayName": "Sports Newsletter",
"Description": "Sign up for our free newsletter to receive updates on all
sports.",
"DefaultSubscriptionStatus": "OPT_OUT"
},
{
"TopicName": "Cycling",
"DisplayName": "Cycling newsletter",
"Description": "Never miss a cycling update by subscribing to our
newsletter.",
"DefaultSubscriptionStatus": "OPT_IN"
},
{
"TopicName": "NewProducts",
"DisplayName": "New products",
"Description": "Hear about new products by subscribing to this mailing list.",
"DefaultSubscriptionStatus": "OPT_IN"
},
{
"TopicName": "DailyUpdates",
"DisplayName": "Daily updates",
"Description": "Start your day with sport updates, Monday through Friday.",
"DefaultSubscriptionStatus": "OPT_OUT"
}
]
}
Criar um contato
Você pode usar a operação CreateContact na API v2 do Amazon SES para criar um contato. É possível
definir essa configuração de forma rápida e fácil usando a AWS CLI. Para obter mais informações sobre a
instalação e a configuração da AWS CLI, consulte o Guia do usuário da AWS Command Line Interface.
No comando anterior, substitua CONTACT-JSON pelo caminho para o arquivo JSON de sua solicitação
CreateContact.
{
"ContactListName": "ExampleContactListName",
"EmailAddress": "[email protected]",
"UnsubscribeAll": false,
"TopicPreferences": [
{
"TopicName": "Sports",
"SubscriptionStatus": "OPT_IN"
}
320
Amazon Simple Email Service Guia do desenvolvedor
Configuração de gerenciamento de listas
],
"AttributesData": "{\"Name\": \"John\", \"Location\": \"Seattle\"}"
}
No exemplo acima, um valor UnsubscribeAll de false mostra que o contato não cancelou a
assinatura de todos os tópicos. Já um valor de true significaria que o contato cancelou a assinatura
de todos os tópicos.
O AttributesData é um campo JSON onde você pode colocar qualquer metadado sobre o nosso
contato. Ele deve ser um objeto JSON válido.
Você deve criar uma lista de contatos antes de importar seus contatos.
Note
Você pode adicionar até 1 milhão de contatos a uma lista de contatos por ImportJob.
Para adicionar contatos em massa à sua lista de contatos, realize as etapas a seguir.
Formato CSV
A primeira linha do arquivo carregado para o Amazon S3 deve ser uma linha de cabeçalho.
O objeto topicPreferences precisa ser simplificado para o formato CSV. Cada tópico no
topicPreferences terá um campo de cabeçalho separado.
Exemplo de formato CSV para adicionar contatos em lote a uma lista de contatos:
emailAddress,unsubscribeAll,attributesData,topicPreferences.Sports,topicPreferences.Cycling
[email protected],false,{"Name": "John"},OPT_IN,OPT_OUT
[email protected],true,,OPT_OUT,OPT_OUT
Formato JSON
Somente arquivos JSON delimitados por nova linha são aceitos. Nesse formato, cada linha é um objeto
JSON completo que contém as informações de um contato.
Exemplo de formato JSON para adicionar contatos em lote a uma lista de contatos:
{
"emailAddress": "[email protected]",
"unsubscribeAll": false,
"attributesData": "{\"Name\":\"John\"}",
"topicPreferences": [
321
Amazon Simple Email Service Guia do desenvolvedor
Configuração de gerenciamento de listas
{
"topicName": "Sports",
"subscriptionStatus": "OPT_IN"
},
{
"topicName": "Cycling",
"subscriptionStatus": "OPT_OUT"
}
]
}
{
"emailAddress": "[email protected]",
"unsubscribeAll": true,
"topicPreferences": [
{
"topicName": "Sports",
"subscriptionStatus": "OPT_OUT"
},
{
"topicName": "Cycling",
"subscriptionStatus": "OPT_OUT"
}
]
}
Os atributos a seguir são suportados ao carregar seus contatos em um objeto do Amazon S3 no formato
CSV ou JSON:
Atributo Descrição
Quando aplicada a um bucket do Amazon S3, a seguinte política concede ao Amazon SES permissão
de leitura nesse bucket. Para obter mais informações sobre como anexar políticas aos buckets do
Amazon S3, consulte Uso de políticas de bucket e políticas de usuário no Guia do usuário do Amazon
Simple Storage Service.
{
"Version": "2012-10-17",
"Statement": [
{
322
Amazon Simple Email Service Guia do desenvolvedor
Configuração de gerenciamento de listas
"Sid": "AllowSESGet",
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::BUCKET-NAME/OBJECT-NAME",
"Condition": {
"StringEquals": {
"aws:Referer": "AWSACCOUNTID"
}
}
}
]
}
• Conceder permissão ao Amazon SES para usar sua chave do AWS KMS.
Se o objeto do Amazon S3 for criptografado com uma chave do AWS KMS, você precisa conceder ao
Amazon SES permissão para usar a chave do KMS. O Amazon SES só pode obter permissão para uma
chave gerenciada pelo cliente, não para uma chave do KMS padrão. Você deve conceder ao Amazon
SES permissão para usar a chave gerenciada pelo cliente, adicionando uma instrução à política ds
chaves.
Cole a seguinte instrução de política na política de chaves para permitir que o Amazon SES use sua
chave gerenciada pelo cliente.
{
"Sid": "AllowSESToDecrypt",
"Effect": "Allow",
"Principal": {
"Service":"ses.amazonaws.com"
},
"Action": [
"kms:Decrypt",
],
"Resource": "*"
}
Note
O exemplo a seguir pressupõe que a AWS CLI já foi instalada. Para obter mais informações sobre
a instalação e a configuração da AWS CLI, consulte o Guia do usuário da AWS Command Line
Interface.
Na linha de comando, insira o seguinte comando: Substitua s3Bucket pelo nome do bucket do Amazon
S3 e s3object pelo nome do objeto do Amazon S3.
323
Amazon Simple Email Service Guia do desenvolvedor
Demonstração do gerenciamento de listas com exemplos
1. Listar contatos usando a AWS CLI: você pode usar a operação ListContacts para recuperar uma
lista de todos os seus contatos que assinaram um tópico específico, em conjunto com a operação
SendEmail, que permite enviar e-mails a eles.
{
"ContactListName": "ExampleContactListName",
"Filter": {
"FilteredStatus": "OPT_IN",
"TopicFilter": {
"TopicName": "Cycling",
"UseDefaultIfPreferenceUnavailable": true
}
},
"PageSize": 50
}
O FilteredStatus mostra o status da assinatura para a qual você deseja filtrar, que é OPT_IN ou
OPT_OUT.
O TopicFilter é um filtro opcional que especifica o tópico para o qual você deseja resultados e, no
exemplo acima, é “Ciclismo”.
ListManagementOptions:
String contactListName
String topicName
324
Amazon Simple Email Service Guia do desenvolvedor
Uso de o gerenciamento de assinaturas
O Amazon SES devolverá um e-mail se ele for enviado para um contato da sua lista que cancelou a
assinatura, o que significa que você não precisa atualizar as solicitações de SendEmail para evitar o
envio a contatos que fizeram o cancelamento.
3. Indique o local para os links de cancelamento de assinatura: ao utilizar ListManagementOptions
você tem a opção de permitir que o Amazon SES adicione links de rodapé de cancelamento de
assinatura no e-mail usando o espaço reservado {{amazonSESUnsubscribeUrl}} para especificar
onde o SES precisa inserir o URL de cancelamento. A substituição de espaço reservado é suportada
apenas com os tipos de conteúdo HTML e TEXT. Você pode incluir o espaço reservado duas vezes
no máximo. Se for usado mais de duas vezes, apenas as duas primeiras ocorrências são substituídas.
Para mais informações, consulte Uso de o gerenciamento de assinaturas (p. 325).
Como alternativa, se estiver usando a interface SMTP para enviar um e-mail, você pode usar o
cabeçalho X-SES-LIST-MANAGEMENT-OPTIONS para especificar um nome de lista e de tópico.
Para especificar um nome de lista e tópico ao enviar e-mail usando a interface SMTP, adicione o
seguinte cabeçalho de e-mail à sua mensagem:
Se um contato cancelar a assinatura de um tópico ou lista específicos, o Amazon SES não permitirá o
envio de e-mails ao contato para esse tópico ou lista no futuro.
Note
O gerenciamento de assinaturas está disponível para os que usam Easy DKIM no Amazon
SES (p. 185), mas não é possível para o Amazon SES adicionar os links de cancelamento de
assinatura ao seu e-mail para os remetentes que assinam e-mails eles mesmos antes de chamar
o Amazon SES.
Para obter informações sobre o gerenciamento de listas e como usá-lo, incluindo como recuperar uma
lista de todos os seus contatos que assinaram um tópico específico, consulte Uso do gerenciamento de
listas (p. 318).
• O gerenciamento de assinaturas será totalmente gerenciado pelo Amazon SES. Isso significa que
o Amazon SES recebe e-mails de cancelamento de assinatura e solicitações da página da Web de
cancelamento de assinatura e, em seguida, atualiza as preferências do contato em sua lista. Você pode
receber notificações de cancelamento de assinatura usando notificações do conjunto de configurações.
Para obter mais informações sobre os conjuntos de configurações, consulte Uso de conjuntos de
configurações no Amazon SES (p. 270).
325
Amazon Simple Email Service Guia do desenvolvedor
Considerações sobre o cabeçalho
de cancelamento de assinatura
• Você precisa especificar a lista de contatos ao enviar o e-mail. O gerenciamento de assinaturas por
meio dos links de cabeçalho Link-Unsubscribe e de rodapé ListManagementOptions será tratado
apropriadamente.
• O Amazon SES é compatível com os padrões de cabeçalho List-Unsubscribe, o que permite que
clientes de e-mail e provedores de caixa de entrada exibam um link de cancelamento da assinatura
na parte superior do e-mail se forem compatíveis. Nem todos os provedores de serviço de e-mail são
compatíveis com esses cabeçalhos.
• Os cabeçalhos List-Unsubscribe seguem o seguinte comportamento:
• Se um contato clica no link de cancelamento da assinatura em um e-mail que têm a lista de contatos e
o tópico especificados, apenas a assinatura desse tópico específico é cancelada para o contato.
• Se o tópico não for especificado, o contato será cancelado de todos os tópicos da lista.
• Os contatos são levados para uma página de destino de cancelamento de assinatura quando clicam em
um link de cancelamento de assinatura no rodapé do e-mail.
• A página de destino de cancelamento de assinatura da aos contatos a opção de atualizar suas
preferências, o que significa OPT_IN ou OPT_OUT, para todos os tópicos de uma determinada lista. A
página de destino também oferece a opção de cancelar a assinatura de todos os tópicos da lista.
• Se estiver usando ListManagementOptions, você deve incluir um espaço reservado
{{amazonSESUnsubscribeUrl}} em seus e-mails para indicar onde o Amazon SES precisa inserir o
URL de cancelamento da assinatura. Você pode incluir o espaço reservado duas vezes no máximo. Se
for usado mais de duas vezes, apenas as duas primeiras ocorrências são substituídas.
• Os links de cabeçalho List-Unsubscribe e de rodapé ListManagementOptions serão adicionados
somente se o e-mail estiver sendo enviado para um único destinatário.
• Para e-mails transacionais em que você não deseja que os contatos possam cancelar a assinatura, é
possível omitir o campo ListManagementOptions com sua solicitação de SendEmail.
List-Unsubscribe
List-Unsubscribe-Post
Os destinatários que cancelarem a assinatura clicando no link produzido por esses cabeçalhos terão uma
experiência diferente dependendo do cliente de e-mail ou provedor da caixa de entrada porque alguns
provedores não reconhecem os cabeçalhos List-Unsubscribe e List-Unsubscribe-Post. O e-mail
que for enviado aos destinatários usando esses provedores não exibirá o link para cancelar a assinatura.
Os destinatários cujo cliente de e-mail reconhece esses cabeçalhos verão o link para cancelar a assinatura
e poderão fazer isso por meio do link, mas não terão a opção de escolher de qual tópico cancelar a
assinatura, apenas farão o cancelamento do tópico ao qual o e-mail foi enviado.
Para obter mais informações sobre o cabeçalho List-Unsubscribe, consulte RFC 2369 e, para o
cabeçalho List-Unsubscribe-Post, consulte RFC 8058.
326
Amazon Simple Email Service Guia do desenvolvedor
Adição de um link de cancelamento de assinatura no rodapé
A substituição de espaço reservado é suportada apenas com os tipos de conteúdo HTML e TEXT.
Você pode incluir o espaço reservado duas vezes no máximo. Se for usado mais de duas vezes, apenas
as duas primeiras ocorrências são substituídas.
Note
327
Amazon Simple Email Service Guia do desenvolvedor
Esses métodos de monitoramento ajudam a manter o controle de medidas importantes, como as taxas de
devolução, reclamação e rejeição da sua conta. Taxas de devolução e reclamação excessivamente altas
podem prejudicar sua capacidade de enviar e-mails usando o SES. Esses métodos também podem ser
usados para medir as taxas nas quais seus clientes se envolvem com os e-mails que você envia, ajudando
você a identificar suas taxas gerais de abertura e cliques, utilizando a publicação de eventos e domínios
personalizados associados a conjuntos de configurações. Consulte Configurar domínios personalizados
para lidar com rastreamento de abertura e clique (p. 281).
• Send (Envio): a solicitação de envio foi bem-sucedida e o Amazon SES tentará entregar a mensagem ao
servidor de e-mail do destinatário. (Se a supressão global ou no nível da conta estiver sendo usada, o
SES ainda contará como um envio, mas a entrega está suprimida.)
• Rendering Failure (Falha de renderização): o e-mail não foi enviado por causa de 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 só ocorre quando você envia e-mails usando as operações de API SendTemplatedEmail ou
SendBulkTemplatedEmail)
• Reject (Rejeição): o Amazon SES aceitou 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.
• Delivery (Entrega): o Amazon SES entregou com êxito o e-mail ao servidor de e-mail do destinatário.
• Hard bounce (Devolução definitiva): o servidor de e-mail do destinatário rejeitou permanentemente o e-
mail. (Soft bounces (Devoluções flexíveis) só são incluídas quando o Amazon SES deixa de entregar o
e-mail depois de várias tentativas durante um período de tempo.)
• Complaint (Reclamação): o e-mail foi entregue com sucesso ao servidor de e-mail do destinatário, mas o
destinatário marcou-o como spam.
• Delivery Delay (Atraso na entrega): o e-mail não foi 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.
• Subscription (Assinatura): o e-mail foi entregue com êxito, mas o destinatário atualizou as preferências
de assinatura clicando em List-Unsubscribe no cabeçalho do e-mail ou no link Unsubscribe no
rodapé.
• Open (Abertura): o destinatário recebeu a mensagem e a abriu em seu cliente de e-mail.
• Click (Clique): o destinatário clicou em um ou mais links no e-mail.
328
Amazon Simple Email Service Guia do desenvolvedor
Você pode monitorar eventos de envio de e-mail de várias maneiras. O método escolhido depende do tipo
de evento que você deseja monitorar, da granularidade e do nível de detalhes com que deseja monitorá-
lo e do local onde você deseja que o Amazon SES publique os dados. Você precisa usar notificações
de comentários ou a publicação de eventos para rastrear eventos de devolução e de reclamação. Você
também pode optar por usar vários métodos de monitoramento. As características de cada método são
listadas na tabela a seguir.
329
Amazon Simple Email Service Guia do desenvolvedor
Note
As métricas avaliadas por eventos de envio de e-mail podem não se alinhar perfeitamente com
suas cotas de envio. Essa discrepância pode ser causada por devoluções e rejeições de e-mail,
ou pelo uso do simulador de caixa de entrada do Amazon SES. Para saber se você está próximo
de atingir suas cotas de envio, consulte Monitoramento de cotas de envio (p. 40).
Para obter informações sobre como usar cada método de monitoramento, consulte os seguintes tópicos:
330
Amazon Simple Email Service Guia do desenvolvedor
Monitorar com o uso do console
• Monitoramento de suas estatísticas de envio com o uso do console do Amazon SES (p. 331)
• Monitoramento de suas estatísticas de uso usando a API do Amazon SES (p. 334)
• Monitorar o envio de e-mails usando a publicação de eventos do Amazon SES (p. 337)
É necessário observar que, embora as duas páginas the section called “Painel da conta” (p. 331) e
the section called “Métricas de reputação” (p. 332) do console contenham métricas de devolução e
reclamação, há uma diferença sutil entre esses dois conjuntos de taxas de devolução e reclamação,
conforme explicado abaixo:
• Account dashboard page (Página Painel da conta): com base no intervalo de datas selecionado, você
pode ver quais eram as taxas de rejeição e reclamação no passado, mostrando a progressão métrica da
mudança que aconteceu anteriormente.
• Página Reputation metrics (Métricas de reputação): taxas de devolução e reclamação baseadas no
último ponto de dados recebido ao calcular sua média histórica geral detalhada (isso não deve ser
confundido com sua taxa regular de devoluções/reclamações, que corresponde a eventos precisos de
devoluções/reclamações conforme eles ocorrem em tempo real, como mostrado na página Account
dashboard (Painel da conta).
Vejamos um exemplo simples de comparação das taxas de devolução ou reclamação entre a página
Reputation metrics (Métricas de reputação) e a página Account dashboard (Painel da conta). Se a taxa foi
2% ontem e for 1% agora, na página Reputation metrics (Métricas de reputação), você verá apenas a taxa
atual de 1%, mas na página Account dashboard (Painel da conta), os grafos traçarão a progressão gráfica
mostrando uma taxa de 2% para ontem e 1% para hoje.
Painel da conta
Você pode monitorar o número de e-mails enviados de sua conta, bem como a porcentagem de sua
cota de envio que foi usada, diretamente na página Account dashboard (Painel da conta) do console
do Amazon SES no painel Daily email usage (Uso diário de e-mail). As taxas de entrega e rejeição da
sua conta podem ser monitoradas no painel Sending Statistics (Estatísticas de envio), bem como outros
fatores-chave relacionados ao envio de e-mail nos seguintes painéis:
• Sending limits (Limites do envio): contém as seguintes cotas aplicáveis ao envio de e-mails pelo SES:
• Daily sending quota (Cota de envio diário): o número máximo de e-mails que você pode enviar em um
período de 24 horas.
• Maximum send rate (Taxa máxima de envio): o número máximo de e-mails que podem ser enviados
da sua conta por segundo.
• Account health (Integridade da conta): o status da conta do SES:
• Healthy: não há problemas relacionados à reputação que atualmente impactem sua conta.
• Under review: foram identificados problemas potenciais com sua conta do SES. A conta ficará sob
análise enquanto você trabalha na correção dos problemas.
• Paused: no momento, sua conta está pausada devido a um problema com um e-mail enviado de sua
conta. Quando o problema for corrigido, você poderá solicitar que a capacidade da conta para enviar
e-mails seja retomada.
331
Amazon Simple Email Service Guia do desenvolvedor
Métricas de reputação
• Daily email usage (Uso diário de e-mails): para verificar seu uso diário e garantir que você não esteja se
aproximando dos limites de envio:
• Emails sent (E-mails enviados): número total de e-mails enviados em um período de 24 horas.
• Remaining sends (Envios restantes): o número total de e-mails restantes disponíveis a serem
enviados no período de 24 horas.
• Sending quota used (Cota de envio usada): porcentagem da cota de envio diária usada.
• SMTP settings (Configurações de SMTP): se você quiser usar uma linguagem de programação, um
servidor de e-mail ou uma aplicação habilitada para SMTP a fim de se conectar à interface SMTP do
Amazon SES, as seguintes informações serão fornecidas:
• Endpoint de SMTP
• Porta STARTTLS
• Transport Layer Security (TLS)
• Porta do TLS Wrapper
• Links de autenticação fornecidos para credenciais do SMTP e do IAM
• Sending statistics (Estatísticas de envios): compostas de grafos que mostram a progressão de quatro
métricas essenciais em um conjunto de pontos de dados ordenados por tempo. Eles representam os
valores de um tipo de evento monitorado produzindo estatísticas para o intervalo de datas selecionado
que usa um período de agregação de 1 hora. Você pode selecionar um intervalo de dados com valores
iniciais de Last 1 day a Last 14 days para filtrar os gráficos abaixo:
• Sends (Envios): a soma das solicitações de envio de e-mail bem-sucedidas durante o intervalo de
datas selecionado.
• Rejects (Rejeições): a taxa média de solicitações de envio rejeitadas pelo SES com base em
Rejects/Sends * 100 para o intervalo de datas selecionado.
• Bounces (Devoluções): a taxa média derivada de suas métricas históricas gerais de reputação do
remetente mostrando a progressão para o intervalo de datas selecionado.
• Complaints (Reclamações): a taxa média derivada de suas métricas históricas gerais de reputação do
remetente mostrando a progressão para o intervalo de datas selecionado.
Cada um desses gráficos contém um botão View in CloudWatch (Visualizar no CloudWatch), que
abrirá a respectiva métrica no console do Amazon CloudWatch, permitindo que dados detalhados
sejam visualizados, métrica matemática personalizada executada e a criação de alarmes no
CloudWatch (p. 441).
Métricas de reputação
Além das taxas de devolução e reclamação, a página Reputation metrics (Métricas de reputação) também
oferece visibilidade detalhada de outros fatores que afetam sua reputação, consistindo nos seguintes
painéis:]
332
Amazon Simple Email Service Guia do desenvolvedor
Usar o console para monitorar métricas
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, escolha Account dashboard (Painel da conta). Suas estatísticas de uso são
mostradas em Daily email usage (Uso diário de e-mail).
333
Amazon Simple Email Service Guia do desenvolvedor
Monitorar com a API
Quando você chama a operação GetSendStatistics, recebe uma lista de pontos de dados que
representa as duas últimas semanas de sua atividade de envio. Cada ponto de dados na lista representa
15 minutos de atividade e contém as seguintes informações desse período:
Para obter uma descrição detalhada da operação GetSendStatistics, consulte a Referência da API do
Amazon Simple Email Service.
• the section called “Chamar a operação da API GetSendStatistics com a AWS CLI” (p. 335)
• the section called “Chamar a operação GetSendStatistics de forma programática” (p. 335)
334
Amazon Simple Email Service Guia do desenvolvedor
Chamar a operação da API
GetSendStatistics com a AWS CLI
1. Se você ainda não tiver feito isso, instale a AWS CLI. Para obter mais informações, consulte "Instalar
a AWS Command Line Interface no Guia do usuário da AWS Command Line Interface.
2. Se você ainda fez isso, configure a AWS CLI para usar suas credenciais da AWS. Para obter mais
informações, consulte "Configurar a AWS CLI" no Guia do usuário da AWS Command Line Interface.
3. Na linha de comando, execute o seguinte comando:
Se a AWS CLI estiver configurada corretamente, você verá uma lista de estatísticas de envio no
formato JSON. Cada objeto JSON inclui estatísticas de envio agregadas para um período de 15
minutos.
Note
Esses exemplos de código pressupõem que você criou um arquivo de credenciais compartilhadas
da AWS que contém seu ID da chave de acesso da AWS, a chave de acesso secreta da AWS e a
região da AWS de sua preferência. Para obter mais informações, consulte Credenciais e arquivos
de configuração compartilhados.
import (
"fmt"
335
Amazon Simple Email Service Guia do desenvolvedor
Chamar a operação GetSendStatistics
de forma programática
const (
// Replace us-west-2 with the AWS Region you're using for Amazon SES.
AwsRegion = "us-west-2"
)
func main() {
fmt.Println(result)
}
// Replace us-west-2 with the AWS Region you're using for Amazon SES.
define('REGION','us-west-2');
require REQUIRED_FILE;
use Aws\Ses\SesClient;
$client = SesClient::factory(array(
'version'=> 'latest',
'region' => REGION
));
try {
$result = $client->getSendStatistics([]);
echo($result);
} catch (Exception $e) {
echo($e->getMessage()."\n");
}
336
Amazon Simple Email Service Guia do desenvolvedor
Monitorar o envio de e-mails
usando a publicação de eventos do
?>
client = boto3.client('ses')
try:
response = client.get_send_statistics(
)
except ClientError as e:
print(e.response['Error']['Message'])
else:
print(json.dumps(response, indent=4, sort_keys=True, default=str))
# Replace us-west-2 with the AWS Region you're using for Amazon SES.
awsregion = "us-west-2"
begin
resp = ses.get_send_statistics({
})
puts JSON.pretty_generate(resp.to_h)
end
Você pode rastrear vários tipos de eventos de envio de e-mail, incluindo envios, entregas, aberturas,
cliques, devoluções, reclamações, rejeições, falhas de renderização e atrasos de entrega. Essas
informações podem ser úteis para fins analíticos e operacionais. Por exemplo, é possível publicar seus
dados de envio de e-mail no CloudWatch e criar painéis que acompanham a performance de suas
campanhas de e-mail, ou você pode usar o Amazon SNS para enviar notificações quando determinados
eventos ocorrerem.
337
Amazon Simple Email Service Guia do desenvolvedor
Como funciona a publicação de eventos do
Além das tags de mensagem que você especificar, o Amazon SES também adiciona etiquetas automáticas
para as mensagens enviadas. Você não precisa realizar nenhuma etapa adicional para usar tags
automáticas.
A tabela a seguir lista as tags automáticas aplicadas automaticamente às mensagens enviadas usando o
Amazon SES.
338
Amazon Simple Email Service Guia do desenvolvedor
Terminologia de publicação de eventos
• Send (Envio): a solicitação de envio foi bem-sucedida e o Amazon SES tentará entregar a
mensagem ao servidor de e-mail do destinatário. (Se a supressão global ou no nível da conta
estiver sendo usada, o SES ainda contará como um envio, mas a entrega está suprimida.)
• Rendering Failure (Falha de renderização): o e-mail não foi enviado por causa de 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 só ocorre quando você envia e-mails usando as operações de API SendTemplatedEmail
ou SendBulkTemplatedEmail)
• Reject (Rejeição): o Amazon SES aceitou 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.
• Delivery (Entrega): o Amazon SES entregou com êxito o e-mail ao servidor de e-mail do
destinatário.
• Hard bounce (Devolução definitiva): o servidor de e-mail do destinatário rejeitou permanentemente
o e-mail. (Soft bounces (Devoluções flexíveis) só são incluídas quando o Amazon SES deixa de
entregar o e-mail depois de várias tentativas durante um período de tempo.)
• Complaint (Reclamação): o e-mail foi entregue com sucesso ao servidor de e-mail do destinatário,
mas o destinatário marcou-o como spam.
• Delivery Delay (Atraso na entrega): o e-mail não foi 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.
• Subscription (Assinatura): o e-mail foi entregue com êxito, mas o destinatário atualizou as
preferências de assinatura clicando em List-Unsubscribe no cabeçalho do e-mail ou no link
Unsubscribe no rodapé.
• Open (Abertura): o destinatário recebeu a mensagem e a abriu em seu cliente de e-mail.
• Click (Clique): o destinatário clicou em um ou mais links no e-mail.
Conjunto de configurações
Um conjunto de regras que define o destino no qual o Amazon SES publica eventos de envio de e-
mail e os tipos de eventos de envio de e-mail que você deseja publicar. Quando você envia um e-mail
que deseja usar com a publicação do evento, precisa especificar o conjunto de configurações a ser
associado ao e-mail.
Destino do evento
Um serviço da AWS no qual você publica eventos de envio de e-mail do Amazon SES. Cada destino
de evento que você configura pertence a um, e apenas um, conjunto de configurações.
Tag de mensagem
Um par de nome/valor que você usa para classificar um e-mail para a finalidade de publicação de
eventos. Alguns exemplos são campanha/livro e campanha/roupas. Quando você envia um e-mail,
especifica a etiqueta da mensagem como parâmetro para a chamada de API ou como um cabeçalho
de e-mail específico do Amazon SES.
Tag automática
Tags de mensagens que são incluídas automaticamente nos relatórios de publicação de eventos.
Há uma etiqueta automática para o nome do conjunto de configurações, o domínio do endereço de
oritem, o endereço IP de saída do chamador, o endereço IP de saída do Amazon SES e a identidade
do IAM do autor da chamada.
339
Amazon Simple Email Service Guia do desenvolvedor
Configurar a publicação de eventos
• Amazon CloudWatch
• Amazon Kinesis Data Firehose
• Amazon Pinpoint
• Amazon Simple Notification Service (Amazon SNS)
As etapas a seguir, necessárias para configurar a publicação de eventos, são abordadas nos tópicos
abaixo:
1. Primeiro, você cria um conjunto de configurações usando o console ou a API do Amazon SES.
2. Adicione um ou mais destinos de evento (CloudWatch, Kinesis Data Firehose, Pinpoint ou SNS) ao
conjunto de configurações e defina parâmetros exclusivos para o destino de eventos.
3. Quando envia um e-mail, você especifica um conjunto de configurações a ser usado para o seu destino
de eventos.
Você também pode criar conjuntos de configurações usando a operação CreateConfigurationSet na API
V2 do Amazon SES ou na CLI do Amazon SES v2, consulte Criar um conjunto de configurações (AWS
CLI) (p. 273).
Quando configura um destino de eventos, você pode optar por enviar eventos para um dos seguintes
serviços da AWS:
• Amazon CloudWatch
• Amazon Kinesis Data Firehose
• Amazon Pinpoint
• Amazon Simple Notification Service (Amazon SNS)
340
Amazon Simple Email Service Guia do desenvolvedor
Configurar a publicação de eventos
O destino de evento escolhido depende do nível de detalhes desejado sobre os eventos e da maneira
como você deseja receber as informações sobre o evento. Se quiser apenas um total atualizado de cada
tipo de evento (por exemplo, para poder definir um alarme quando o total for muito alto), você pode usar o
CloudWatch.
Se quiser registros de eventos detalhados para exportar para outro serviço, como o Amazon OpenSearch
Service ou o Amazon RedShift, para análise, você pode usar o Kinesis Data Firehose.
Se quiser receber notificações quando ocorrerem certos eventos, você pode usar o Amazon SNS.
Por exemplo, você pode ter uma tag de mensagem e uma dimensão chamada campaign, que você usa
para identificar sua campanha de e-mails. Ao publicar os eventos de envio de e-mails no CloudWatch, é
importante escolher as tags de mensagens e as dimensões, pois são opções que afetam seu faturamento
do CloudWatch e determinam como você pode filtrar seus dados de evento de envio de e-mails no
CloudWatch.
Esta seção apresenta informações para ajudá-lo a escolher as dimensões e mostra como adicionar um
destino de evento do CloudWatch a um conjunto de configurações.
1. Estas são as instruções detalhadas para selecionar o CloudWatch como o tipo de destino de eventos
na Etapa 7 (p. 279) e pressupõem que você tenha concluído as etapas anteriores no Criação de um
destino de eventos (p. 277). Depois de selecionar o Destination type (Tipo de destino) do CloudWatch
341
Amazon Simple Email Service Guia do desenvolvedor
Configurar a publicação de eventos
• Message Tag (Etiqueta de mensagem); o Amazon SES recupera o nome e o valor da dimensão de
uma etiqueta que você especifica usando o cabeçalho X-SES-MESSAGE-TAGS ou o parâmetro de
API Tags. Para obter mais informações sobre como usar tags de mensagem, consulte the section
called “Etapa 3: Especificar o conjunto de configurações no envio” (p. 348).
Note
Tags de mensagens podem incluir números de 0-9, as letras A-Z (letras maiúsculas e
minúsculas), hífens (-) e sublinhados (_).
Você também pode usar a origem do valor Message Tag (Etiqueta de mensagem) para criar
dimensões com base nas etiquetas automáticas do Amazon SES. Para usar uma tag automática,
digite o nome completo da tag automática como o Dimension Name (Nome da dimensão). Por
exemplo, para criar uma dimensão com base no conjunto de configuração de tags automáticas,
use ses:configuration-set para o Dimension Name (Nome da dimensão), e o nome do
conjunto de configurações para o Default Value (Valor padrão). Para obter uma lista completa de
tags automáticas, consulte Como funciona a publicação de eventos do (p. 338).
• Email Header (Cabeçalho de e-mail): o Amazon SES recupera o nome e o valor da dimensão de um
cabeçalho no e-mail.
Note
Nenhum dos cabeçalhos de e-mail a seguir pode ser usado como Dimension Name:
Received, To, From, DKIM-Signature, CC, message-id ou Return-Path.
• Link Tag (Etiqueta de link): o Amazon SES recupera o nome e o valor da dimensão de uma etiqueta
que você especificou em um link. Para obter mais informações sobre a adição de tags em links,
consulte Posso usar tags em links com identificadores exclusivos? (p. 583).
3. Em Dimension Name (Nome da dimensão), digite o nome da dimensão que você deseja passar para o
CloudWatch.
Note
Quando você escolher nomes e valores para usar como dimensões do CloudWatch, considere os
seguintes fatores:
342
Amazon Simple Email Service Guia do desenvolvedor
Configurar a publicação de eventos
• Price per metric (Preço por métrica): você pode visualizar as métricas básicas do Amazon SES no
CloudWatch gratuitamente. No entanto, ao coletar métricas usando a publicação de eventos, você cria
métricas personalizadas no CloudWatch. Cada combinação única de tipo de evento, nome de dimensão
e valor de dimensão cria uma métrica personalizada diferente no CloudWatch. Ao usar o CloudWatch,
você é cobrado por cada métrica personalizada que cria. Por esse motivo, você pode querer evitar a
escolha de dimensões que tenham muitos valores diferentes. Por exemplo, a menos que esteja muito
interessado em rastrear seus eventos de envio de e-mails pelo domínio de origem, talvez seja melhor
não definir uma dimensão para a etiqueta automática ses:from-domain do Amazon SES, pois ela
pode assumir muitos valores diferentes. Para obter mais informações, consulte Definição de preço do
CloudWatch.
• Filtro de métrica: se uma métrica tiver várias dimensões, você não poderá acessar a métrica no
CloudWatch com base em cada dimensão separadamente. Por esse motivo, pense cuidadosamente
antes de adicionar mais de uma dimensão a um único destino de eventos do CloudWatch. Por exemplo,
se desejar métricas por campaign e por uma combinação de campaign e genre, você precisará
adicionar dois destinos de eventos: um com apenas campaign como uma dimensão, e um com
campaign e genre como dimensões.
• Origem do valor da dimensão: como alternativa para especificar os valores de dimensão usando
cabeçalhos específicos do Amazon SES ou um parâmetro para a API, você também pode escolher que
o Amazon SES extraia os valores de dimensão de seus próprios cabeçalhos de mensagens MIME. Você
pode usar essa opção caso já esteja usando cabeçalhos personalizados e não queira alterar seus e-
mails ou chamadas para a API de envio de e-mail para coletar métricas com base em seus valores de
cabeçalho. Se você usa seus próprios cabeçalhos de mensagem MIME para a publicação de eventos do
Amazon SES, os nomes e valores de cabeçalhos usados para a publicação de eventos do Amazon SES
só podem incluir letras de A a Z, números de 0 a 9, sublinhados (_), arrobas (@), hifens (-) e pontos (.).
Se você especificar um nome ou valor contendo outros caracteres, a chamada de envio de e-mail ainda
acontecerá, mas as métricas de eventos não serão enviadas para o Amazon CloudWatch.
Para obter mais informações sobre os conceitos do CloudWatch, consulte Conceitos do Amazon
CloudWatch no Guia do usuário do Amazon CloudWatch.
O procedimento nesta seção mostra como adicionar detalhes de um destino de eventos do Kinesis Data
Firehose a um conjunto de configurações e pressupõe que você tenha realizado as etapas de 1 a 6 em
Criação de um destino de eventos (p. 277).
1. Estas são as instruções detalhadas para selecionar o Kinesis Data Firehose como o tipo de destino de
eventos na Etapa 7 (p. 279) e pressupõem que você tenha concluído as etapas anteriores no Criação
de um destino de eventos (p. 277). Depois de selecionar o Destination type (Tipo de destino) do
Kinesis Data Firehose e habilitar a Event publishing (Publicação de eventos), o painel Amazon Kinesis
Data Firehose delivery stream (Fluxo de entrega do Amazon Kinesis Data Firehose) será exibido.
Seus campos são abordados nas etapas a seguir.
343
Amazon Simple Email Service Guia do desenvolvedor
Configurar a publicação de eventos
2. Em Delivery stream (Fluxo de entrega), escolha um fluxo de entrega existente do Kinesis Data
Firehose ou escolha Create new stream (Criar um novo fluxo) para criar um novo usando o console do
Kinesis Data Firehose.
Para obter mais informações sobre a criação de uma fluxo de entrega usando o console do Kinesis
Data Firehose, consulte Criação de um fluxo de entrega do Amazon Kinesis Firehose ) no Guia do
desenvolvedor do Amazon Kinesis Data Firehose.
3. Em Identity and Access Management (IAM) Role (Função do Identity and Access Management (IAM),
escolha uma função do IAM na qual o Amazon SES tenha permissão para publicar no Kinesis Data
Firehose em seu nome. Você pode escolher uma função existente, deixar que o Amazon SES crie
uma função para você ou criar sua própria função.
Se você escolher uma função existente ou criar a sua própria, deverá modificar manualmente
as políticas para conceder à função permissão para acessar o fluxo de entrega do Kinesis Data
Firehose e permitir que o Amazon SES assuma a função. Para obter exemplos de políticas, consulte
Concessão de permissão ao Amazon SES para publicar no fluxo de entrega do Amazon Kinesis Data
Firehose (p. 344).
4. Escolha Next (Próximo).
5. Na tela de revisão, se você estiver satisfeito com a forma como definiu o destino de eventos, escolha
Add destination (Adicionar destino).
Concessão de permissão ao Amazon SES para publicar no fluxo de entrega do Amazon Kinesis
Data Firehose
Para permitir que o Amazon SES a publique registros no seu fluxo de entrega do Kinesis Data Firehose,
você deve usar uma função do AWS Identity and Access Management (IAM) e anexar ou modificar a
política de permissões e a política de confiança da função. A política de permissões permite que a função
publique registros no fluxo de entrega do Kinesis Data Firehose e a política de confiança permite que o
Amazon SES assuma a função.
Esta seção apresenta exemplos das duas políticas. Para obter mais informações sobre a anexação de
políticas a funções do IAM, consulte Modificação de uma função no Guia do usuário do IAM.
Política de permissões
A política de permissões a seguir permite que a função publique registros de dados em seu fluxo de
entrega do Kinesis Data Firehose.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Action": [
"firehose:PutRecordBatch"
],
"Resource": [
"arn:aws:firehose:delivery-region:111122223333:deliverystream/delivery-stream-name"
]
}
]
}
344
Amazon Simple Email Service Guia do desenvolvedor
Configurar a publicação de eventos
• Substitua delivery-region pela região da AWS em que você criou o fluxo de entrega do Kinesis Data
Firehose.
• Substitua 111122223333 pelo ID de sua conta da AWS.
• Substitua delivery-stream-name pelo nome do fluxo de entrega do Kinesis Data Firehose.
Política de confiança
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"AWS:SourceAccount": "111122223333",
"AWS:SourceArn": "arn:aws:ses:delivery-region:111122223333:configuration-
set/configuration-set-name"
}
}
}
]
}
• Substitua delivery-region pela região da AWS em que você criou o fluxo de entrega do Kinesis Data
Firehose.
• Substitua 111122223333 pelo ID de sua conta da AWS.
• Substitua configuration-set-name pelo nome do conjunto de configurações associado ao fluxo de
entrega do Kinesis Data Firehose.
O procedimento nesta seção mostra como adicionar um destino de eventos do Amazon Pinpoint a um
conjunto de configurações e pressupõe que você tenha realizado as etapas de 1 a 6 em Criação de um
destino de eventos (p. 277).
Há cobranças adicionais para os tipos de canal que você configurou em seus projetos do Amazon Pinpoint.
Para mais informações, consulte Preços do Amazon Pinpoint.
345
Amazon Simple Email Service Guia do desenvolvedor
Configurar a publicação de eventos
1. Estas são as instruções detalhadas para selecionar o Amazon Pinpoint como o tipo de destino de
eventos na Etapa 7 (p. 279), pressupondo que você tenha concluído todas as etapas anteriores em
Criação de um destino de eventos (p. 277).
Note
Depois de selecionar Destination type (Tipo de destino) do Amazon Pinpoint e habilitar Event
publishing (Publicação de eventos), o painel Amazon Pinpoint project details (Detalhes do projeto do
Amazon Pinpoint) é exibido. Os respectivos campos são abordados nas etapas a seguir.
2. Em Project (Projeto), escolha um projeto existente do Amazon Pinpoint ou escolha Create a new
project in Amazon Pinpoint (Criar um novo projeto no Amazon Pinpoint) para criar um novo.
Para obter mais informações sobre como criar um projeto, consulte Create a project (Criar um projeto)
no Guia do usuário do Amazon Pinpoint.
3. Escolha Next (Próximo).
4. Na tela de revisão, se você estiver satisfeito com a forma como definiu o destino de eventos, escolha
Add destination (Adicionar destino). Isso abrirá a página de resumo do destino do evento, na qual um
banner de êxito confirmará se o destino do evento foi criado ou modificado com sucesso.
O procedimento nesta seção mostra como adicionar um destino de eventos do Amazon SNS a um
conjunto de configurações e pressupõe que você tenha realizado as etapas de 1 a 6 em Criação de um
destino de eventos (p. 277).
Também é possível receber notificações pelo Amazon SNS no nível da conta. Isso significa que
você pode receber notificações do Amazon SNS sempre que um evento de envio ocorrer em toda
a sua conta do Amazon SES. Usando a publicação de eventos em vez das notificações no nível
de conta, você pode configurar o Amazon SES para só enviar notificações sobre tipos de eventos
específicos ou apenas para e-mails enviados usando determinado conjunto de configurações.
Para obter mais informações sobre como configurar notificações do Amazon SNS no nível de
conta, consulte Configuração de notificação de evento para o Amazon SES (p. 210).
Há cobranças adicionais para enviar mensagens para os endpoints que estão inscritos em seus tópicos do
Amazon SNS. Para obter mais informações, consulte Preços do Amazon SNS.
1. Estas são as instruções detalhadas para selecionar o Amazon SNS como o tipo de destino de
eventos em Etapa 7 (p. 279) e pressupõem que você tenha concluído todas as etapas anteriores em
Criação de um destino de eventos (p. 277). Depois de selecionar o Destination type (Tipo de destino)
346
Amazon Simple Email Service Guia do desenvolvedor
Configurar a publicação de eventos
do Amazon SNS e habilitar o Event publishing (Publicação de eventos), o painel Amazon Simple
Notification Service (SNS) topic (Tópico do Amazon Simple Notification Service (SNS)) será exibido.
Seus campos são abordados nas etapas a seguir.
2. Em SNS Topic (Tópico do SNS), escolha um tópico existente do Amazon SNS ou escolha Create new
topic (Criar novo tópico) para criar um novo.
Para obter informações sobre a criação de um tópico, consulte Criar um tópico no Guia do
desenvolvedor do Amazon Simple Notification Service.
Important
Quando você criar seu tópico usando o Amazon SNS, em Type (Tipo), escolha apenas
Standard (Padrão). (O SES não suporta tópicos do tipo FIFO.)
3. Escolha Next (Próximo).
4. Na tela de revisão, se você estiver satisfeito com a forma como definiu o destino de eventos, escolha
Add destination (Adicionar destino). Isso abrirá a página de resumo do destino do evento, na qual um
banner de êxito confirmará se o destino do evento foi criado ou modificado com sucesso.
5. Independentemente de você ter criado um novo tópico do SNS ou selecionado um existente, será
necessário conceder acesso ao SES para publicar notificações no tópico. Na página de resumo
do destino do evento na etapa anterior, escolha Amazon SNS na coluna Destination type (Tipo de
destino) - isso levará você à lista Topics (Tópicos) no console do Amazon Simple Notification Service
-execute as seguintes etapas no console do Amazon SNS:
a. Selecione o nome do tópico do SNS que você criou ou modificou na etapa anterior.
b. Na tela de detalhes do tópico, escolha Edit (Editar).
c. Para conceder permissão ao Amazon SES para publicar notificações no tópico, na tela Edit topic
(Editar tópico), no console do SNS, expanda Access policy (Política de acesso) e, em JSON editor
(Editor JSON), adicione a seguinte política de permissão:
{
"Version": "2012-10-17",
"Id": "notification-policy",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"
},
"Action": "sns:Publish",
"Resource": "arn:aws:sns:topic_region:111122223333:topic_name",
"Condition": {
"StringEquals": {
"AWS:SourceAccount": "111122223333",
"AWS:SourceArn": "arn:aws:ses:topic_region:111122223333:configuration-
set/configuration-set-name"
}
}
}
]
}
• Substitua topic_region pela região da AWS em que você criou o tópico do SNS.
• Substitua 111122223333 pelo ID de sua conta da AWS.
• Substitua topic_name pelo nome do tópico do SNS.
• Substitua configuration-set-name pelo nome do conjunto de configurações associado ao
destino do evento do SNS.
347
Amazon Simple Email Service Guia do desenvolvedor
Configurar a publicação de eventos
Para publicar eventos associados a um e-mail, informe o nome do conjunto de configurações para associar
ao e-mail. Como opção, informe as tags de mensagens para classificar o e-mail.
Forneça essas informações para o Amazon SES como parâmetros para a API de envio de e-mail,
cabeçalhos específicos de e-mail do Amazon SES ou cabeçalhos personalizados em sua mensagem
MIME. O método escolhido depende da interface de envio de e-mail que você usa, como mostrado na
tabela a seguir.
Note
Opcionalmente, você pode incluir as tags de mensagens nos cabeçalhos de seus e-mails. Tags
de mensagens podem incluir números de 0-9, as letras A-Z (letras maiúsculas e minúsculas),
hífens (-) e sublinhados (_).
348
Amazon Simple Email Service Guia do desenvolvedor
Configurar a publicação de eventos
Para obter informações sobre o uso da API do Amazon SES, consulte a Referência da API do Amazon
Simple Email Service.
O exemplo a seguir mostra como os cabeçalhos podem aparecer em um e-mail bruto que você envia para
o Amazon SES.
------=_boundary
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
body
------=_boundary
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit
body
------=_boundary--
Os nomes e os valores de cabeçalho que você usa para publicação de eventos do Amazon SES
devem ser em ASCII. Se você especificar um nome ou valor do cabeçalho para publicação de
eventos do Amazon SES que não sejam em ASCII, a chamada de envio de e-mail ainda ocorre,
mas as métricas de evento não são emitidas para o Amazon CloudWatch.
349
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Esta seção descreve como recuperar seus eventos de envio de e-mail do Amazon CloudWatch e do
Amazon Kinesis Data Firehose, e como interpretar dados de eventos fornecidos pelo Amazon SNS.
O Amazon SES pode publicar esses eventos no CloudWatch com dois níveis de detalhes:
• Across your Conta da AWS (Em toda a sua Conta da AWS): essas métricas aproximadas,
que correspondem às métricas que você monitora usando o console do Amazon SES e a API
GetSendStatistics, refletem os totais de toda a sua Conta da AWS. O Amazon SES publica
automaticamente essas métricas no CloudWatch.
• Fine-grained (Refinadas): essas métricas são categorizadas por características de e-mail que você
define usando etiquetas de mensagem. Para publicar essas métricas no CloudWatch, você tem que
configurar a publicação de eventos (p. 340) com um destino de eventos do CloudWatch e especificar
um conjunto de configurações (p. 348) ao enviar um e-mail. Você também pode especificar etiquetas
de mensagens ou usar as etiquetas automática (p. 338) que o Amazon SES fornece automaticamente.
Métricas disponíveis
Você pode publicar as seguintes métricas de e-mail do Amazon SES no CloudWatch:
• Send (Envio): a solicitação de envio foi bem-sucedida e o Amazon SES tentará entregar a mensagem ao
servidor de e-mail do destinatário. (Se a supressão global ou no nível da conta estiver sendo usada, o
SES ainda contará como um envio, mas a entrega está suprimida.)
• Rendering Failure (Falha de renderização): o e-mail não foi enviado por causa de 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 só ocorre quando você envia e-mails usando as operações de API SendTemplatedEmail ou
SendBulkTemplatedEmail)
• Reject (Rejeição): o Amazon SES aceitou 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.
• Delivery (Entrega): o Amazon SES entregou com êxito o e-mail ao servidor de e-mail do destinatário.
• Hard bounce (Devolução definitiva): o servidor de e-mail do destinatário rejeitou permanentemente o e-
mail. (Soft bounces (Devoluções flexíveis) só são incluídas quando o Amazon SES deixa de entregar o
e-mail depois de várias tentativas durante um período de tempo.)
350
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
• Complaint (Reclamação): o e-mail foi entregue com sucesso ao servidor de e-mail do destinatário, mas o
destinatário marcou-o como spam.
• Delivery Delay (Atraso na entrega): o e-mail não foi 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.
• Subscription (Assinatura): o e-mail foi entregue com êxito, mas o destinatário atualizou as preferências
de assinatura clicando em List-Unsubscribe no cabeçalho do e-mail ou no link Unsubscribe no
rodapé.
• Open (Abertura): o destinatário recebeu a mensagem e a abriu em seu cliente de e-mail.
• Click (Clique): o destinatário clicou em um ou mais links no e-mail.
Dimensões disponíveis
O CloudWatch usa os nomes de dimensão que você especifica quando adiciona um destino de eventos do
CloudWatch a um conjunto de configurações definido no Amazon SES. Para mais informações, consulte
Configurar um destino de eventos do CloudWatch para publicação de eventos (p. 341).
351
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
fluxos de entrega do Kinesis Data Firehose, consulte Criação de um fluxo de entrega do an Kinesis Data
Firehose no Guia do desenvolvedor do Amazon Kinesis Data Firehose.
Para obter exemplos de como você pode usar o Kinesis Data Firehose para publicar eventos de envio de
e-mail no Amazon Redshift e no Amazon OpenSearch Service, consulte Tutoriais (p. 397).
Conteúdo dos dados de eventos publicados pelo Amazon SES no Kinesis Data
Firehose
O Amazon SES publica registros de evento de envio de e-mail no Amazon Kinesis Data Firehose no
formato JSON. Ao publicar eventos no Kinesis Data Firehose, o Amazon SES adiciona no fim de cada
registro JSON um caractere de nova linha.
É possível encontrar registros de exemplo para todos esses tipos de notificação em Exemplos de dados de
eventos que o Amazon SES publica no Kinesis Data Firehose (p. 362).
O objeto JSON de nível superior em um registro de evento de envio de e-mail contém os campos a seguir.
352
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Objeto de e-mail
Cada registro de evento de envio de e-mail 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.
353
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
354
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Objeto de devolução
O objeto JSON que contém informações sobre um evento Bounce tem sempre os seguintes campos.
355
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Opcionalmente, se um DSN estiver conectado à devolução, os seguintes campos também poderão estar
presentes.
Tipos de devolução
356
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Objeto de reclamação
O objeto JSON que contém informações sobre um evento Complaint tem os seguintes campos.
Além disso, se um relatório de feedback estiver conectado à reclamação, os campos a seguir poderão
estar presentes.
357
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
O campo complainedRecipients contém uma lista de destinatários que podem ter enviado a
reclamação.
Important
Como a maioria dos ISPs oculta o endereço de e-mail do destinatário que enviou a reclamação
da notificação de reclamação, esta lista contém informações sobre os destinatários que podem
ter enviado a reclamação, baseado nos destinatários da mensagem original e no ISP do qual
recebemos a reclamação. O Amazon SES executa uma consulta em relação a mensagem original
para determinar a lista de destinatários.
Tipos de reclamação
358
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Objeto de entrega
O objeto JSON que contém informações sobre um evento Delivery tem sempre os seguintes campos.
Objeto de envio
O objeto JSON que contém informações sobre um evento send está sempre vazio.
Objeto de rejeição
O objeto JSON que contém informações sobre um evento Reject tem sempre os seguintes campos.
Objeto de abertura
O objeto JSON que contém informações sobre um evento Open tem sempre os seguintes campos.
359
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Objeto de clique
O objeto JSON que contém informações sobre um evento Click tem sempre os seguintes campos.
O objeto JSON que contém informações sobre um evento Rendering Failure tem os seguintes
campos.
Objeto DeliveryDelay
O objeto JSON que contém informações sobre um evento DeliveryDelay tem os seguintes campos.
360
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
361
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Objeto Assinatura
O objeto JSON que contém informações sobre um evento Subscription tem os seguintes campos.
362
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Note
Quando um campo tag for utilizado nos exemplos a seguir, ele estará usando a publicação
de eventos por meio de um conjunto de configurações para o qual o SES oferece suporte
à publicação de etiquetas para todos os tipos de evento. Se estiver usando notificações
de feedback diretamente na identidade, o SES não publicará etiquetas. Leia sobre como
adicionar etiquetas ao criar um conjunto de configurações (p. 270) ou modificar um conjunto de
configurações (p. 274).
Registro de devolução
A seguir encontra-se um exemplo de um registro de evento Bounce que o Amazon SES publica no Kinesis
Data Firehose.
{
"eventType":"Bounce",
"bounce":{
"bounceType":"Permanent",
"bounceSubType":"General",
"bouncedRecipients":[
{
"emailAddress":"[email protected]",
"action":"failed",
"status":"5.1.1",
"diagnosticCode":"smtp; 550 5.1.1 user unknown"
}
],
"timestamp":"2017-08-05T00:41:02.669Z",
"feedbackId":"01000157c44f053b-61b59c11-9236-11e6-8f96-7be8aexample-000000",
"reportingMTA":"dsn; mta.example.com"
},
"mail":{
"timestamp":"2017-08-05T00:40:02.012Z",
"source":"Sender Name <[email protected]>",
"sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId":"123456789012",
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination":[
"[email protected]"
],
"headersTruncated":false,
"headers":[
{
"name":"From",
"value":"Sender Name <[email protected]>"
},
{
"name":"To",
"value":"[email protected]"
},
{
363
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
"name":"Subject",
"value":"Message sent from Amazon SES"
},
{
"name":"MIME-Version",
"value":"1.0"
},
{
"name":"Content-Type",
"value":"multipart/alternative; boundary=\"----
=_Part_7307378_1629847660.1516840721503\""
}
],
"commonHeaders":{
"from":[
"Sender Name <[email protected]>"
],
"to":[
"[email protected]"
],
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject":"Message sent from Amazon SES"
},
"tags":{
"ses:configuration-set":[
"ConfigSet"
],
"ses:source-ip":[
"192.0.2.0"
],
"ses:from-domain":[
"example.com"
],
"ses:caller-identity":[
"ses_user"
]
}
}
}
Registro de reclamação
A seguir encontra-se um exemplo de um registro de evento Complaint que o Amazon SES publica no
Kinesis Data Firehose.
{
"eventType":"Complaint",
"complaint": {
"complainedRecipients":[
{
"emailAddress":"[email protected]"
}
],
"timestamp":"2017-08-05T00:41:02.669Z",
"feedbackId":"01000157c44f053b-61b59c11-9236-11e6-8f96-7be8aexample-000000",
"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/60.0.3112.90 Safari/537.36",
"complaintFeedbackType":"abuse",
"arrivalDate":"2017-08-05T00:41:02.669Z"
},
"mail":{
"timestamp":"2017-08-05T00:40:01.123Z",
"source":"Sender Name <[email protected]>",
"sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
364
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
"sendingAccountId":"123456789012",
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination":[
"[email protected]"
],
"headersTruncated":false,
"headers":[
{
"name":"From",
"value":"Sender Name <[email protected]>"
},
{
"name":"To",
"value":"[email protected]"
},
{
"name":"Subject",
"value":"Message sent from Amazon SES"
},
{
"name":"MIME-Version","value":"1.0"
},
{
"name":"Content-Type",
"value":"multipart/alternative; boundary=\"----
=_Part_7298998_679725522.1516840859643\""
}
],
"commonHeaders":{
"from":[
"Sender Name <[email protected]>"
],
"to":[
"[email protected]"
],
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject":"Message sent from Amazon SES"
},
"tags":{
"ses:configuration-set":[
"ConfigSet"
],
"ses:source-ip":[
"192.0.2.0"
],
"ses:from-domain":[
"example.com"
],
"ses:caller-identity":[
"ses_user"
]
}
}
}
Registro de entrega
A seguir encontra-se um exemplo de um registro de evento Delivery que o Amazon SES publica no
Kinesis Data Firehose.
{
"eventType": "Delivery",
"mail": {
"timestamp": "2016-10-19T23:20:52.240Z",
365
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
"source": "[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId": "123456789012",
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination": [
"[email protected]"
],
"headersTruncated": false,
"headers": [
{
"name": "From",
"value": "[email protected]"
},
{
"name": "To",
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "text/html; charset=UTF-8"
},
{
"name": "Content-Transfer-Encoding",
"value": "7bit"
}
],
"commonHeaders": {
"from": [
"[email protected]"
],
"to": [
"[email protected]"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject": "Message sent from Amazon SES"
},
"tags": {
"ses:configuration-set": [
"ConfigSet"
],
"ses:source-ip": [
"192.0.2.0"
],
"ses:from-domain": [
"example.com"
],
"ses:caller-identity": [
"ses_user"
],
"ses:outgoing-ip": [
"192.0.2.0"
],
"myCustomTag1": [
"myCustomTagValue1"
],
"myCustomTag2": [
"myCustomTagValue2"
]
366
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
}
},
"delivery": {
"timestamp": "2016-10-19T23:21:04.133Z",
"processingTimeMillis": 11893,
"recipients": [
"[email protected]"
],
"smtpResponse": "250 2.6.0 Message received",
"reportingMTA": "mta.example.com"
}
}
Registro de envio
A seguir encontra-se um exemplo de um registro de evento Send que o Amazon SES publica no Kinesis
Data Firehose.
{
"eventType": "Send",
"mail": {
"timestamp": "2016-10-14T05:02:16.645Z",
"source": "[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId": "123456789012",
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination": [
"[email protected]"
],
"headersTruncated": false,
"headers": [
{
"name": "From",
"value": "[email protected]"
},
{
"name": "To",
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "multipart/mixed; boundary=\"----=_Part_0_716996660.1476421336341\""
},
{
"name": "X-SES-MESSAGE-TAGS",
"value": "myCustomTag1=myCustomTagValue1, myCustomTag2=myCustomTagValue2"
}
],
"commonHeaders": {
"from": [
"[email protected]"
],
"to": [
"[email protected]"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
367
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Registro de rejeição
A seguir encontra-se um exemplo de um registro de evento Reject que o Amazon SES publica no Kinesis
Data Firehose.
{
"eventType": "Reject",
"mail": {
"timestamp": "2016-10-14T17:38:15.211Z",
"source": "[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId": "123456789012",
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination": [
"[email protected]"
],
"headersTruncated": false,
"headers": [
{
"name": "From",
"value": "[email protected]"
},
{
"name": "To",
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "multipart/mixed; boundary=\"qMm9M+Fa2AknHoGS\""
},
368
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
{
"name": "X-SES-MESSAGE-TAGS",
"value": "myCustomTag1=myCustomTagValue1, myCustomTag2=myCustomTagValue2"
}
],
"commonHeaders": {
"from": [
"[email protected]"
],
"to": [
"[email protected]"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject": "Message sent from Amazon SES"
},
"tags": {
"ses:configuration-set": [
"ConfigSet"
],
"ses:source-ip": [
"192.0.2.0"
],
"ses:from-domain": [
"example.com"
],
"ses:caller-identity": [
"ses_user"
],
"myCustomTag1": [
"myCustomTagValue1"
],
"myCustomTag2": [
"myCustomTagValue2"
]
}
},
"reject": {
"reason": "Bad content"
}
}
Registro de abertura
A seguir encontra-se um exemplo de um registro de evento Open que o Amazon SES publica no Kinesis
Data Firehose.
{
"eventType": "Open",
"mail": {
"commonHeaders": {
"from": [
"[email protected]"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject": "Message sent from Amazon SES",
"to": [
"[email protected]"
]
},
"destination": [
"[email protected]"
],
"headers": [
{
369
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
"name": "X-SES-CONFIGURATION-SET",
"value": "ConfigSet"
},
{
"name":"X-SES-MESSAGE-TAGS",
"value":"myCustomTag1=myCustomValue1, myCustomTag2=myCustomValue2"
},
{
"name": "From",
"value": "[email protected]"
},
{
"name": "To",
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "multipart/alternative; boundary=\"XBoundary\""
}
],
"headersTruncated": false,
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"sendingAccountId": "123456789012",
"source": "[email protected]",
"tags": {
"myCustomTag1":[
"myCustomValue1"
],
"myCustomTag2":[
"myCustomValue2"
],
"ses:caller-identity": [
"IAM_user_or_role_name"
],
"ses:configuration-set": [
"ConfigSet"
],
"ses:from-domain": [
"example.com"
],
"ses:source-ip": [
"192.0.2.0"
]
},
"timestamp": "2017-08-09T21:59:49.927Z"
},
"open": {
"ipAddress": "192.0.2.1",
"timestamp": "2017-08-09T22:00:19.652Z",
"userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X)
AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60"
}
}
370
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Registro de clique
A seguir encontra-se um exemplo de um registro de evento Click que o Amazon SES publica no Kinesis
Data Firehose.
{
"eventType": "Click",
"click": {
"ipAddress": "192.0.2.1",
"link": "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html",
"linkTags": {
"samplekey0": [
"samplevalue0"
],
"samplekey1": [
"samplevalue1"
]
},
"timestamp": "2017-08-09T23:51:25.570Z",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/60.0.3112.90 Safari/537.36"
},
"mail": {
"commonHeaders": {
"from": [
"[email protected]"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject": "Message sent from Amazon SES",
"to": [
"[email protected]"
]
},
"destination": [
"[email protected]"
],
"headers": [
{
"name": "X-SES-CONFIGURATION-SET",
"value": "ConfigSet"
},
{
"name":"X-SES-MESSAGE-TAGS",
"value":"myCustomTag1=myCustomValue1, myCustomTag2=myCustomValue2"
},
{
"name": "From",
"value": "[email protected]"
},
{
"name": "To",
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "multipart/alternative; boundary=\"XBoundary\""
},
371
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
{
"name": "Message-ID",
"value": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000"
}
],
"headersTruncated": false,
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"sendingAccountId": "123456789012",
"source": "[email protected]",
"tags": {
"myCustomTag1":[
"myCustomValue1"
],
"myCustomTag2":[
"myCustomValue2"
],
"ses:caller-identity": [
"ses_user"
],
"ses:configuration-set": [
"ConfigSet"
],
"ses:from-domain": [
"example.com"
],
"ses:source-ip": [
"192.0.2.0"
]
},
"timestamp": "2017-08-09T23:50:05.795Z"
}
}
A seguir encontra-se um exemplo de um registro de evento Rendering Failure que o Amazon SES
publica no Kinesis Data Firehose.
{
"eventType":"Rendering Failure",
"mail":{
"timestamp":"2018-01-22T18:43:06.197Z",
"source":"[email protected]",
"sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId":"123456789012",
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination":[
"[email protected]"
],
"headersTruncated":false,
"tags":{
"ses:configuration-set":[
"ConfigSet"
]
}
},
"failure":{
"errorMessage":"Attribute 'attributeName' is not present in the rendering data.",
"templateName":"MyTemplate"
}
}
372
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Registro DeliveryDelay
A seguir encontra-se um exemplo de um registro de evento DeliveryDelay que o Amazon SES publica
no Kinesis Data Firehose.
{
"eventType": "DeliveryDelay",
"mail":{
"timestamp":"2020-06-16T00:15:40.641Z",
"source":"[email protected]",
"sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId":"123456789012",
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination":[
"[email protected]"
],
"headersTruncated":false,
"tags":{
"ses:configuration-set":[
"ConfigSet"
]
}
},
"deliveryDelay": {
"timestamp": "2020-06-16T00:25:40.095Z",
"delayType": "TransientCommunicationFailure",
"expirationTime": "2020-06-16T00:25:40.914Z",
"delayedRecipients": [{
"emailAddress": "[email protected]",
"status": "4.4.1",
"diagnosticCode": "smtp; 421 4.4.1 Unable to connect to remote host"
}]
}
}
Registro Assinatura
A seguir encontra-se um exemplo de um registro de evento Subscription que o Amazon SES publica no
Kinesis Data Firehose.
{
"eventType": "Subscription",
"mail": {
"timestamp": "2022-01-12T01:00:14.340Z",
"source": "[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId": "123456789012",
"messageId": "EXAMPLEe4bccb684-777bc8de-afa7-4970-92b0-f515137b1497-000000",
"destination": ["[email protected]"],
"headersTruncated": false,
"headers": [
{
"name": "From",
"value": "[email protected]"
},
{
"name": "To",
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
373
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "text/html; charset=UTF-8"
},
{
"name": "Content-Transfer-Encoding",
"value": "7bit"
}
],
"commonHeaders": {
"from": ["[email protected]"],
"to": ["[email protected]"],
"messageId": "EXAMPLEe4bccb684-777bc8de-afa7-4970-92b0-f515137b1497-000000",
"subject": "Message sent from Amazon SES"
},
"tags": {
"ses:operation": ["SendEmail"],
"ses:configuration-set": ["ConfigSet"],
"ses:source-ip": ["192.0.2.0"],
"ses:from-domain": ["example.com"],
"ses:caller-identity": ["ses_user"],
"myCustomTag1": ["myCustomValue1"],
"myCustomTag2": ["myCustomValue2"]
}
},
"subscription": {
"contactList": "ContactListName",
"timestamp": "2022-01-12T01:00:17.910Z",
"source": "UnsubscribeHeader",
"newTopicPreferences": {
"unsubscribeAll": true,
"topicSubscriptionStatus": [
{
"topicName": "ExampleTopicName",
"subscriptionStatus": "OptOut"
}
]
},
"oldTopicPreferences": {
"unsubscribeAll": false,
"topicSubscriptionStatus": [
{
"topicName": "ExampleTopicName",
"subscriptionStatus": "OptOut"
}
]
}
}
}
Para obter uma descrição do conteúdo do registro para registros de exemplo, consulte as seções a seguir.
374
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Conteúdo dos dados de eventos publicados pelo Amazon SES no Amazon SNS
O Amazon SES publica registros de evento de envio de e-mail no Amazon Simple Notification Service no
formato JSON.
É possível encontrar registros de exemplo para todos esses tipos de notificação em Exemplos de dados de
eventos publicados pelo Amazon SES no Amazon SNS (p. 385).
O objeto JSON de nível superior em um registro de evento de envio de e-mail contém os campos a seguir.
O tipo de evento determina quais outros objetos estão presentes.
375
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Objeto de e-mail
Cada registro de evento de envio de e-mail 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.
376
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
377
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Objeto de devolução
O objeto JSON que contém informações sobre um evento Bounce tem os seguintes campos.
Opcionalmente, se um DSN estiver conectado à devolução, os seguintes campos também poderão estar
presentes.
378
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Tipos de devolução
O sistema de publicação de eventos publica apenas devoluções definitivas e devoluções flexíveis que o
Amazon SES não vai mais tentar enviar. Quando você receber devoluções marcadas como Permanent,
remova os endereços de e-mail correspondentes da sua lista de e-mails; não será possível enviar para
eles no futuro. As devoluções Transient são enviadas a você quando uma mensagem foi devolvida de
modo condicional diversas vezes e o Amazon SES parou de tentar enviá-la. Você talvez consiga reenviar
com sucesso para um endereço que inicialmente resultou em uma devolução Transient no futuro.
379
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Objeto de reclamação
O objeto JSON que contém informações sobre um evento Complaint tem os seguintes campos.
Além disso, se um relatório de feedback estiver conectado à reclamação, os campos a seguir poderão
estar presentes.
380
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
O campo complainedRecipients contém uma lista de destinatários que podem ter enviado a
reclamação.
Important
A maioria dos ISPs redigem endereços de e-mail dos destinatários que enviam reclamações. Por
isto, o campo complainedRecipients inclui uma lista de todos aqueles que recebeu o e-mail
cujo endereço está no domínio que emitiu a notificação de reclamação.
Tipos de reclamação
Subtipos de reclamação
Objeto de entrega
O objeto JSON que contém informações sobre um evento Delivery tem os seguintes campos.
381
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Objeto de envio
O objeto JSON que contém informações sobre um evento send está sempre vazio.
Objeto de rejeição
O objeto JSON que contém informações sobre um evento Reject tem os seguintes campos.
Objeto de abertura
O objeto JSON que contém informações sobre um evento Open tem os seguintes campos.
382
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Objeto de clique
O objeto JSON que contém informações sobre um evento Click tem os seguintes campos.
Objeto DeliveryDelay
O objeto JSON que contém informações sobre um evento DeliveryDelay tem os seguintes campos.
383
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Objeto Assinatura
O objeto JSON que contém informações sobre um evento Subscription tem os seguintes campos.
384
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
385
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Note
Quando um campo tag for utilizado nos exemplos a seguir, ele estará usando a publicação
de eventos por meio de um conjunto de configurações para o qual o SES oferece suporte
à publicação de etiquetas para todos os tipos de evento. Se estiver usando notificações
de feedback diretamente na identidade, o SES não publicará etiquetas. Leia sobre como
adicionar etiquetas ao criar um conjunto de configurações (p. 270) ou modificar um conjunto de
configurações (p. 274).
Registro de devolução
A seguir encontra-se um exemplo de um registro de evento Bounce que o Amazon SES publica no
Amazon SNS.
{
"eventType":"Bounce",
"bounce":{
"bounceType":"Permanent",
"bounceSubType":"General",
"bouncedRecipients":[
{
"emailAddress":"[email protected]",
"action":"failed",
"status":"5.1.1",
"diagnosticCode":"smtp; 550 5.1.1 user unknown"
}
],
"timestamp":"2017-08-05T00:41:02.669Z",
"feedbackId":"01000157c44f053b-61b59c11-9236-11e6-8f96-7be8aexample-000000",
"reportingMTA":"dsn; mta.example.com"
},
"mail":{
"timestamp":"2017-08-05T00:40:02.012Z",
"source":"Sender Name <[email protected]>",
"sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId":"123456789012",
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination":[
"[email protected]"
],
"headersTruncated":false,
"headers":[
{
"name":"From",
"value":"Sender Name <[email protected]>"
},
{
"name":"To",
"value":"[email protected]"
},
{
"name":"Subject",
"value":"Message sent from Amazon SES"
},
{
"name":"MIME-Version",
"value":"1.0"
},
{
"name":"Content-Type",
"value":"multipart/alternative; boundary=\"----
=_Part_7307378_1629847660.1516840721503\""
}
],
386
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
"commonHeaders":{
"from":[
"Sender Name <[email protected]>"
],
"to":[
"[email protected]"
],
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject":"Message sent from Amazon SES"
},
"tags":{
"ses:configuration-set":[
"ConfigSet"
],
"ses:source-ip":[
"192.0.2.0"
],
"ses:from-domain":[
"example.com"
],
"ses:caller-identity":[
"ses_user"
]
}
}
}
Registro de reclamação
A seguir encontra-se um exemplo de um registro de evento Complaint que o Amazon SES publica no
Amazon SNS.
{
"eventType":"Complaint",
"complaint": {
"complainedRecipients":[
{
"emailAddress":"[email protected]"
}
],
"timestamp":"2017-08-05T00:41:02.669Z",
"feedbackId":"01000157c44f053b-61b59c11-9236-11e6-8f96-7be8aexample-000000",
"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/60.0.3112.90 Safari/537.36",
"complaintFeedbackType":"abuse",
"arrivalDate":"2017-08-05T00:41:02.669Z"
},
"mail":{
"timestamp":"2017-08-05T00:40:01.123Z",
"source":"Sender Name <[email protected]>",
"sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId":"123456789012",
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination":[
"[email protected]"
],
"headersTruncated":false,
"headers":[
{
"name":"From",
"value":"Sender Name <[email protected]>"
},
{
"name":"To",
387
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
"value":"[email protected]"
},
{
"name":"Subject",
"value":"Message sent from Amazon SES"
},
{
"name":"MIME-Version","value":"1.0"
},
{
"name":"Content-Type",
"value":"multipart/alternative; boundary=\"----
=_Part_7298998_679725522.1516840859643\""
}
],
"commonHeaders":{
"from":[
"Sender Name <[email protected]>"
],
"to":[
"[email protected]"
],
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject":"Message sent from Amazon SES"
},
"tags":{
"ses:configuration-set":[
"ConfigSet"
],
"ses:source-ip":[
"192.0.2.0"
],
"ses:from-domain":[
"example.com"
],
"ses:caller-identity":[
"ses_user"
]
}
}
}
Registro de entrega
A seguir encontra-se um exemplo de um registro de evento Delivery que o Amazon SES publica no
Amazon SNS.
{
"eventType": "Delivery",
"mail": {
"timestamp": "2016-10-19T23:20:52.240Z",
"source": "[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId": "123456789012",
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination": [
"[email protected]"
],
"headersTruncated": false,
"headers": [
{
"name": "From",
"value": "[email protected]"
},
388
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
{
"name": "To",
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "text/html; charset=UTF-8"
},
{
"name": "Content-Transfer-Encoding",
"value": "7bit"
}
],
"commonHeaders": {
"from": [
"[email protected]"
],
"to": [
"[email protected]"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject": "Message sent from Amazon SES"
},
"tags": {
"ses:configuration-set": [
"ConfigSet"
],
"ses:source-ip": [
"192.0.2.0"
],
"ses:from-domain": [
"example.com"
],
"ses:caller-identity": [
"ses_user"
],
"ses:outgoing-ip": [
"192.0.2.0"
],
"myCustomTag1": [
"myCustomTagValue1"
],
"myCustomTag2": [
"myCustomTagValue2"
]
}
},
"delivery": {
"timestamp": "2016-10-19T23:21:04.133Z",
"processingTimeMillis": 11893,
"recipients": [
"[email protected]"
],
"smtpResponse": "250 2.6.0 Message received",
"reportingMTA": "mta.example.com"
}
}
389
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Registro de envio
A seguir encontra-se um exemplo de um registro de evento Send que o Amazon SES publica no Amazon
SNS. Alguns campos nem sempre estão presentes. Por exemplo, com um e-mail com modelo, o assunto é
renderizado posteriormente e incluído em eventos subsequentes.
{
"eventType": "Send",
"mail": {
"timestamp": "2016-10-14T05:02:16.645Z",
"source": "[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId": "123456789012",
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination": [
"[email protected]"
],
"headersTruncated": false,
"headers": [
{
"name": "From",
"value": "[email protected]"
},
{
"name": "To",
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "multipart/mixed; boundary=\"----=_Part_0_716996660.1476421336341\""
},
{
"name": "X-SES-MESSAGE-TAGS",
"value": "myCustomTag1=myCustomTagValue1, myCustomTag2=myCustomTagValue2"
}
],
"commonHeaders": {
"from": [
"[email protected]"
],
"to": [
"[email protected]"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject": "Message sent from Amazon SES"
},
"tags": {
"ses:configuration-set": [
"ConfigSet"
],
"ses:source-ip": [
"192.0.2.0"
],
"ses:from-domain": [
"example.com"
],
"ses:caller-identity": [
390
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
"ses_user"
],
"myCustomTag1": [
"myCustomTagValue1"
],
"myCustomTag2": [
"myCustomTagValue2"
]
}
},
"send": {}
}
Registro de rejeição
A seguir encontra-se um exemplo de um registro de evento Reject que o Amazon SES publica no
Amazon SNS.
{
"eventType": "Reject",
"mail": {
"timestamp": "2016-10-14T17:38:15.211Z",
"source": "[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId": "123456789012",
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination": [
"[email protected]"
],
"headersTruncated": false,
"headers": [
{
"name": "From",
"value": "[email protected]"
},
{
"name": "To",
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "multipart/mixed; boundary=\"qMm9M+Fa2AknHoGS\""
},
{
"name": "X-SES-MESSAGE-TAGS",
"value": "myCustomTag1=myCustomTagValue1, myCustomTag2=myCustomTagValue2"
}
],
"commonHeaders": {
"from": [
"[email protected]"
],
"to": [
"[email protected]"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
391
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
Registro de abertura
A seguir encontra-se um exemplo de um registro de evento Open que o Amazon SES publica no Amazon
SNS.
{
"eventType": "Open",
"mail": {
"commonHeaders": {
"from": [
"[email protected]"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject": "Message sent from Amazon SES",
"to": [
"[email protected]"
]
},
"destination": [
"[email protected]"
],
"headers": [
{
"name": "X-SES-CONFIGURATION-SET",
"value": "ConfigSet"
},
{
"name":"X-SES-MESSAGE-TAGS",
"value":"myCustomTag1=myCustomValue1, myCustomTag2=myCustomValue2"
},
{
"name": "From",
"value": "[email protected]"
},
{
"name": "To",
392
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "multipart/alternative; boundary=\"XBoundary\""
}
],
"headersTruncated": false,
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"sendingAccountId": "123456789012",
"source": "[email protected]",
"tags": {
"myCustomTag1":[
"myCustomValue1"
],
"myCustomTag2":[
"myCustomValue2"
],
"ses:caller-identity": [
"IAM_user_or_role_name"
],
"ses:configuration-set": [
"ConfigSet"
],
"ses:from-domain": [
"example.com"
],
"ses:source-ip": [
"192.0.2.0"
]
},
"timestamp": "2017-08-09T21:59:49.927Z"
},
"open": {
"ipAddress": "192.0.2.1",
"timestamp": "2017-08-09T22:00:19.652Z",
"userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X)
AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60"
}
}
Registro de clique
A seguir encontra-se um exemplo de um registro de evento Click que o Amazon SES publica no Amazon
SNS.
{
"eventType": "Click",
"click": {
"ipAddress": "192.0.2.1",
"link": "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html",
"linkTags": {
"samplekey0": [
"samplevalue0"
],
"samplekey1": [
393
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
"samplevalue1"
]
},
"timestamp": "2017-08-09T23:51:25.570Z",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/60.0.3112.90 Safari/537.36"
},
"mail": {
"commonHeaders": {
"from": [
"[email protected]"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject": "Message sent from Amazon SES",
"to": [
"[email protected]"
]
},
"destination": [
"[email protected]"
],
"headers": [
{
"name": "X-SES-CONFIGURATION-SET",
"value": "ConfigSet"
},
{
"name":"X-SES-MESSAGE-TAGS",
"value":"myCustomTag1=myCustomValue1, myCustomTag2=myCustomValue2"
},
{
"name": "From",
"value": "[email protected]"
},
{
"name": "To",
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "multipart/alternative; boundary=\"XBoundary\""
},
{
"name": "Message-ID",
"value": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000"
}
],
"headersTruncated": false,
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"sendingAccountId": "123456789012",
"source": "[email protected]",
"tags": {
"myCustomTag1":[
"myCustomValue1"
],
"myCustomTag2":[
"myCustomValue2"
],
394
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
"ses:caller-identity": [
"ses_user"
],
"ses:configuration-set": [
"ConfigSet"
],
"ses:from-domain": [
"example.com"
],
"ses:source-ip": [
"192.0.2.0"
]
},
"timestamp": "2017-08-09T23:50:05.795Z"
}
}
{
"eventType":"Rendering Failure",
"mail":{
"timestamp":"2018-01-22T18:43:06.197Z",
"source":"[email protected]",
"sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId":"123456789012",
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination":[
"[email protected]"
],
"headersTruncated":false,
"tags":{
"ses:configuration-set":[
"ConfigSet"
]
}
},
"failure":{
"errorMessage":"Attribute 'attributeName' is not present in the rendering data.",
"templateName":"MyTemplate"
}
}
Registro DeliveryDelay
A seguir encontra-se um exemplo de um registro de evento DeliveryDelay que o Amazon SES publica
no Amazon SNS.
{
"eventType": "DeliveryDelay",
"mail":{
"timestamp":"2020-06-16T00:15:40.641Z",
"source":"[email protected]",
"sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId":"123456789012",
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination":[
"[email protected]"
],
"headersTruncated":false,
395
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos
"tags":{
"ses:configuration-set":[
"ConfigSet"
]
}
},
"deliveryDelay": {
"timestamp": "2020-06-16T00:25:40.095Z",
"delayType": "TransientCommunicationFailure",
"expirationTime": "2020-06-16T00:25:40.914Z",
"delayedRecipients": [{
"emailAddress": "[email protected]",
"status": "4.4.1",
"diagnosticCode": "smtp; 421 4.4.1 Unable to connect to remote host"
}]
}
}
Registro Assinatura
A seguir encontra-se um exemplo de um registro de evento Subscription que o Amazon SES publica no
Kinesis Data Firehose.
{
"eventType": "Subscription",
"mail": {
"timestamp": "2022-01-12T01:00:14.340Z",
"source": "[email protected]",
"sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/[email protected]",
"sendingAccountId": "123456789012",
"messageId": "EXAMPLEe4bccb684-777bc8de-afa7-4970-92b0-f515137b1497-000000",
"destination": ["[email protected]"],
"headersTruncated": false,
"headers": [
{
"name": "From",
"value": "[email protected]"
},
{
"name": "To",
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "text/html; charset=UTF-8"
},
{
"name": "Content-Transfer-Encoding",
"value": "7bit"
}
],
"commonHeaders": {
"from": ["[email protected]"],
"to": ["[email protected]"],
"messageId": "EXAMPLEe4bccb684-777bc8de-afa7-4970-92b0-f515137b1497-000000",
"subject": "Message sent from Amazon SES"
396
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
},
"tags": {
"ses:operation": ["SendEmail"],
"ses:configuration-set": ["ConfigSet"],
"ses:source-ip": ["192.0.2.0"],
"ses:from-domain": ["example.com"],
"ses:caller-identity": ["ses_user"],
"myCustomTag1": ["myCustomValue1"],
"myCustomTag2": ["myCustomValue2"]
}
},
"subscription": {
"contactList": "ContactListName",
"timestamp": "2022-01-12T01:00:17.910Z",
"source": "UnsubscribeHeader",
"newTopicPreferences": {
"unsubscribeAll": true,
"topicSubscriptionStatus": [
{
"topicName": "ExampleTopicName",
"subscriptionStatus": "OptOut"
}
]
},
"oldTopicPreferences": {
"unsubscribeAll": false,
"topicSubscriptionStatus": [
{
"topicName": "ExampleTopicName",
"subscriptionStatus": "OptOut"
}
]
}
}
}
397
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Pré-requisitos
Para este tutorial, você precisará do seguinte:
• Uma Conta da AWS: para acessar qualquer serviço da Web oferecido pela AWS, primeiro é preciso criar
uma conta da Conta da AWS em https://aws.amazon.com/.
• Endereço de e-mail verificado: para enviar e-mails usando o Amazon SES, você precisa verificar o
domínio ou endereço de origem para mostrar que você é proprietário. Se você estiver na sandbox,
precisará também verificar seus endereços "To". Você pode verificar endereços de e-mail ou domínios
inteiros, mas este tutorial exige um endereço de e-mail verificado para que você possa enviar um e-
mail pelo console do Amazon SES, que é a maneira mais simples de enviar um e-mail. Para obter
mais informações sobre como verificar um endereço de e-mail, consulte Criação da identidade de um
endereço de e-mail (p. 168).
• Uma ferramenta de consulta SQL: o Amazon RedShift não fornece nem instala ferramentas ou
bibliotecas SQL clientes. Portanto, você deve instalar uma que possa usar para acessar os clusters do
Amazon RedShift que contêm seus eventos do Amazon SES. Neste tutorial, usamos o SQL Workbench/
J, uma ferramenta de consulta SQL interplataforma, gratuita e independente de DBMS. Esta seção inclui
procedimentos para instalar o SQL Workbench/J.
Veja quais são os pré-requisitos da versão do tempo de execução de Java para o SQL
Workbench/J e verifique se você está usando essa versão. Se não estiver, esse aplicativo
cliente não será executado.
4. Acesse Configure a JDBC Connection (Configurar uma conexão JDBC) e baixe e um driver JDBC do
Amazon RedShift para permitir que o SQL Workbench/J se conecte ao seu cluster.
Próxima etapa
Para este tutorial simples, digite um nome de cluster e uma senha e, em seguida, você poderá usar todos
os valores padrão. Você não precisa definir nenhum valor específico para a publicação de eventos do
Amazon SES.
398
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Important
O cluster que você implantar para este tutorial será executado em um ambiente ao vivo. Enquanto
ele estiver sendo executado, acumulará cobranças na sua conta da Conta da AWS. Para
evitar despesas desnecessárias, exclua o seu cluster quando terminar de usá-lo. Para obter
informações sobre preços, acesse a página de preços do Amazon Redshift.
Próxima etapa
O procedimento a seguir mostra como obter a sequência de conexão de que você vai precisar para se
conectar ao seu cluster do Amazon RedShift.
O procedimento a seguir mostra como se conectar ao seu cluster do SQL Workbench/J. Este procedimento
pressupõe que você instalou o SQL Workbench/J no seu computador, como descrito em Pré-
requisitos (p. 398).
399
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Você será direcionado de volta para a caixa de diálogo Select Connection Profile.
7. Em Driver, escolha o driver que você acabou de adicionar.
8. Em URL, cole o URL do JDBC que você copiou do console do Amazon RedShift.
9. Em Username (Nome de usuário), digite o nome de usuário que você escolheu ao configurar o cluster
do Amazon RedShift (p. 398).
10. Em Password (Senha), digite a senha que você escolheu ao configurar o cluster do Amazon RedShift.
11. Selecione Autocommit.
12. Para testar a conexão, escolha Test.
Note
400
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Próxima etapa
Para este tutorial, vamos pressupor que estamos interessados nos campos a seguir dentro dos registros
de eventos de envio de e-mail (p. 352). Todos esses campos, com exceção de mail.tags.campaign,
são fornecidos automaticamente pelo Amazon SES. Apresentamos o campo mail.tags.campaign
quando enviamos um e-mail usando campaign como tag de mensagem em Etapa 6: Enviar e-
mails (p. 406).
• mail.messageId
• eventType
• mail.sendingAccountId
• mail.timestamp
• mail.destination
• mail.tags.ses:configuration-set
401
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
• mail.tags.campaign
Para acessar essas informações dentro do seu banco de dados, é preciso criar uma tabela. O
procedimento a seguir mostra como especificar essas informações ao criar a tabela no seu banco de
dados.
Note
Pressupomos que o SQL Workbench/J está aberto no seu computador e conectado ao cluster do
Amazon RedShift, conforme descrito na etapa anterior (p. 399).
2. Coloque o cursor dentro da declaração (em algum lugar antes do ponto e vírgula) e, em seguida,
escolha o botão Execute current statement, conforme mostrado na figura a seguir.
402
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Próxima etapa
Esta seção mostra como criar um fluxo de entrega do Kinesis Data Firehose que envia dados para o
Amazon RedShift e como editar o fluxo de entrega para especificar como o Amazon RedShift deve copiar
os dados de publicação de eventos do Amazon SES para o Amazon S3.
Note
É preciso que você já tenha configurado o cluster do Amazon Redshift (p. 398), se conectado
ao seu cluster (p. 399) e criado uma tabela de banco de dados (p. 401), como explicado nas
etapas anteriores.
O procedimento a seguir mostra como criar um fluxo de entrega do Kinesis Data Firehose que publica
dados no Amazon RedShift, usando o Amazon S3 como local intermediário dos dados.
Para criar um fluxo de entrega do Kinesis Data Firehose para o Amazon Redshift
1. Faça login no AWS Management Console e abra o console Kinesis Data Firehose em https://
console.aws.amazon.com/firehose/.
2. Escolha Create Delivery Stream.
3. Na página Destination, escolha as opções a seguir+
403
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Em seguida, especifique para o Amazon RedShift como copiar os registros JSON da publicação de
eventos do Amazon SES para a tabela de banco de dados criada em Etapa 3: Criar uma tabela de banco
de dados (p. 401). Você faz isso editando as opções de cópia no fluxo de entrega do Kinesis Data
Firehose.
Para esse procedimento, você deve criar um arquivo JSONPaths. Um arquivo JSONPaths é um arquivo
de texto que especifica para o comando COPY do Amazon RedShift como analisar os dados da origem
JSON. Fornecemos um arquivo JSONPaths no procedimento. Para obter mais informações sobre arquivos
JSONPaths, consulte COPY do formato JSON no Guia do desenvolvedor de banco de dados do Amazon
Redshift.
Você carrega o arquivo JSONPaths no bucket do Amazon S3 que configurou ao criar o fluxo de entrega
do Kinesis Data Firehose e, em seguida, edita as opções de COPY do fluxo de entrega do Kinesis Data
404
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Firehose para o arquivo JSONPaths que você carregou. Essas etapas estão explicadas no procedimento a
seguir.
1. Crie um arquivo JSONPaths: no computador, crie um arquivo chamado jsonpaths.json. Copie o texto a
seguir para o arquivo e, em seguida, salve-o.
{
"jsonpaths": [
"$.mail.messageId",
"$.eventType",
"$.mail.sendingAccountId",
"$.mail.timestamp",
"$.mail.destination",
"$.mail.tags.ses:configuration-set",
"$.mail.tags.campaign"
]
}
405
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Próxima etapa
Se você já tem um conjunto de configurações, pode adicionar um destino do Kinesis Data Firehose ao seu
conjunto de configurações existente. Neste caso, pule para Adição de um destino de eventos do Kinesis
Data Firehose (p. 406).
Se você ainda não tiver criado um conjunto de configurações ou quiser criar outro para usar para publicar
seus eventos de envio de e-mail no Amazon Kinesis Data Firehose, siga os procedimentos em Criar um
conjunto de configurações (p. 271).
Para adicionar um destino de eventos do Kinesis Data Firehose ao seu conjunto de configurações,
consulte os procedimentos em Configurar um destino do Kinesis Data Firehose (p. 343).
Próxima etapa
406
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
etiquetas de mensagem usando o console do Amazon SES. Você envia o e-mail para o simulador de caixa
postal do Amazon SES, de forma que possa testar devoluções, reclamações e outros resultados de envio
de e-mail.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação do console do Amazon SES, em Identity Management, escolha Email
Addresses.
3. Na lista de identidades, marque a caixa de seleção de um endereço de e-mail que você verificou com
o Amazon SES (p. 168).
4. Escolha Send a Test Email.
5. Na caixa de diálogo Send Test Email, para Email Format, escolha Raw.
6. Para o endereço To (Para), digite um endereço do simulador de caixa postal do Amazon SES (p. 266),
como [email protected] ou [email protected].
7. Copie e cole a mensagem a seguir em sua integridade na caixa de texto Message (Mensagem),
substituindo CONFIGURATION-SET-NAME pelo nome do conjunto de configurações criado em Etapa
5: Definir um conjunto de configurações (p. 406), e substituindo FROM-ADDRESS pelo endereço
verificado do qual você está enviando este e-mail.
X-SES-MESSAGE-TAGS: campaign=book
X-SES-CONFIGURATION-SET: CONFIGURATION-SET-NAME
Subject: Amazon SES Event Publishing Test
From: Amazon SES User <FROM-ADDRESS>
MIME-Version: 1.0
Content-Type: text/plain
Próxima etapa
Pressupomos que o SQL Workbench/J esteja aberto no seu computador e conectado ao cluster
do Amazon RedShift, conforme descrito em Etapa 2: Conectar ao seu cluster do Amazon
Redshift (p. 399).
Para consultar dados de eventos de envios de e-mails no Amazon RedShift a partir do SQL
Workbench/J
1. Para exibir todos os registros de envio de e-mail, copie a consulta a seguir e cole-a na janela
Statement 1.
407
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
2. Coloque o cursor dentro da instrução (em algum lugar antes do ponto e vírgula) e, em seguida,
escolha o botão Execute current statement.
Você verá os registros de envio de e-mail para todos os e-mails enviados em Etapa 6: Enviar e-
mails (p. 406). Os registros na figura a seguir mostram que nossa campanha book tinha duas
reclamações e a campanha clothing tinha uma devolução.
3. Para contar os registros de complaint para a campanha do tipo book, copie a consulta a seguir e
cole-a na janela Statement 1.
4. Coloque o cursor dentro da instrução (em algum lugar antes do ponto e vírgula) e, em seguida,
escolha o botão Execute current statement.
Os resultados estão a seguir, mostrando que a campanha do livro teve duas reclamações.
408
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Pré-requisitos
Para este tutorial, você precisará do seguinte:
• Uma Conta da AWS: para acessar qualquer serviço da Web oferecido pela AWS, primeiro é preciso criar
uma conta da Conta da AWS em https://aws.amazon.com/.
• Endereço de e-mail verificado: para enviar e-mails usando o Amazon SES, você precisa verificar o
domínio ou endereço de origem para mostrar que você é proprietário. Se você estiver na sandbox,
precisará também verificar seus endereços "To". Você pode verificar endereços de e-mail ou domínios
inteiros, mas este tutorial exige um endereço de e-mail verificado para que você possa enviar um e-
mail pelo console do Amazon SES, que é a maneira mais simples de enviar um e-mail. Para obter
mais informações sobre como verificar um endereço de e-mail, consulte Criação da identidade de um
endereço de e-mail (p. 168).
Próxima etapa
Etapa 1: Definir um conjunto de configurações (p. 409)
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, escolha Configuration Sets.
3. Escolha Create Configuration Set.
4. Digite um nome para o conjunto de configurações e escolha Create Configuration Set.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, escolha Configuration Sets.
3. Escolha o conjunto de configurações criado na seção anterior.
4. Em Add Destination (Adicionar destino), escolha Select a destination type (Selecionar um tipo de
destino) e, em seguida, escolha CloudWatch.
409
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Se você escolher Link Tag (Etiqueta de link) como a origem do valor, só poderá enviar
eventos de clique ao CloudWatch. É possível usar a origem do valor Link Tag (Tag de link)
para determinar quais links em seus e-mails são clicados com mais frequência.
9. Escolha Save (Salvar).
10. Para sair da página Edit Configuration Set, use o botão Voltar do navegador.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades
verificadas).
3. Na lista de identidades, marque a caixa de seleção de um endereço de e-mail que você verificou com
o Amazon SES (p. 168).
4. Escolha Send a Test Email.
5. Na caixa de diálogo Send Test Email, para Email Format, escolha Raw.
6. Para o endereço To (Para), digite um endereço do simulador de caixa postal do Amazon SES (p. 266),
como [email protected] ou [email protected].
7. Copie e cole a mensagem a seguir em sua integridade na caixa de texto Message (Mensagem),
substituindo CONFIGURATION-SET-NAME pelo nome do conjunto de configurações criado em Etapa
1: Definir um conjunto de configurações (p. 409), e substituindo FROM-ADDRESS pelo endereço
verificado do qual você está enviando este e-mail.
X-SES-MESSAGE-TAGS: campaign=book
X-SES-CONFIGURATION-SET: CONFIGURATION-SET-NAME
Subject: Amazon SES Event Publishing Test
From: Amazon SES User <FROM-ADDRESS>
MIME-Version: 1.0
Content-Type: text/plain
410
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
9. Repita esse procedimento algumas vezes para gerar vários eventos de envio de e-mail. Para alguns
dos e-mails, altere o valor da tag de mensagem campaign para clothing para simular o envio de
uma campanha de e-mails diferente.
Próxima etapa
Etapa 3: Criar um gráfico dos eventos de envio de e-mail (p. 411)
Neste tutorial, primeiro configure um conjunto de configurações do Amazon SES para publicar os eventos
de envio de e-mail em um fluxo de entrega do Amazon Kinesis Data Firehose e depois envie e-mails pelo
Amazon SES usando esse conjunto de configurações. Em seguida, configure o Amazon Kinesis Data
Analytics para capturar os eventos de envio de e-mail do fluxo do Kinesis Data Firehose e use SQL para
extrair informações importantes dos e-mails enviados.
Note
Este tutorial requer que você tenha uma aplicação capaz de enviar um fluxo estável de e-mails
por meio do Amazon SES. Esse requisito é explicado em Pré-requisitos (p. 412).
411
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Pré-requisitos
Para este tutorial, você precisa do seguinte:
• Uma Conta da AWS: para acessar qualquer serviço da Web oferecido pela AWS, primeiro é preciso criar
uma conta da Conta da AWS em https://aws.amazon.com/.
• Endereço de e-mail verificado: para enviar e-mails usando o Amazon SES, você precisa verificar o
domínio ou endereço de origem para mostrar que você é proprietário. Se você estiver na sandbox,
precisará também verificar seus endereços "To". Você pode verificar endereços de e-mail ou domínios
inteiros, mas este tutorial exige um endereço de e-mail verificado para que você possa enviar um e-
mail pelo console do Amazon SES, que é a maneira mais simples de enviar um e-mail. Para obter
mais informações sobre como verificar um endereço de e-mail, consulte Criação da identidade de um
endereço de e-mail (p. 168).
• Aplicação de e-mail: para usar o Amazon Kinesis Data Analytics como descrito neste tutorial, você deve
enviar um fluxo estável de e-mails pelo Amazon SES para gerar um fluxo estável de eventos de envio
de e-mail. Isso permite que o Amazon Kinesis Data Analytics detecte automaticamente o esquema e
processe os registros de eventos com SQL. Enviar um e-mail a cada dez segundos por cinco minutos é
suficiente para este tutorial.
Important
Se você não tem uma campanha de e-mail existente para enviar a destinatários reais, é
extremamente recomendável que envie e-mails a um endereço do simulador de caixa postal do
Amazon SES (p. 266). Os e-mails enviados ao simulador de caixa postal não contam para suas
taxas de devolução e reclamação do Amazon SES nem para a cota de envios diários.
Próxima etapa
Etapa 1: Criar um fluxo de entrega do Kinesis Data Firehose (p. 412)
Quando configura um fluxo de entrega do Kinesis Data Firehose, você escolhe o destino final dos dados.
Suas opções de destino são Amazon Simple Storage Service (Amazon S3), Amazon OpenSearch Service
e Amazon Redshift. Se você simplesmente deseja analisar os eventos de envio de e-mail com o Amazon
Kinesis Data Analytics, não importa o destino que escolher. Para este tutorial, configuramos o Kinesis Data
Firehose para publicar os dados no Amazon S3, mas você pode usar as outras opções de destino se elas
estiverem na mesma região que seu fluxo de envio do Amazon SES e fluxo de entrega do Kinesis Data
Firehose.
Esta seção mostra como criar um fluxo de entrega do Kinesis Data Firehose usando o console Kinesis
Data Firehose. Para este tutorial, você escolhe opções básicas. Para obter mais informações, consulte
Criação de um fluxo de entrega do Amazon Kinesis Firehose no Guia do desenvolvedor do Amazon
Kinesis Data Firehose.
1. Faça login no AWS Management Console e abra o console do Kinesis Data Firehose em https://
console.aws.amazon.com/firehose/.
2. Escolha Create Delivery Stream.
3. Na página Destination, escolha as opções a seguir+
412
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Próxima etapa
413
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Se você já tem um conjunto de configurações, pode adicionar um destino do Kinesis Data Firehose a ele.
Próxima etapa
Para habilitar a publicação de eventos para um e-mail, você fornece o nome do conjunto de configurações
para o Amazon SES ao enviar o e-mail. Você também pode, como opção, incluir as tags de mensagens
para classificar o e-mail. Forneça essas informações ao Amazon SES como parâmetros para a API de
envio de e-mail, cabeçalhos de e-mail específicos do Amazon SES ou cabeçalhos personalizados em sua
mensagem MIME. Para obter mais informações, consulte Enviar e-mail usando a publicação de eventos do
Amazon SES (p. 348).
Por exemplo, você pode adicionar os seguintes cabeçalhos de e-mail específicos do Amazon SES ao
seu e-mail para simular uma campanha de livro. Substitua CONFIGURATION-SET-NAME pelo nome do
conjunto de configurações que você criou em Etapa 2: Definir um conjunto de configurações (p. 413).
X-SES-CONFIGURATION-SET: CONFIGURATION-SET-NAME
X-SES-MESSAGE-TAGS: campaign=book
Próxima etapa
Etapa 4: Criar uma aplicação do Amazon Kinesis Data Analytics (p. 414)
414
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
O procedimento a seguir mostra como usar o console do Amazon Kinesis Data Analytics para criar uma
aplicação que captura os dados dos evento sde envio de e-mail do Amazon SES do fluxo de entrega do
Kinesis Data Firehose, e como executar uma consulta SQL simples nos dados para retornar os eventos do
tipo "Send" (Enviar).
Note
1. Comece a enviar um fluxo constante de e-mails configurados para a publicação de eventos pelo
Amazon SES e continue enviando os e-mails durante esse procedimento. Isso é necessário para
que o Amazon Kinesis Data Analytics possa detectar automaticamente o esquema dos registros de
eventos. Enviar um e-mail a cada dez segundos por cinco minutos é suficiente para este tutorial. Para
obter mais informações, consulte . Etapa 3: Enviar e-mails (p. 414).
Após o seu programa de e-mail enviar alguns e-mails, vá para a próxima etapa.
2. Faça login no AWS Management Console e abra o console do Kinesis Data Analytics em https://
console.aws.amazon.com/kinesisanalytics.
3. Escolha Create new application.
4. Insira um nome de aplicativo e uma descrição para ele e, em seguida, escolha Save and continue.
5. Escolha Connect to a source.
6. Escolha o fluxo do Kinesis Data Firehose criado em Etapa 2: Definir um conjunto de
configurações (p. 413).
O Amazon Kinesis Data Analytics tenta descobrir o esquema dos registros de eventos de envio de e-
mail com base nos registros recebidos. Se o Amazon Kinesis Data Analytics exibir Error discovering
input schema (Erro ao descobrir o esquema de entrada), isso significa que o Amazon Kinesis Data
Analytics ainda não recebeu nenhum registro de envio de e-mail. Escolha Rediscover schema. Talvez
você precise escolher esse botão várias vezes. Se a descoberta do esquema não for bem-sucedida
após várias tentativas, verifique se o aplicativo de envio de e-mails está enviando constantemente e-
mails e que os e-mails especificam um conjunto de configurações.
Quando o Amazon Kinesis Data Analytics detecta um esquema, ele exibe uma mensagem de êxito e
lista os registros detectados.
Important
Não escolha Save and continue. Isso causará erros, pois o esquema descoberto não adota
as restrições de nomes do SQL. Você deve editar o esquema como descrito na próxima
etapa.
7. Escolha Edit schema (Editar esquema).
415
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
8. Para este tutorial, removemos a maioria das linhas. Escolha X ao lado de todas as linhas , exceto
daquelas com os seguintes nomes de coluna:
• eventType
• timestamp
• messageId
• to
• ses:configuration-set
Important
Não escolha Save schema and update stream samples. Isso causará erros, pois o esquema
descoberto não adota as restrições de nomes do SQL. Você deve editar o esquema como
descrito na próxima etapa.
416
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
417
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
11. Escolha Save schema and update stream samples. Se você encontrar erros de validação, será preciso
ter executado corretamente a etapa 10. Se você encontrar o erro No rows in source stream, verifique
se ainda está enviando o fluxo de e-mail que começou no início deste procedimento e escolha
Retrieve rows. Talvez você precise escolher Retrieve rows (Recuperar linhas) várias vezes antes que
o Amazon Kinesis Data Analytics capture os registros.
12. Após a recuperação bem-sucedida das linhas, escolha Exit (done).
Próxima etapa
418
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Este tópico mostra como executar uma consulta SQL no e-mail que envia os dados do evento.
Important
Este procedimento exige que você continue a enviar um fluxo constante de e-mails configurados
para publicação de eventos pelo Amazon SES, conforme descrito em Etapa 3: Enviar e-
mails (p. 414).
1. Pressupondo que você passou para esse procedimento após concluir a última etapa (p. 414), vá
para o menu superior do console do Amazon Kinesis Data Analytics e escolha sua aplicação.
O Amazon Kinesis Data Analytics tenta ler dados de eventos do fluxo do Kinesis Data Firehose. Se
você encontrar o erro No rows in source stream, verifique se ainda está enviando o fluxo de e-mail que
começou no início deste procedimento e escolha Retrieve rows.
419
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
Após o Amazon Kinesis Data Analytics recuperar e processar os registros recebidos, você vê uma lista
de registros de eventos do tipo "Send" (Envio).
Próxima etapa
O procedimento a seguir mostra como configurar o Amazon Kinesis Data Analytics para salvar os
resultados da consulta SQL em formato JSON para um fluxo de entrega do Kinesis Data Firehose que
grava os dados no Amazon S3. Em seguida, você executa uma consulta SQL e acessa os dados salvos.
420
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
1. Configure um novo fluxo do Kinesis Data Firehose que use o Amazon S3 como destino. É o mesmo
procedimento que Etapa 1: Criar um fluxo de entrega do Kinesis Data Firehose (p. 412).
2. Acesse o console do Amazon Kinesis Data Analytics, escolha a seta ao lado da sua aplicação e
escolha Application details (Detalhes da aplicação).
4. Escolha o fluxo do Kinesis Data Firehose criado na etapa 1, deixe o restante das opções com as
configurações padrão e, em seguida, escolha Save and continue (Salvar e continuar).
421
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
6. Escolha Save and run SQL para executar novamente a consulta executada em Etapa 5: Executar uma
consulta SQL (p. 419).
O Amazon Kinesis Data Analytics tenta processar os dados de eventos que recebe do fluxo de
entrega do Kinesis Data Firehose. Se você encontrar o erro No rows have arrived yet Nenhuma linha
chegou ainda), continue a enviar os e-mails, para que o Amazon Kinesis Data Analytics tenha eventos
de envio de e-mail para processar.
422
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
À medida que o Amazon Kinesis Data Analytics processa os registros, os resultados são exibidos
na guia Real-time analytics (Análise em tempo real). O Amazon Kinesis Data Analytics salva
automaticamente os resultados no bucket do Amazon S3 especificado quando você configurou o fluxo
de entrega do Kinesis Data Firehose na etapa 1.
Se o bucket estiver vazio, aguarde alguns minutos e tente novamente. Pode levar vários minutos até
que os dados cheguem do Amazon Kinesis Data Analytics ao seu bucket do Amazon S3.
10. Escolha um arquivo e, em seguida, no menu Actions, escolha Download.
423
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais
11. Siga as instruções na tela para baixar o arquivo para o seu computador.
12. No seu computador, abra o arquivo com um editor de texto. Os registros estão em formato JSON
e cada registro está contido em chaves. Veja a seguir um exemplo de um arquivo que contém dois
registros.
{"eventType":"Send","ses_timestamp":"2016-12-08
18:51:12.092","messageId":"EXAMPLE8dfc6695c-5f048b74-
ca83-4052-8348-4e7da9669fc3-000000","ses_to":"[\"[email protected]
\" ]","ses_configuration_set":"[\"MyConfigSet\" ]"}
{"eventType":"Send","ses_timestamp":"2016-12-08
18:50:42.181","messageId":"EXAMPLEdfc5f485-
d40a2543-2cac-4b84-8a8f-30bebdf3820c-000000","ses_to":"[\"[email protected]
\" ]","ses_configuration_set":"[\"MyConfigSet\" ]"}
424
Amazon Simple Email Service Guia do desenvolvedor
Uso de métricas de reputação
Como as taxas de devolução e de reclamação são tão importantes para a integridade de sua conta, o
Amazon SES inclui uma página de métricas de reputação no console do Amazon SES que você pode usar
para rastrear essas métricas. As métricas de reputação também podem exibir informações sobre fatores
não relacionados a devoluções nem a reclamações que podem danificar sua reputação como remetente.
Por exemplo, se você enviar e-mail para um spamtrap conhecido, verá uma mensagem nesse painel.
Esta seção contém informações sobre como acessar as métricas de reputação, interpretar as informações
nelas contidas e configurar sistemas para notificar você ativamente de fatores que podem afetar sua
reputação como remetente.
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, do lado esquerdo da tela, selecione Reputation metrics (Métricas de
reputação).
425
Amazon Simple Email Service Guia do desenvolvedor
Uso de métricas de reputação
• Pending end of review decision (Aguardando fim da decisão da revisão): sua conta está sob
revisão. Devido à natureza dos problemas que nos fizeram colocar sua conta sob análise, será
necessário realizar uma análise manual da sua conta antes de tomar qualquer outra ação.
• Sending paused (Envio pausado): pausamos a capacidade da sua conta enviar de e-mails.
Enquanto a capacidade da sua conta enviar e-mails está pausada, não é possível enviar e-mails
usando o Amazon SES. Você pode solicitar que revisemos essa decisão. Para saber mais sobre
como solicitar uma revisão, consulte Perguntas frequentes sobre o processo do Amazon SES de
revisão de envios (p. 561).
• Pending sending pause (Pausa no envio pendente): sua conta está sob revisão. Os problemas
que nos fizeram colocar sua conta sob análise não foram resolvidos. Nesta situação,
normalmente pausamos a capacidade de envio de e-mails da sua conta. No entanto, devido à
natureza da sua conta, será necessário analisar sua conta antes que qualquer outra ação seja
tomada.
• Bounce Rate – A porcentagem de e-mails enviados a partir de sua conta que resultaram em uma
devolução definitiva. Consulte como sua taxa de rejeição é calculada. (p. 428).
• Complaint Rate – A porcentagem de e-mails enviados a partir de sua conta que resultaram
em destinatários os marcando como spam. Consulte como sua taxa de reclamação é
calculada (p. 429)
Note
As seções Bounce Rate e Complaint Rate também incluem mensagens de status para
as respectivas métricas. A seguir está uma lista de mensagens de status que podem ser
exibidas para essas métricas:
• Healthy (Íntegro): a métrica está dentro dos níveis normais.
• Almost healed (Quase resolvido): a métrica fez com que sua conta fosse colocada sob
revisão. Desde que o período de análise começou, a métrica permaneceu abaixo da taxa
máxima. Se a métrica permanecer abaixo da taxa máxima, o status dessa métrica será
alterado para Healthy antes do término do período de análise.
• Under review (Sob revisão): a métrica fez com que sua conta fosse colocada sob
revisão e ainda está acima da taxa máxima. Se o problema que fez com que a métrica
excedesse a taxa máxima não estiver resolvido até o final do período de análise,
poderemos pausar a capacidade da sua conta para enviar e-mails.
• Sending pause (Pausa no envio): a métrica causou a pausa da capacidade da sua conta
enviar e-mails. Enquanto a capacidade da sua conta enviar e-mails está pausada, você
não pode enviar e-mails usando o Amazon SES. Você pode solicitar que revisemos
essa decisão. Para saber mais sobre como enviar uma solicitação para análise, consulte
Perguntas frequentes sobre o processo do Amazon SES de revisão de envios (p. 561).
• Pending sending pause (Pausa no envio pendente): a métrica fez com que sua conta
fosse colocada sob revisão. Os problemas que causaram esse período de análise não
foram resolvidos. Esses problemas podem causar a pausa da capacidade da sua conta
de enviar e-mails. Um membro da equipe do Amazon SES precisa revisar sua conta
antes de tomarmos qualquer outra ação.
• Other Notifications (Outras notificações): se sua conta estiver enfrentando problemas relacionados
à reputação que não sejam relacionados a devoluções nem a reclamações, será exibida aqui uma
breve mensagem. Para obter mais informações sobre as notificações que podem ser mostradas
nesta área, consulte Mensagens de métricas de reputação (p. 427).
Note
As métricas de reputação estão disponíveis a todos os usuários que têm acesso ao console
da AWS. Você não pode usar políticas do IAM para restringir o acesso à página do console de
métricas de reputação.
426
Amazon Simple Email Service Guia do desenvolvedor
Mensagens de métricas de reputação
Mensagens de status
Quando usa a a página do console de métricas de reputação, você vê uma mensagem que descreve o
status da sua conta do Amazon SES. A seguir, encontra-se uma lista de possíveis valores de status da
conta:
427
Amazon Simple Email Service Guia do desenvolvedor
Notificação da taxa de devolução
Além disso, as seções Bounce Rate (Taxa de devolução) e Complaint Rate (Taxa de reclamação) da
página de métricas de repupação exibem os resumos de status para as respectivas métricas. A seguir,
encontra-se uma lista de possíveis valores de status da métrica:
Uma devolução definitiva ocorre quando um e-mail é enviado para um endereço que não existe. O Amazon
SES não considera devoluções flexíveis (as que ocorrem quando o endereço de um destinatário está
temporariamente indisponível para receber mensagens) nesse cálculo. Os e-mails devolvidos que você
envia para endereços e domínios verificados, bem como e-mails enviados para o simulador de caixa de
entrada do Amazon SES (p. 266), também não são considerados nesse cálculo.
Calculamos sua taxa de devolução com base em um volume representativo de e-mails. Um volume
representativo é uma quantidade de e-mails que representa as suas práticas típicas de envio. Para ser
justo com remetentes de alto e pequeno volume, o volume representativo é diferente para cada conta e
muda conforme os padrões de envio da conta.
Para obter os melhores resultados, mantenha uma taxa de devolução abaixo de 5%. Taxas de devolução
mais altas podem afetar a entrega de seus e-mails. Se a taxa de devolução for de 5% ou superior,
colocaremos automaticamente sua conta sob análise. Se a taxa de devolução for de 10% ou superior,
poderemos interromper o recurso de envio de e-mails da sua conta até que você resolva o problema que
causou a alta taxa de devolução.
428
Amazon Simple Email Service Guia do desenvolvedor
Notificação da taxa de reclamação
Em seguida, determine quais endereços de e-mail estão gerando devoluções, e crie e implemente
um plano para reduzir ou eliminar essas devoluções. Se a capacidade da sua conta enviar e-mails foi
pausada, faça login no AWS Management Console e vá pra AWS Support. Responda ao caso que abrimos
em seu nome.
Se você implementou alterações que acredita resolverem o problema, faça login no console da AWS e
vá para a Central de Suporte. Responda ao caso que abrimos em seu nome. Em sua resposta ao caso,
descreva as alterações que você implementou. Se nós concordarmos que as alterações reduzirão sua taxa
de devolução, ajustaremos nossos cálculos para levar em conta apenas as devoluções recebidas depois
que as alterações foram implementadas.
Quando você implementar alterações que acredita resolverem o problema, faça login no console da
AWS e vá para a Central de Suporte. Responda ao caso que abrimos em seu nome. Inclua detalhes das
ações tomadas para resolver este problema, bem como detalhes dos seus planos para garantir que esse
problema não ocorra novamente. Após recebermos sua solicitação, nós analisaremos as informações
fornecidas e alteraremos o status da sua conta, se necessário.
Uma reclamação ocorre quando um destinatário identifica um e-mail enviado como spam. Isso geralmente
ocorre quando o destinatário usa o botão Denunciar Spam no cliente de e-mail dele. As reclamações
geradas por e-mails enviados ao simulador de caixa de entrada do Amazon SES (p. 266) não são
consideradas nesse cálculo.
Calculamos sua taxa de reclamação com base em um volume representativo de e-mails. Um volume
representativo é uma quantidade de e-mails que representa as suas práticas típicas de envio. Para ser
justo com remetentes de alto e pequeno volume, o volume representativo é diferente para cada conta e
muda conforme os padrões de envio da conta.
Para obter os melhores resultados, mantenha uma taxa de reclamação abaixo de 0,1%. Taxas de
reclamação mais altas podem afetar a entrega de seus e-mails. Se a taxa de reclamação for de 0,1%
429
Amazon Simple Email Service Guia do desenvolvedor
Notificação da organização antispam
ou superior, colocaremos automaticamente sua conta sob análise. Se a taxa de reclamação for de 0,5%
ou superior, poderemos interromper o recurso de envio de e-mails da sua conta até que você resolva o
problema que causou a alta taxa de reclamação.
Em seguida, determine quais mensagens enviadas estão gerando reclamações, e implemente um plano
para reduzi-las. Se a capacidade da conta enviar e-mails já foi pausada, faça login no Console da AWS e
vá para a Central de Suporte. Responda ao caso que abrimos em seu nome.
Embora você deva imediatamente interromper o envio para endereços que possuem reclamações,
é importante que você identifique os fatores que estão fazendo com que os destinatários enviem
reclamações. Após identificar esses fatores, ajuste seus comportamentos de envio de e-mail para
solucioná-los.
Se você implementou alterações que acredita resolverem o problema, faça login no console da AWS e
vá para a Central de Suporte. Responda ao caso que abrimos em seu nome. Em sua resposta ao caso,
descreva as alterações que você implementou. Se nós concordarmos que as alterações reduzirão sua taxa
de reclamação, ajustaremos nossos cálculos para levar em conta apenas as reclamações recebidas após
a implementação das alterações.
Quando você tiver implementado alterações que acredita resolverem o problema, faça login no console
da AWS e vá para a Central de Suporte. Responda ao caso que abrimos em seu nome. Inclua detalhes
das ações tomadas para resolver este problema, bem como detalhes dos seus planos para garantir que
esse problema não ocorra novamente. Após recebermos sua solicitação, nós analisaremos as informações
fornecidas e alteraremos o status da sua conta, se necessário.
Não é possível fornecer informações sobre as mensagens específicas que fizeram com que a organização
antispam sinalizasse seu conteúdo como problemático. Não podemos fornecer o nome da organização
que emitiu o relatório. Normalmente, as organizações antispam consideram uma combinação dos
seguintes fatores: feedback do destinatário, métricas de engajamento da mensagem, tentativas de
entregas para endereços inválidos, conteúdo sinalizado pelos seus filtros de spam e ocorrências em
430
Amazon Simple Email Service Guia do desenvolvedor
Notificação de listbombing
spamtrap. Esta não é uma lista completa, outros fatores podem fazer com que essas organizações
sinalizem o seu conteúdo.
Se você implementou alterações que acredita resolverem o problema, faça login no console da AWS e vá
para a Central de Suporte. Responda ao caso que abrimos em seu nome. Em sua mensagem, forneça
detalhes das alterações feitas. Quando recebermos essas informações, vamos estender o período de
análise para garantir que só estamos analisando as notificações de organização antispam que recebemos
depois que você implementou as alterações. No final do período de análise estendido, sua conta não será
mais listada pela organização antispam e removeremos o período de análise da sua conta.
Quando você tiver implementado alterações que acredita resolverem o problema, faça login no console
da AWS e vá para a Central de Suporte. Responda ao caso que abrimos em seu nome. Inclua detalhes
das ações tomadas para resolver este problema, bem como detalhes dos seus planos para garantir que
esse problema não ocorra novamente. Após recebermos sua solicitação, nós analisaremos as informações
fornecidas e alteraremos o status da sua conta, se necessário.
Notificação de listbombing
Esta seção contém informações adicionais sobre notificações de listbombing mostradas na página de
métricas de reputação do Amazon SES.
As organizações antispam usam métodos exclusivos para identificar sites vulneráveis a listbombing.
Por esse motivo, não podemos fornecer detalhes adicionais sobre o problema que levou a organização
antispam a identificar seu processo de envio de e-mail como problemático. Também não podemos fornecer
o nome da organização que identificou o problema.
431
Amazon Simple Email Service Guia do desenvolvedor
Notificação de feedback direto
que scripts automatizados enviem solicitações de assinatura. Além disso, quando novos usuários se
cadastrarem em seu produto ou serviço, envie um e-mail para confirmar se, de fato, eles pretendiam se
cadastrar. Não envie nenhum e-mail adicional aos clientes, a menos que eles aceitem claramente suas
comunicações.
Por fim, você precisa realizar uma “autorização de permissão” em sua lista de e-mails. Em uma
autorização de permissão, você envia um e-mail a todos os seus clientes perguntando se eles ainda
querem receber seus e-mails. Envie e-mails somente aos clientes que confirmarem que desejam receber
seus e-mails.
Se você implementou alterações que acredita resolverem o problema, faça login no console da AWS e vá
para a Central de Suporte. Responda ao caso que abrimos em seu nome. Em sua mensagem, forneça
detalhes das alterações feitas. Quando recebermos essas informações, vamos estender o período de
análise para garantir que só estamos analisando as notificações de organização antispam que recebemos
depois que você implementou as alterações. No final do período de análise estendido, sua conta não será
mais listada pela organização antispam e removeremos o período de análise da sua conta.
Quando você tiver implementado alterações que acredita resolverem o problema, faça login no console
da AWS e vá para a Central de Suporte. Responda ao caso que abrimos em seu nome. Inclua detalhes
das ações tomadas para resolver este problema, bem como detalhes dos seus planos para garantir que
esse problema não ocorra novamente. Após recebermos sua solicitação, nós analisaremos as informações
fornecidas e alteraremos o status da sua conta, se necessário.
Para proteger a privacidade dos usuários que relataram estes problemas, não podemos fornecer seus
endereços de e-mail.
Os destinatários podem reclamar com o Amazon SES quando recebem mensagens que não se
cadastraram para receber, quando não recebem o tipo de e-mail que esperavam receber, quando não
acham o e-mail que recebem útil ou interessante, quando não reconhecem as mensagens como algo para
o qual se cadastraram ou quando estão recebendo uma quantidade muito grande de mensagens. Esta
lista não está completa. Os fatores que são relevantes no seu caso dependem do seu programa de envio
de e-mail específico.
432
Amazon Simple Email Service Guia do desenvolvedor
Notificação da lista de bloqueio de domínio
Além disso, você deve limpar suas listas de endereços que não interagiram com seus e-mails
recentemente. Você pode usar o rastreamento abra e clique, conforme descrito em Monitoramento da
atividade de envio do Amazon SES (p. 328), para determinar quais usuários estão vendo e interagindo
com o conteúdo enviado.
Se você implementou alterações que acredita resolverem o problema, faça login no console da AWS
e vá para a Central de Suporte. Responda ao caso que abrimos em seu nome. Forneça informações
detalhadas sobre as etapas que tiver feito para resolver o problema e descreva como essas etapas evitam
que o problema ocorra novamente no futuro. Se nós concordarmos que as alterações feitas resolverão o
problema de forma adequada, cancelaremos o período de análise da sua conta.
Quando você tiver implementado alterações que acredita resolverem o problema, faça login no console
da AWS e vá para a Central de Suporte. Responda ao caso que abrimos em seu nome. Inclua detalhes
das ações tomadas para resolver este problema, bem como detalhes dos seus planos para garantir que
esse problema não ocorra novamente. Após recebermos sua solicitação, nós analisaremos as informações
fornecidas e alteraremos o status da sua conta, se necessário.
Não é possível fornecer os nomes dos domínios que estão fazendo com que sua mensagem seja
sinalizada, ou identificar quais e-mails foram marcados dessa forma.
433
Amazon Simple Email Service Guia do desenvolvedor
Notificação de revisões internas
na lista de bloqueios de domínio. Mais de um domínio mencionado nos e-mails enviados por você pode
estar nesta lista de bloqueio.
A lista de bloqueio de domínio da Spamhaus não é afiliada ao Amazon SES ou à AWS. Não garantimos a
exatidão dos domínios nesta lista. A lista de bloqueio de domínio Spamhaus e a Domain Lookup Tool são
operadas e mantidas sob propriedade do Spamhaus Project.
Se você implementou alterações que acredita resolverem o problema, faça login no console da AWS e vá
para a Central de Suporte. Responda ao caso que abrimos em seu nome. Em sua mensagem, forneça
detalhes das alterações feitas. Quando recebermos essas informações, estenderemos o período de
análise para garantir que só estamos analisando a quantidade de domínios presentes na lista de bloqueios
no seu e-mail depois que você implementou as alterações. No final do período de análise estendido, se a
quantidade de notificações da lista de bloqueio de domínio for reduzida ou eliminada e considerarmos que
você realizou etapas para evitar que esse problema ocorra novamente no futuro, cancelaremos o período
de análise da sua conta.
Quando você tiver implementado alterações que acredita resolverem o problema, faça login no console
da AWS e vá para a Central de Suporte. Responda ao caso que abrimos em seu nome. Inclua detalhes
das ações tomadas para resolver este problema, bem como detalhes dos seus planos para garantir que
esse problema não ocorra novamente. Após recebermos sua solicitação, nós analisaremos as informações
fornecidas e alteraremos o status da sua conta, se necessário.
Para proteger o nosso processo de detecção de abuso, não podemos revelar os fatores específicos que
levaram a sua conta a ser sinalizada desta forma.
434
Amazon Simple Email Service Guia do desenvolvedor
Notificação do provedor de caixa postal
Essa não é uma lista completa. O motivo específico para esta notificação pode ser uma combinação de
qualquer um destes fatores ou também pode ser algo não listado.
• Certificar-se de que os destinatários que você está entrando em contato são aqueles que explicitamente
solicitaram receber e-mail.
• Nunca compre, alugue ou empreste listas de destinatários de e-mails.
• Não tente ocultar sua identidade ou o objetivo da comunicação nas mensagens que enviar.
• Crie uma lista de todos os domínios mencionados nos e-mails enviados por meio do Amazon SES e
use a ferramenta Spamhaus Domain Lookup em https://www.spamhaus.org/lookup/ para determinar se
algum desses domínios está na lista de bloqueio de domínio Spamhaus.
• Certifique-se de que você está seguindo as melhores práticas do setor ao projetar seus e-mails.
Esta lista não é abrangente, mas deve ajudá-lo a identificar alguns dos mais comuns fatores que podem
fazer com que seus e-mails sejam marcados.
A lista de bloqueio de domínio da Spamhaus não é afiliada ao Amazon SES ou à AWS. Não garantimos a
exatidão dos domínios nesta lista. A lista de bloqueio de domínio Spamhaus e a Domain Lookup Tool são
operadas e mantidas sob propriedade do Spamhaus Project.
Se removermos um período de análise ou uma pausa de envios de sua conta e observarmos o mesmo
problema posteriormente, poderemos colocar sua conta sob análise ou pausar sua capacidade de enviar
e-mails novamente. Em casos extremos, ou se observamos repetidas ocorrências do mesmo problema,
poderemos suspender permanentemente a capacidade da sua conta para enviar e-mails.
Consulte Perguntas frequentes sobre o processo do Amazon SES de revisão de envios (p. 561) para
obter mais informações sobre o que fazer se sua conta estiver sob análise ou se a capacidade da sua
conta para enviar e-mails for pausada.
435
Amazon Simple Email Service Guia do desenvolvedor
Notificação de feedback do destinatário
Não podemos compartilhar a identidade da organização que emitiu este relatório. Além disso, não
temos informações sobre fatores específicos que fizeram com que o provedor de caixa postal enviasse
o relatório. Normalmente, os provedores de caixa postal tomam estas decisões com base no feedback
dos clientes, métricas de envolvimento do cliente, tentativa de entregas para endereços inválidos e no
conteúdo que é sinalizado pelos filtros de spam. Esta lista não é abrangente, podem haver outros fatores
que fizeram com que o provedor de caixa postal sinalizasse seu conteúdo.
Se você implementou alterações que acredita resolverem o problema, faça login no console da AWS e vá
para a Central de Suporte. Responda ao caso que abrimos em seu nome. Em sua mensagem, forneça
detalhes das alterações feitas. Quando recebermos essas informações, vamos estender o período de
análise para garantir que só estamos analisando a quantidade de notificações do provedor de caixa postal
que recebemos depois que você implementou as alterações. No final do período de análise estendido, se
o provedor de caixa postal não reportar mais sua conta como problemática, poderemos remover o período
de análise da sua conta.
Quando você tiver implementado alterações que acredita resolverem o problema, faça login no console
da AWS e vá para a Central de Suporte. Responda ao caso que abrimos em seu nome. Inclua detalhes
das ações tomadas para resolver este problema, bem como detalhes dos seus planos para garantir que
esse problema não ocorra novamente. Após recebermos sua solicitação, nós analisaremos as informações
fornecidas e alteraremos o status da sua conta, se necessário.
Um grande número de reclamações pode ter um impacto negativo em todos os usuários do Amazon SES.
Para proteger sua reputação e a de outros clientes do Amazon SES, tomamos medidas imediatas quando
uma conta recebe um determinado número de reclamações.
436
Amazon Simple Email Service Guia do desenvolvedor
Notificação de contas relacionadas
Não é possível fornecer uma lista de endereços de e-mail específicos que estão marcando seus e-mails
como não solicitado. Além disso, não é possível compartilhar o nome do provedor de caixa postal que
relatou este problema para nós.
Para adquirir novos endereços, recomendamos que você implemente uma estratégia de inclusão dupla,
conforme descrito em Criar e manter suas listas (p. 27). Recomendamos que você apenas envie e-mails
para endereços que tenham concluído o processo de inclusão dupla.
Além disso, você deve limpar suas listas de endereços que não interagiram com seus e-mails
recentemente. Você pode usar o rastreamento abra e clique, conforme descrito em Monitoramento da
atividade de envio do Amazon SES (p. 328), para determinar quais usuários estão vendo e interagindo
com o conteúdo enviado.
Se você implementou alterações que acredita resolverem o problema, faça login no console da AWS e vá
para a Central de Suporte. Responda ao caso que abrimos em seu nome. Em sua mensagem, forneça
detalhes das alterações feitas. Quando recebermos essas informações, vamos estender o período de
análise para garantir que só estamos analisando a quantidade de reclamações do provedor de caixa postal
que recebemos depois que você implementou as alterações. Ao final do período de análise estendido, se a
quantidade de reclamações do provedor de caixa postal for reduzida ou eliminada, poderemos remover a
análise da sua conta.
Quando você tiver implementado alterações que acredita resolverem o problema, faça login no console
da AWS e vá para a Central de Suporte. Responda ao caso que abrimos em seu nome. Inclua detalhes
das ações tomadas para resolver este problema, bem como detalhes dos seus planos para garantir que
esse problema não ocorra novamente. Após recebermos sua solicitação, nós analisaremos as informações
fornecidas e alteraremos o status da sua conta, se necessário.
437
Amazon Simple Email Service Guia do desenvolvedor
Notificação de spamtrap
Você deve resolver os problemas com a conta relacionada primeiro. Depois que implementar alterações
que você acredita resolverem o problema, faça login no console da AWS e vá para a Central de Suporte.
Responda ao caso que abrimos em seu nome. Forneça informações detalhadas sobre as etapas que tiver
feito para resolver o problema e descreva como essas etapas evitam que o problema ocorra novamente
no futuro. Se nós concordarmos que as alterações feitas resolverão o problema de forma adequada,
cancelaremos o período de análise ou removeremos o pausa de envio da sua conta.
Notificação de spamtrap
Esta seção contém informações adicionais sobre as notificações de armadilhas de spam mostradas na
página de métricas de reputação do Amazon SES.
Uma armadilha de spam é um endereço de e-mail inativo que é usado exclusivamente para atrair e-
mails não solicitados (spam). Um grande número de relatos de armadilhas de spam pode ter um impacto
negativo em todos os usuários do Amazon SES. Para proteger sua reputação e a de outros clientes do
Amazon SES, tomamos medidas imediatas quando uma conta envia um determinado volume de e-mails
para endereços de armadilhas de spam.
O envio de e-mails para endereços spamtrap normalmente indica que há um problema com a forma
como você adquirir os endereços de e-mail dos clientes. Por exemplo, listas de endereços de e-
mail compradas podem conter endereços de armadilhas de spam, e é por isso que enviar para listas
compradas ou alugadas é proibido pelos termos de serviço do Amazon SES. Para adquirir novos
endereços, recomendamos que você implemente uma estratégia de inclusão dupla, conforme descrito em
Criar e manter suas listas (p. 27). Recomendamos que você apenas envie e-mails para endereços que
tenham concluído o processo de inclusão dupla.
Além disso, você deve limpar suas listas de endereços que não interagiram com seus e-mails
recentemente. Você pode usar o rastreamento abra e clique, conforme descrito em Monitoramento da
atividade de envio do Amazon SES (p. 328), para determinar quais usuários estão vendo e interagindo
com o conteúdo enviado.
Se você implementou alterações que acredita resolverem o problema, faça login no console da AWS e vá
para a Central de Suporte. Responda ao caso que abrimos em seu nome. Em sua mensagem, forneça
438
Amazon Simple Email Service Guia do desenvolvedor
Notificação de site vulnerável
detalhes das alterações feitas. Quando recebermos essas informações, vamos estender o período de
análise para garantir que só estamos analisando a quantidade de relatórios de spamtrap que recebemos
depois que você implementou as alterações. Ao final do período de análise estendido, se a quantidade de
relatórios de spamtrap for reduzida ou eliminada, poderemos remover a análise da sua conta.
Quando você tiver implementado alterações que acredita resolverem o problema, faça login no console
da AWS e vá para a Central de Suporte. Responda ao caso que abrimos em seu nome. Inclua detalhes
das ações tomadas para resolver este problema, bem como detalhes dos seus planos para garantir que
esse problema não ocorra novamente. Após recebermos sua solicitação, nós analisaremos as informações
fornecidas e alteraremos o status da sua conta, se necessário.
Na maioria dos casos nestas situações, um terceiro está usando indevidamente um recurso do seu site
para enviar e-mails indesejados. Por exemplo, se o seu site contém um recurso "enviar por e-mail para
um amigo", "entrar em contato conosco", "convidar um amigo" ou semelhante, um terceiro pode usar esse
recurso para enviar e-mails não solicitados.
Em seguida, modifique seu aplicativo ou site para evitar o envio não solicitado. Por exemplo, adicione
um CAPTCHA, limite a taxa na qual os e-mails podem ser enviados, remova a capacidade dos usuários
de enviar conteúdo personalizado, exija que os usuários façam login para enviar e-mail e remova a
capacidade do aplicativo de gerar várias notificações simultâneas.
Se removermos um período de análise ou uma pausa de envios de sua conta e observarmos o mesmo
problema posteriormente, poderemos colocar sua conta sob análise ou interromper seu recurso de envio
439
Amazon Simple Email Service Guia do desenvolvedor
Notificação de credenciais comprometidas
Consulte Perguntas frequentes sobre o processo do Amazon SES de revisão de envios (p. 561) para
obter mais informações sobre o que fazer se sua conta estiver sob análise ou se a capacidade da sua
conta para enviar e-mails for pausada.
Algumas causas comuns são chaves de acesso do IAM e senhas SMTP comprometidas ou outras
vulnerabilidades de segurança.
Se removermos um período de análise ou uma pausa de envios de sua conta e observarmos o mesmo
problema posteriormente, poderemos colocar sua conta sob análise ou interromper seu recurso de envio
de e-mails novamente. Se observarmos casos extremos ou repetidas ocorrências do mesmo problema,
poderemos suspender permanentemente o recurso de envio de e-mails da sua conta.
Consulte Perguntas frequentes sobre o processo do Amazon SES de revisão de envios (p. 561) para
obter mais informações sobre o que fazer se sua conta estiver sob análise ou se a capacidade da sua
conta para enviar e-mails for pausada.
Outra notificação
Esta seção contém informações adicionais sobre outras notificações mostradas na página de métricas de
reputação do Amazon SES.
440
Amazon Simple Email Service Guia do desenvolvedor
Criação de alarmes usando o CloudWatch
Pré-requisitos
• Crie um novo tópico do Amazon SNS e, em seguida, assine-o usando o endpoint de sua preferência (por
exemplo, e-mail ou SMS). Para obter informações, consulte Criar um tópico do Amazon SNS e Assinar
tópico do Amazon SNS no Guia do desenvolvedor do Amazon Simple Notification Service.
• Se você nunca enviou um e-mail na região da atual, talvez não veja o namespace SES. Para garantir
que você tenha métricas, envie um enail de teste para o mailbox simulator (p. 266) (simulador de caixa
de correio).
1. Faça login no AWS Management Console e abra o console do Amazon SES em https://
console.aws.amazon.com/ses/.
2. No painel de navegação, do lado esquerdo da tela, selecione Reputation metrics (Métricas de
reputação).
3. Na página Reputation metrics (Métricas de reputação), abaixo da guia Acount-level (Nivel de conta),
em qualquer uma das Bounce rate (Taxa de Devolução) ou Complaint rate (Taxa de reclamação),
selecione View in CloudWatch (Visualizar no CloudWatch). Isso abrirá o console do CloudWatch com
a métrica escolhida.
4. Na guia Graphed metrics (Métricas em gráfico), na linha da métrica escolhida, para este exemplo,
Reputation.BounceRate (Reputação.TaxaDevolução), escolha o ícone do alarm bell (Alarme) na
coluna Actions (Ações) (veja a imagem abaixo); isso abrirá a página Specify metric and conditions
(Especificar métrica e condições).
441
Amazon Simple Email Service Guia do desenvolvedor
Criação de alarmes usando o CloudWatch
5. Role para baixo até o painel Conditions (Condições) e escolha Static (Estático) no campo Threshold
type (Tipo de limite).
a. No campo Whenever metric is... (Sempre que a métrica for...), escolha Greater/Equal (Maior/
Igual a).
b. Em than… (do que…), especifique o valor que deve fazer com que o CloudWatch acione um
alarme.
• Se você estiver criando um alarme para monitorar sua taxa de devolução, observe que o
Amazon SES recomenda manter essa taxa abaixo de 5%. Se a taxa de devoluções da sua
conta for maior que 10%, poderemos pausar a capacidade de envio de e-mails da conta. Por
esse motivo, você deve configurar o CloudWatch para enviar uma notificação quando a taxa de
devolução da sua conta for maior ou igual a 0,05 (5%).
• Se você estiver criando um alarme para monitorar sua taxa de reclamação, observe que o
Amazon SES recomenda manter essa taxa abaixo de 0,1%. Se a taxa de reclamações da sua
conta for maior que 0,5%, poderemos pausar a capacidade de envio de e-mails da conta. Por
esse motivo, você deve configurar o CloudWatch para enviar uma notificação quando a taxa de
reclamação da sua conta for maior ou igual a 0,001 (0,1%).
c. Expanda Additional configuration (Configuração adicional) e selecione Treat missing data as
ignore (maintain the alarm state) (Tratar dados ausentes como ignorar (manter o estado de
alarme)) no campo missing data treatment (tratamento de dados ausentes).
d. Escolha Next (Próximo).
6. No painel Configure actions (Configurar ações), escolha in Alarm (em Alarme) no campo Alarm state
trigger (Gatilho de estado de alarme).
a. Escolha Select an existing SNS topic (Selecionar um tópico SNS existente) no campo Select an
SNS topic (Selecionar um tópico SNS).
b. Escolha o tópico que você criou e no qual se inscreveu nos pré-requisitos na caixa de pesquisa
Send a notification to... (Enviar uma notificação para…).
c. Escolha Next (Próximo).
7. No painel Add a description (Adicionar uma descrição), insira um nome e uma descrição para o alarme
e depois selecione Next (Próximo).
8. No painel Preview and create (Pré-visualizar e criar), confirme suas configurações e, se estiver
satisfeito, escolha Create alarm (Criar alarme). Se houver algo que você gostaria de mudar, selecione
o botão Previous (Anterior) para cada seção que você gostaria de voltar e editar.
442
Amazon Simple Email Service Guia do desenvolvedor
Metrics SNDS para IPs dedicados
O SNDS é um programa do Outlook que permite que os proprietários de IP ajudem a evitar spam dentro do
seu espaço IP. O Amazon SES fornece esses dados importantes para os que alugam IPs dedicados. Os
dados SNDS fornecem informações sobre o comportamento de envio de e-mail do IP e destaca as áreas
preocupantes para a sua reputação como remetente.
Note
Em se tratando do Outlook, isso abrange todos os domínios que eles rastreiam. Por exemplo, isso
pode abranger Hotmail.com, Outlook.com e Live.com.
(Nota: se não houver endereços IP dedicados associados à sua conta na região selecionada, IP Metrics
(Métricas de IP) não será exibido no console do CloudWatch.)
5. Veja todos os seus IPs dedicados rastreados pelo SNDS nesta lista ou selecione um endereço IP
individual para visualizar apenas suas métricas.
As métricas a seguir são fornecidas para cada endereço IP dedicado e são definidar pelo Outlook. Para
obter mais informações, consulte as Perguntas frequentes do SNDS do Outlook.
Note
Essas métricas representam um período de atividade que fornece dados atualizados uma vez por
dia. As métricas também têm um carimbo de data/hora correspondente, que reflete um período de
24 horas.
• SNDS.RCPTCommands: este é o número de comandos RCPT percebidos pelo SNDS para o endereço
IP específico durante o período de atividade. Os comandos RCPT fazem parte do protocolo SMTP
usado para enviar e-mail, que especifica o endereço de destinatário para o qual você está tentando
entregar e-mail.
• SNDS.DATACommands: este é o número de comandos DATA percebidos pelo SNDS para o endereço
IP específico durante o período de atividade. Os comandos DATA fazem parte do protocolo SMTP usado
para enviar e-mail, especificamente a parte que realmente transmite a mensagem para os destinatários
pretendidos, anteriormente estabelecidos.
• SNDS.MessageRecipients: o número de destinatários em mensagens percebidas pelo SNDS para o
endereço IP específico durante o período de atividade.
• SNDS.SpamRate: exibe os resultados agregados da filtragem de spam aplicada a todas as mensagens
enviadas pelo endereço IP durante o período de atividade especificado.
• Uma taxa de spam de 0 significa que o endereço IP tem menos de 10% de spam.
443
Amazon Simple Email Service Guia do desenvolvedor
Perguntas sobre a solução de problemas
• Uma taxa de spam de 0,5 significa que entre 10% e 90% de spam é gerado a partir do endereço IP.
• Uma taxa de spam de 1 significa que 90% ou mais de spam são gerados a partir do endereço IP.
• SNDS.ComplaintRate: essa é a fração do tempo que uma mensagem recebida do IP é alvo da
reclamação de um usuário do Outlook durante o período de atividade.
• Uma ComplaintRate de 1 significa uma taxa de reclamação de 100%.
• Uma ComplaintRate de 0,05 significaria, por exemplo, uma taxa de reclamação de 5%.
• Uma reclamação de 0 significa que a taxa é inferior a 0,1%.
• SNDS.TrapHits: exibe o número de mensagens enviadas às "contas de armadilha". Contas de armadilha
são contas mantidas pelo Outlook que não solicitam nenhum e-mail. Assim, é muito provável que
qualquer mensagem enviada para contas de armadilha seja spam.
P2. Por que as métricas SNDS.SpamRate e SNDS.ComplaintRate estão mudando e o que devo fazer se a
taxa mudar para um valor de 1?
Este é um indicador de que algo no seu comportamento de envio disparou uma resposta negativa do
programa SNDS do Outlook. Nesse caso, você deve conferir em outros provedores de serviços de Internet
(ISPs), bem como seus números de engajamento para se certificar de que não se trata de um problema
global. Se for um problema global, você talvez observe problemas com vários ISPs, o que sugere um
problema de lista, conteúdo, distribuição ou permissões. Se for específico para o Outlook, revise como
melhor entregar para o Outlook.
P3. Que ações o AWS Support tomará se minha SNDS.SpamRate passar de um valor de 0 (ou 0,5) para
1?
A AWS não tem nenhum controle sobre o SNDS e, portanto, não tem influência no SNDS. Todas as
solicitações de mitigação precisam ser encaminhadas diretamente ao Outlook por meio de seu Novo
formulário de solicitação de suporte.
Usando o Amazon CloudWatch e o Lambda, crie uma solução que pausa automaticamente o envio de e-
mails caso suas métricas de reputação (como taxa de devolução ou taxa de reclamação) excedam certos
limites. Este tópico contém procedimentos para configurar essa solução.
444
Amazon Simple Email Service Guia do desenvolvedor
Para toda a conta
• AWSLambdaBasicExecutionRole
• AmazonSESFullAccess
Tip
445
Amazon Simple Email Service Guia do desenvolvedor
Para toda a conta
Essa função pausa o envio de e-mails somente na região da AWS que você selecionar nesta
etapa. Se você envia e-mails de mais de uma região, repita os procedimentos desta seção
para cada região na qual deseja pausar automaticamente o envio de e-mails.
3. Escolha Create function (Criar função).
4. Em Create function (Criar função), escolha Author from scratch (Criar do zero).
5. Em Basic information (Informações básicas), execute as seguintes etapas:
'use strict';
// Specify the parameters for this operation. In this case, there is only one
// parameter to pass: the Enabled parameter, with a value of false
// (Enabled = false disables email sending, Enabled = true enables it).
var params = {
Enabled: false
};
446
Amazon Simple Email Service Guia do desenvolvedor
Para toda a conta
7. Escolha Test (Testar). Se a janela Configure test event (Configurar evento de teste) for exibida, digite
um nome no campo Event name (Nome do evento) e escolha Save (Salvar).
8. Expanda a caixa suspensa Test (Teste), selecione o nome do evento recém-criado e escolha Test
(Teste).
9. A guia Execution results (Resultados da execução) será exibida: logo abaixo dela e à direita, verifique
se Status: Succeeded é exibido. Se a função não for executada, faça o seguinte:
• Verifique se a função do IAM que você criou em the section called “Parte 1: Criar uma função do
IAM” (p. 445) contém as políticas corretas.
• Verifique se o código da função do Lambda não contém nenhum erro. O editor de código do
Lambda automaticamente destaca os erros de sintaxe e outros problemas potenciais.
Os procedimentos nesta seção reabilitam o envio de e-mail para sua conta do Amazon SES. Para concluir
esses procedimentos, você deve instalar e configurar a AWS Command Line Interface. Para obter mais
informações, consulte o Guia do usuário do AWS Command Line Interface.
1. Na linha de comando, digite o comando a seguir para reabilitar o envio de e-mails para a sua conta.
Substitua sending_region pelo nome da região onde você deseja reabilitar o envio de e-mails.
2. Na linha de comando, digite o seguinte comando para verificar o status de envio de e-mails para a sua
conta:
Se visualizar a saída a seguir, isso significa que conseguiu reativar o envio de e-mail para sua conta:
{
"Enabled": true
}
447
Amazon Simple Email Service Guia do desenvolvedor
Para toda a conta
• Reputation.BounceRate – Escolha essa métrica se desejar pausar o envio de e-mail para sua conta
quando a taxa de devolução definitiva geral para sua conta ultrapassar um limite definido por você.
• Reputation.ComplaintRate – Escolha essa métrica se desejar pausar o envio de e-mail para sua
conta quando a taxa de reclamação geral para sua conta ultrapassar um limite definido por você.
• Em Alarm Threshold (Limite do alarme), para Name (Nome), digite um nome para o alarme.
• Em Whenever: Reputation.BounceRate ou Whenever: Reputation.ComplaintRate, especifique o
limite que acionará o alarme.
Note
Sua conta será automaticamente colocada sob análise se a taxa de devolução ultrapassar
10% ou se a taxa de reclamação ultrapassar 0,5%. Quando você especifica a taxa de
devolução ou de reclamação que faz com que o alarme do CloudWatch seja acionado, é
448
Amazon Simple Email Service Guia do desenvolvedor
Para toda a conta
recomendável usar valores abaixo dessas taxas para impedir que sua conta seja colocada
sob revisão.
• Em Actions (Ações), em Whenever this alarm (Sempre que este alarme), escolha State is ALARM
(Estado é ALARME). Em Send notification to (Enviar e-mail para), escolha o tópico do Amazon SNS
que você criou em the section called “Parte 4: Criar um tópico do Amazon SNS” (p. 447).
Os procedimentos nesta seção são opcionais, mas é recomendável realizá-los para garantir a
configuração correta da solução de maneira geral.
1. Na linha de comando, digite o comando a seguir para verificar o status de envio de e-mails para a sua
conta. Substitua region (região) pelo nome da região.
Se o envio estiver ativado para sua conta, você verá a saída a seguir:
{
"Enabled": true
}
2. Na linha de comando, digite o comando a seguir para alterar temporariamente o estado do alarme
para ALARM: aws cloudwatch set-alarm-state --alarm-name MyAlarm --state-value ALARM --state-
reason "Testing execution of Lambda function" --region region
Substitua MyAlarm (MeuAlarme) no comando anterior pelo nome do alarme que você criou em the
section called “Parte 5: Criar um alarme do CloudWatch” (p. 448) e substitua region (região) pela
região na qual deseja pausar automaticamente o envio de e-mails.
Note
Se a função do Lambda for executada com êxito, você verá o seguinte resultado:
{
"Enabled": false
}
4. Realize os procedimentos em the section called “Parte 3: reativar o envio de e-mail para sua
conta” (p. 447) para reativar o envio de e-mail para sua conta.
449
Amazon Simple Email Service Guia do desenvolvedor
Para um conjunto de configurações
A solução descrita nesta seção pausa o envio de e-mails para um determinado conjunto de
configurações em uma única região da AWS. Se você envia e-mails de várias regiões, repita os
procedimentos desta seção para cada região na qual deseja implementar esta solução.
• AWS LambdaBasicExecutionRole
450
Amazon Simple Email Service Guia do desenvolvedor
Para um conjunto de configurações
• AmazonSESFullAccess
Tip
Use a caixa de pesquisa na parte superior da lista de políticas para localizar rapidamente
essas políticas.
'use strict';
// Specify the parameters for this operation. In this example, you pass the
// Enabled parameter, with a value of false (Enabled = false disables email
// sending, Enabled = true enables it). You also pass the ConfigurationSetName
// parameter, with a value equal to the name of the configuration set for
// which you want to pause email sending.
var params = {
451
Amazon Simple Email Service Guia do desenvolvedor
Para um conjunto de configurações
ConfigurationSetName: ConfigSet,
Enabled: false
};
Substitua ConfigSet no código anterior pelo nome do conjunto de configurações. Escolha Save
(Salvar).
7. Escolha Test (Testar). Se a janela Configure test event (Configurar evento de teste) for exibida, digite
um nome no campo Event name (Nome do evento) e escolha Create (Criar).
8. Confirme se a barra de notificação na parte superior da página diz Execution result:
succeeded. Se a função não for executada, faça o seguinte:
• Verifique se a função do IAM que você criou em the section called “Parte 2: criar uma função do
IAM” (p. 450) contém as políticas corretas.
• Verifique se o código da função do Lambda não contém nenhum erro. O editor de código do
Lambda automaticamente destaca os erros de sintaxe e outros problemas potenciais.
Os procedimentos nesta seção reativam o envio de e-mails para o conjunto de configurações. Para
concluir esses procedimentos, você deve instalar e configurar a AWS Command Line Interface. Para obter
mais informações, consulte o Manual do usuário do AWS Command Line Interface.
1. Na linha de comando, digite o comando a seguir para reabilitar o envio de e-mails para o conjunto de
configurações:
No comando anterior, substitua ConfigSet pelo nome do conjunto de configurações no qual você
deseja pausar o envio de e-mails.
2. Na linha de comando, digite o comando a seguir para garantir que o envio de e-mails esteja habilitado:
452
Amazon Simple Email Service Guia do desenvolvedor
Para um conjunto de configurações
{
"ConfigurationSet": {
"Name": "ConfigSet"
},
"ReputationOptions": {
"ReputationMetricsEnabled": true,
"SendingEnabled": true
}
}
Se o valor de SendingEnabled for true, então, o envio de e-mails para o conjunto de configurações
foi reativado com êxito.
453
Amazon Simple Email Service Guia do desenvolvedor
Para um conjunto de configurações
2. Use o seletor de regiões para escolher a região onde você deseja pausar automaticamente o envio de
e-mails.
3. No painel de navegação à esquerda, escolha Alarms (Alarmes).
4. Escolha Create Alarm.
5. Na janela Create Alarm (Criar alarme), em SES Metrics (Métricas do SES), escolha Configuration Set
Metrics (Métricas de conjunto de configurações).
6. Na coluna ses:configuration-set, localize o conjunto de configurações para o qual deseja criar um
alarme. Em Metric Name (Nome da métrica), escolha uma das opções a seguir:
• Reputation.BounceRate – Escolha essa métrica se desejar pausar o envio de e-mail para o conjunto
de configurações quando o índice geral de devolução definitiva para seu conjunto de configurações
ultrapassar um limite definido por você.
• Reputation.ComplaintRate – Escolha essa métrica se desejar pausar o envio de e-mail para o
conjunto de configurações quando o índice geral de reclamação para seu conjunto de configurações
ultrapassar um limite definido por você.
• Em Alarm Threshold (Limite do alarme), para Name (Nome), digite um nome para o alarme.
• Em Whenever: Reputation.BounceRate ou Whenever: Reputation.ComplaintRate, especifique o
limite que acionará o alarme.
Note
Se a taxa geral de devolução para a sua conta do Amazon SES ultrapassar 10% ou se a
taxa geral de reclamação para a sua conta do Amazon SES ultrapassar 0,5%, sua conta
do Amazon SES é colocada sob revisão. Quando você especifica a taxa de devolução ou
reclamação que faz com que o alarme do CloudWatch seja acionado, é recomendável usar
valores muito abaixo dessas taxas para impedir que sua conta seja colocada sob revisão.
• Em Actions (Ações), em Whenever this alarm (Sempre que este alarme), escolha State is ALARM
(Estado é ALARME). Em Send notification to (Enviar e-mail para), escolha o tópico do Amazon SNS
que você criou em the section called “Parte 5: Criar um tópico do Amazon SNS” (p. 453).
Os procedimentos nesta seção são opcionais, mas é recomendável realizá-los para verificar se a solução
está configurada corretamente de modo geral.
1. Na linha de comando, digite o comando a seguir para verificar o status de envio de e-mails para o
conjunto de configurações:
Se o envio estiver ativado para o conjunto de configurações, você verá o resultado seguir:
454
Amazon Simple Email Service Guia do desenvolvedor
Para um conjunto de configurações
{
"ConfigurationSet": {
"Name": "ConfigSet"
},
"ReputationOptions": {
"ReputationMetricsEnabled": true,
"SendingEnabled": true
}
}
Se o valor de SendingEnabled for true, o envio de e-mails está ativado no momento para o
conjunto de configurações.
2. Na linha de comando, digite o comando a seguir para alterar temporariamente o estado do alarme
para ALARM:
Substitua MyAlarm no comando precedente pelo nome do alarme que você criou em the section
called “Parte 6: Criar um alarme do CloudWatch” (p. 453).
Note
Se a função do Lambda for executada com êxito, a saída exibida será semelhante ao seguinte
exemplo:
{
"ConfigurationSet": {
"Name": "ConfigSet"
},
"ReputationOptions": {
"ReputationMetricsEnabled": true,
"SendingEnabled": false
}
}
455
Amazon Simple Email Service Guia do desenvolvedor
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Exemplos de código
• Exemplos de código para o Amazon SES usando SDKs da AWS (p. 457)
• Ações para o Amazon SES usando AWS SDKs (p. 458)
• Criar um filtro de recebimento do Amazon SES usando um AWS SDK (p. 459)
• Criar uma regra de recebimento do Amazon SES usando um AWS SDK (p. 460)
• Criar um conjunto de regras de recebimento do Amazon SES usando um AWS
SDK (p. 462)
• Criar um modelo de e-mail do Amazon SES usando um AWS SDK (p. 463)
• Excluir um filtro de recebimento do Amazon SES usando um AWS SDK (p. 465)
• Excluir uma regra de recebimento do Amazon SES usando um AWS SDK (p. 465)
• Excluir um conjunto de regras do Amazon SES usando um AWS SDK (p. 466)
• Excluir um modelo de e-mail do Amazon SES usando um AWS SDK (p. 467)
• Excluir uma identidade do Amazon SES usando um AWS SDK (p. 469)
• Descrever um conjunto de regras de recebimento do Amazon SES usando um AWS
SDK (p. 470)
• Obter um modelo existente de e-mail do Amazon SES usando um AWS
SDK (p. 471)
• Obter limites de envio do Amazon SES usando um AWS SDK (p. 472)
• Obter o status de uma identidade do Amazon SES usando um AWS SDK (p. 472)
• Listar modelos de e-mail do Amazon SES usando um AWS SDK (p. 474)
• Listar identidades do Amazon SES usando um AWS SDK (p. 476)
• Listar filtros de recebimento do Amazon SES usando um AWS SDK (p. 478)
• Enviar e-mails com o Amazon SES usando um AWS SDK (p. 479)
• Enviar e-mails com base em modelo com o Amazon SES usando um AWS
SDK (p. 484)
• Atualizar um modelo de e-mail do Amazon SES usando um AWS SDK (p. 487)
• Verificar uma identidade de domínio com o Amazon SES usando um AWS
SDK (p. 488)
• Verificar uma identidade de e-mail com o Amazon SES usando um AWS
SDK (p. 489)
• Cenários para o Amazon SES usando AWS SDKs (p. 490)
• Copiar identidades de domínio e e-mail do Amazon SES de uma região da AWS
para outra usando um AWS SDK (p. 490)
• Gerar credenciais para estabelecer conexão com um endpoint SMTP do Amazon
SES (p. 496)
456
Amazon Simple Email Service Guia do desenvolvedor
Exemplos do Amazon SES
• Verificar uma identidade de e-mail e enviar mensagens com o Amazon SES usando
um AWS SDK (p. 498)
• Exemplos de uso entre serviços do Amazon SES usando AWS SDKs (p. 505)
• Criar uma aplicação de transmissão do Amazon Transcribe (p. 506)
• Criar uma aplicação Web dinâmica para monitorar dados do DynamoDB (p. 506)
• Criar um monitor de item do Amazon Relational Database Service (p. 508)
• Detectar EPI em imagens com o Amazon Rekognition usando um AWS
SDK (p. 509)
• Detectar objetos em imagens com o Amazon Rekognition usando um AWS
SDK (p. 510)
• Detectar pessoas e objetos em um vídeo com o Amazon Rekognition usando um
AWS SDK (p. 513)
• Usar Step Functions para invocar funções do Lambda (p. 514)
• Exemplos de código para a API v2 do Amazon SES usando AWS SDKs (p. 515)
• Ações para a API v2 do Amazon SES usando AWS SDKs (p. 515)
• Criar um contato da API v2 do Amazon SES em uma lista de contatos usando um
AWS SDK (p. 516)
• Criar uma lista de contatos da API v2 do Amazon SES usando um AWS
SDK (p. 516)
• Obter informações sobre uma identidade da API v2 do Amazon SES usando um
AWS SDK (p. 517)
• Listar as listas de contatos da API v2 do Amazon SES usando um AWS
SDK (p. 518)
• Listar os contatos em uma lista de contatos da API v2 do Amazon SES usando um
AWS SDK (p. 519)
• Enviar um e-mail com a API v2 do Amazon SES usando um AWS SDK (p. 519)
Ações
Exemplos de código que mostram como realizar uma tarefa específica chamando várias funções
dentro do mesmo serviço.
Exemplos entre serviços
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
457
Amazon Simple Email Service Guia do desenvolvedor
Ações
Exemplos de código
• Ações para o Amazon SES usando AWS SDKs (p. 458)
• Criar um filtro de recebimento do Amazon SES usando um AWS SDK (p. 459)
• Criar uma regra de recebimento do Amazon SES usando um AWS SDK (p. 460)
• Criar um conjunto de regras de recebimento do Amazon SES usando um AWS SDK (p. 462)
• Criar um modelo de e-mail do Amazon SES usando um AWS SDK (p. 463)
• Excluir um filtro de recebimento do Amazon SES usando um AWS SDK (p. 465)
• Excluir uma regra de recebimento do Amazon SES usando um AWS SDK (p. 465)
• Excluir um conjunto de regras do Amazon SES usando um AWS SDK (p. 466)
• Excluir um modelo de e-mail do Amazon SES usando um AWS SDK (p. 467)
• Excluir uma identidade do Amazon SES usando um AWS SDK (p. 469)
• Descrever um conjunto de regras de recebimento do Amazon SES usando um AWS
SDK (p. 470)
• Obter um modelo existente de e-mail do Amazon SES usando um AWS SDK (p. 471)
• Obter limites de envio do Amazon SES usando um AWS SDK (p. 472)
• Obter o status de uma identidade do Amazon SES usando um AWS SDK (p. 472)
• Listar modelos de e-mail do Amazon SES usando um AWS SDK (p. 474)
• Listar identidades do Amazon SES usando um AWS SDK (p. 476)
• Listar filtros de recebimento do Amazon SES usando um AWS SDK (p. 478)
• Enviar e-mails com o Amazon SES usando um AWS SDK (p. 479)
• Enviar e-mails com base em modelo com o Amazon SES usando um AWS SDK (p. 484)
• Atualizar um modelo de e-mail do Amazon SES usando um AWS SDK (p. 487)
• Verificar uma identidade de domínio com o Amazon SES usando um AWS SDK (p. 488)
• Verificar uma identidade de e-mail com o Amazon SES usando um AWS SDK (p. 489)
• Cenários para o Amazon SES usando AWS SDKs (p. 490)
• Copiar identidades de domínio e e-mail do Amazon SES de uma região da AWS para outra
usando um AWS SDK (p. 490)
• Gerar credenciais para estabelecer conexão com um endpoint SMTP do Amazon
SES (p. 496)
• Verificar uma identidade de e-mail e enviar mensagens com o Amazon SES usando um AWS
SDK (p. 498)
• Exemplos de uso entre serviços do Amazon SES usando AWS SDKs (p. 505)
• Criar uma aplicação de transmissão do Amazon Transcribe (p. 506)
• Criar uma aplicação Web dinâmica para monitorar dados do DynamoDB (p. 506)
• Criar um monitor de item do Amazon Relational Database Service (p. 508)
• Detectar EPI em imagens com o Amazon Rekognition usando um AWS SDK (p. 509)
• Detectar objetos em imagens com o Amazon Rekognition usando um AWS SDK (p. 510)
• Detectar pessoas e objetos em um vídeo com o Amazon Rekognition usando um AWS
SDK (p. 513)
• Usar Step Functions para invocar funções do Lambda (p. 514)
Os exemplos a seguir incluem apenas as ações mais usadas. Para obter uma lista completa, consulte a
Referência da API do Amazon Simple Email Service.
Exemplos
• Criar um filtro de recebimento do Amazon SES usando um AWS SDK (p. 459)
• Criar uma regra de recebimento do Amazon SES usando um AWS SDK (p. 460)
• Criar um conjunto de regras de recebimento do Amazon SES usando um AWS SDK (p. 462)
• Criar um modelo de e-mail do Amazon SES usando um AWS SDK (p. 463)
• Excluir um filtro de recebimento do Amazon SES usando um AWS SDK (p. 465)
• Excluir uma regra de recebimento do Amazon SES usando um AWS SDK (p. 465)
• Excluir um conjunto de regras do Amazon SES usando um AWS SDK (p. 466)
• Excluir um modelo de e-mail do Amazon SES usando um AWS SDK (p. 467)
• Excluir uma identidade do Amazon SES usando um AWS SDK (p. 469)
• Descrever um conjunto de regras de recebimento do Amazon SES usando um AWS SDK (p. 470)
• Obter um modelo existente de e-mail do Amazon SES usando um AWS SDK (p. 471)
• Obter limites de envio do Amazon SES usando um AWS SDK (p. 472)
• Obter o status de uma identidade do Amazon SES usando um AWS SDK (p. 472)
• Listar modelos de e-mail do Amazon SES usando um AWS SDK (p. 474)
• Listar identidades do Amazon SES usando um AWS SDK (p. 476)
• Listar filtros de recebimento do Amazon SES usando um AWS SDK (p. 478)
• Enviar e-mails com o Amazon SES usando um AWS SDK (p. 479)
• Enviar e-mails com base em modelo com o Amazon SES usando um AWS SDK (p. 484)
• Atualizar um modelo de e-mail do Amazon SES usando um AWS SDK (p. 487)
• Verificar uma identidade de domínio com o Amazon SES usando um AWS SDK (p. 488)
• Verificar uma identidade de e-mail com o Amazon SES usando um AWS SDK (p. 489)
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesReceiptHandler:
"""Encapsulates Amazon SES receipt handling functions."""
def __init__(self, ses_client, s3_resource):
"""
:param ses_client: A Boto3 Amazon SES client.
:param s3_resource: A Boto3 Amazon S3 resource.
"""
self.ses_client = ses_client
self.s3_resource = s3_resource
459
Amazon Simple Email Service Guia do desenvolvedor
Ações
• Para ver os detalhes da API, consulte CreateReceiptFilter na referência de API do AWS SDK
for Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
Crie um bucket do Amazon S3 no qual o Amazon SES possa colocar cópias de e-mails recebidos
e crie uma regra que copia para o bucket os e-mails recebidos de uma lista específica de
destinatários.
class SesReceiptHandler:
"""Encapsulates Amazon SES receipt handling functions."""
def __init__(self, ses_client, s3_resource):
"""
:param ses_client: A Boto3 Amazon SES client.
:param s3_resource: A Boto3 Amazon S3 resource.
"""
self.ses_client = ses_client
self.s3_resource = s3_resource
460
Amazon Simple Email Service Guia do desenvolvedor
Ações
"""
Creates a bucket that can receive copies of emails from Amazon SES. This
includes adding a policy to the bucket that grants Amazon SES permission
to put objects in the bucket.
def create_s3_copy_rule(
self, rule_set_name, rule_name, recipients, bucket_name, prefix):
"""
Creates a rule so that all emails received by the specified recipients are
copied to an Amazon S3 bucket.
461
Amazon Simple Email Service Guia do desenvolvedor
Ações
• Para ver os detalhes da API, consulte CreateReceiptRule na referência de API do AWS SDK for
Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesReceiptHandler:
"""Encapsulates Amazon SES receipt handling functions."""
def __init__(self, ses_client, s3_resource):
"""
:param ses_client: A Boto3 Amazon SES client.
:param s3_resource: A Boto3 Amazon S3 resource.
"""
self.ses_client = ses_client
self.s3_resource = s3_resource
• Para ver os detalhes da API, consulte CreateReceiptRuleSet na referência de API do AWS SDK
for Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
462
Amazon Simple Email Service Guia do desenvolvedor
Ações
.NET
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
/// <summary>
/// Create an email template.
/// </summary>
/// <param name="name">Name of the template.</param>
/// <param name="subject">Email subject.</param>
/// <param name="text">Email body text.</param>
/// <param name="html">Email HTML body text.</param>
/// <returns>True if successful.</returns>
public async Task<bool> CreateEmailTemplateAsync(string name, string subject,
string text,
string html)
{
var success = false;
try
{
var response = await _amazonSimpleEmailService.CreateTemplateAsync(
new CreateTemplateRequest
{
Template = new Template
{
TemplateName = name,
SubjectPart = subject,
TextPart = text,
HtmlPart = html
}
});
success = response.HttpStatusCode == HttpStatusCode.OK;
}
catch (Exception ex)
{
Console.WriteLine("CreateEmailTemplateAsync failed with exception: " +
ex.Message);
}
return success;
}
• Para obter detalhes da API, consulte CreateTemplate na Referência de API do AWS SDK
for .NET.
463
Amazon Simple Email Service Guia do desenvolvedor
Ações
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesTemplate:
"""Encapsulates Amazon SES template functions."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
self.template = None
self.template_tags = set()
• Para ver os detalhes da API, consulte CreateTemplate na referência de API do AWS SDK for
Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
464
Amazon Simple Email Service Guia do desenvolvedor
Ações
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesReceiptHandler:
"""Encapsulates Amazon SES receipt handling functions."""
def __init__(self, ses_client, s3_resource):
"""
:param ses_client: A Boto3 Amazon SES client.
:param s3_resource: A Boto3 Amazon S3 resource.
"""
self.ses_client = ses_client
self.s3_resource = s3_resource
• Para ver os detalhes da API, consulte DeleteReceiptFilter na referência de API do AWS SDK for
Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
465
Amazon Simple Email Service Guia do desenvolvedor
Ações
class SesReceiptHandler:
"""Encapsulates Amazon SES receipt handling functions."""
def __init__(self, ses_client, s3_resource):
"""
:param ses_client: A Boto3 Amazon SES client.
:param s3_resource: A Boto3 Amazon S3 resource.
"""
self.ses_client = ses_client
self.s3_resource = s3_resource
:param rule_set_name: The rule set that contains the rule to delete.
:param rule_name: The rule to delete.
"""
try:
self.ses_client.delete_receipt_rule(
RuleSetName=rule_set_name, RuleName=rule_name)
logger.info("Removed rule %s from rule set %s.", rule_name,
rule_set_name)
except ClientError:
logger.exception(
"Couldn't remove rule %s from rule set %s.", rule_name,
rule_set_name)
raise
• Para ver os detalhes da API, consulte DeleteReceiptRule na referência de API do AWS SDK for
Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesReceiptHandler:
"""Encapsulates Amazon SES receipt handling functions."""
def __init__(self, ses_client, s3_resource):
"""
:param ses_client: A Boto3 Amazon SES client.
:param s3_resource: A Boto3 Amazon S3 resource.
"""
self.ses_client = ses_client
self.s3_resource = s3_resource
466
Amazon Simple Email Service Guia do desenvolvedor
Ações
• Para ver os detalhes da API, consulte DeleteReceiptRuleSet na referência de API do AWS SDK
for Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
.NET
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
/// <summary>
/// Delete an email template.
/// </summary>
/// <param name="templateName">Name of the template.</param>
/// <returns>True if successful.</returns>
public async Task<bool> DeleteEmailTemplateAsync(string templateName)
{
var success = false;
try
{
var response = await _amazonSimpleEmailService.DeleteTemplateAsync(
new DeleteTemplateRequest
{
TemplateName = templateName
});
success = response.HttpStatusCode == HttpStatusCode.OK;
}
catch (Exception ex)
{
Console.WriteLine("DeleteEmailTemplateAsync failed with exception: " +
ex.Message);
}
467
Amazon Simple Email Service Guia do desenvolvedor
Ações
return success;
}
• Para obter detalhes da API, consulte DeleteTemplate na Referência de API do AWS SDK
for .NET.
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesTemplate:
"""Encapsulates Amazon SES template functions."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
self.template = None
self.template_tags = set()
def delete_template(self):
"""
Deletes an email template.
"""
try:
self.ses_client.delete_template(TemplateName=self.template['TemplateName'])
logger.info("Deleted template %s.", self.template['TemplateName'])
self.template = None
self.template_tags = None
except ClientError:
logger.exception(
"Couldn't delete template %s.", self.template['TemplateName'])
raise
• Para ver os detalhes da API, consulte DeleteTemplate na referência de API do AWS SDK for
Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
468
Amazon Simple Email Service Guia do desenvolvedor
Ações
.NET
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
/// <summary>
/// Delete an email identity.
/// </summary>
/// <param name="identityEmail">The identity email to delete.</param>
/// <returns>True if successful.</returns>
public async Task<bool> DeleteIdentityAsync(string identityEmail)
{
var success = false;
try
{
var response = await _amazonSimpleEmailService.DeleteIdentityAsync(
new DeleteIdentityRequest
{
Identity = identityEmail
});
success = response.HttpStatusCode == HttpStatusCode.OK;
}
catch (Exception ex)
{
Console.WriteLine("DeleteIdentityAsync failed with exception: " +
ex.Message);
}
return success;
}
• Para obter detalhes da API, consulte DeleteIdentity na Referência de API do AWS SDK
for .NET.
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesIdentity:
"""Encapsulates Amazon SES identity functions."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
469
Amazon Simple Email Service Guia do desenvolvedor
Ações
"""
Deletes an identity.
• Para ver os detalhes da API, consulte DeleteIdentity na referência de API do AWS SDK for
Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesReceiptHandler:
"""Encapsulates Amazon SES receipt handling functions."""
def __init__(self, ses_client, s3_resource):
"""
:param ses_client: A Boto3 Amazon SES client.
:param s3_resource: A Boto3 Amazon S3 resource.
"""
self.ses_client = ses_client
self.s3_resource = s3_resource
470
Amazon Simple Email Service Guia do desenvolvedor
Ações
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesTemplate:
"""Encapsulates Amazon SES template functions."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
self.template = None
self.template_tags = set()
471
Amazon Simple Email Service Guia do desenvolvedor
Ações
return self.template
• Para ver os detalhes da API, consulte GetTemplate na referência de API do AWS SDK for
Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
.NET
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
/// <summary>
/// Get information on the current account's send quota.
/// </summary>
/// <returns>The send quota response data.</returns>
public async Task<GetSendQuotaResponse> GetSendQuotaAsync()
{
var result = new GetSendQuotaResponse();
try
{
var response = await _amazonSimpleEmailService.GetSendQuotaAsync(
new GetSendQuotaRequest());
result = response;
}
catch (Exception ex)
{
Console.WriteLine("GetSendQuotaAsync failed with exception: " +
ex.Message);
}
return result;
}
• Para obter os detalhes da API, consulte GetSendQuota na Referência de API do AWS SDK
for .NET.
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
472
Amazon Simple Email Service Guia do desenvolvedor
Ações
.NET
/// <summary>
/// Get identity verification status for an email.
/// </summary>
/// <returns>The verification status of the email.</returns>
public async Task<VerificationStatus> GetIdentityStatusAsync(string email)
{
var result = VerificationStatus.TemporaryFailure;
try
{
var response =
await
_amazonSimpleEmailService.GetIdentityVerificationAttributesAsync(
new GetIdentityVerificationAttributesRequest
{
Identities = new List<string> { email }
});
if (response.VerificationAttributes.ContainsKey(email))
result = response.VerificationAttributes[email].VerificationStatus;
}
catch (Exception ex)
{
Console.WriteLine("GetIdentityStatusAsync failed with exception: " +
ex.Message);
}
return result;
}
Python
class SesIdentity:
"""Encapsulates Amazon SES identity functions."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
473
Amazon Simple Email Service Guia do desenvolvedor
Ações
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
.NET
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
/// <summary>
/// List email templates for the current account.
/// </summary>
/// <returns>A list of template metadata.</returns>
public async Task<List<TemplateMetadata>> ListEmailTemplatesAsync()
{
var result = new List<TemplateMetadata>();
try
{
var response = await _amazonSimpleEmailService.ListTemplatesAsync(
new ListTemplatesRequest());
result = response.TemplatesMetadata;
}
catch (Exception ex)
{
Console.WriteLine("ListEmailTemplatesAsync failed with exception: " +
ex.Message);
}
return result;
}
474
Amazon Simple Email Service Guia do desenvolvedor
Ações
• Para obter detalhes da API, consulte ListTemplates na Referência da API do AWS SDK
for .NET.
Java
try {
ListEmailTemplatesRequest templatesRequest =
ListEmailTemplatesRequest.builder()
.pageSize(1)
.build();
ListEmailTemplatesResponse response =
sesv2Client.listEmailTemplates(templatesRequest);
response.templatesMetadata().forEach(template ->
System.out.println("Template name: " +
template.templateName()));
} catch (SesV2Exception e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
• Para obter detalhes da API, consulte ListTemplates na Referência da API do AWS SDK for Java
2.x.
Python
class SesTemplate:
"""Encapsulates Amazon SES template functions."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
self.template = None
self.template_tags = set()
475
Amazon Simple Email Service Guia do desenvolvedor
Ações
def list_templates(self):
"""
Gets a list of all email templates for the current account.
• Para ver os detalhes da API, consulte ListTemplates na referência de API do AWS SDK for
Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
.NET
/// <summary>
/// Get the identities of a specified type for the current account.
/// </summary>
/// <param name="identityType">IdentityType to list.</param>
/// <returns>The list of identities.</returns>
public async Task<List<string>> ListIdentitiesAsync(IdentityType identityType)
{
var result = new List<string>();
try
{
var response = await _amazonSimpleEmailService.ListIdentitiesAsync(
new ListIdentitiesRequest
{
IdentityType = identityType
});
result = response.Identities;
}
catch (Exception ex)
{
Console.WriteLine("ListIdentitiesAsync failed with exception: " +
ex.Message);
}
476
Amazon Simple Email Service Guia do desenvolvedor
Ações
return result;
}
• Para ver os detalhes da API, consulte ListIdentities na referência de API do AWS SDK for .NET.
Java
try {
ListIdentitiesResponse identitiesResponse = client.listIdentities();
List<String> identities = identitiesResponse.identities();
for (String identity: identities) {
System.out.println("The identity is "+identity);
}
} catch (SesException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
• Para ver os detalhes da API, consulte ListIdentities na referência de API do AWS SDK for Java
2.x.
JavaScript
try {
return await sesClient.send(listIdentitiesCommmand);
} catch (err) {
console.log("Failed to list identities.", err);
return err;
}
};
477
Amazon Simple Email Service Guia do desenvolvedor
Ações
• Para ver os detalhes da API, consulte ListIdentities na referência de API do AWS SDK for
JavaScript.
Python
class SesIdentity:
"""Encapsulates Amazon SES identity functions."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
• Para ver os detalhes da API, consulte ListIdentities na referência de API do AWS SDK for
Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Python
478
Amazon Simple Email Service Guia do desenvolvedor
Ações
class SesReceiptHandler:
"""Encapsulates Amazon SES receipt handling functions."""
def __init__(self, ses_client, s3_resource):
"""
:param ses_client: A Boto3 Amazon SES client.
:param s3_resource: A Boto3 Amazon S3 resource.
"""
self.ses_client = ses_client
self.s3_resource = s3_resource
def list_receipt_filters(self):
"""
Gets the list of receipt filters for the current account.
• Para ver os detalhes da API, consulte ListReceiptFilters na referência de API do AWS SDK for
Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
.NET
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
/// <summary>
/// Send an email by using Amazon SES.
/// </summary>
/// <param name="toAddresses">List of recipients.</param>
/// <param name="ccAddresses">List of cc recipients.</param>
/// <param name="bccAddresses">List of bcc recipients.</param>
/// <param name="bodyHtml">Body of the email in HTML.</param>
/// <param name="bodyText">Body of the email in plain text.</param>
/// <param name="subject">Subject line of the email.</param>
/// <param name="senderAddress">From address.</param>
/// <returns>The messageId of the email.</returns>
public async Task<string> SendEmailAsync(List<string> toAddresses,
479
Amazon Simple Email Service Guia do desenvolvedor
Ações
return messageId;
}
• Para ver os detalhes da API, consulte SendEmail na referência de API do AWS SDK for .NET.
Java
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
480
Amazon Simple Email Service Guia do desenvolvedor
Ações
String sender,
String recipient,
String subject,
String bodyHTML
) throws MessagingException {
try {
System.out.println("Attempting to send an email through Amazon SES " +
"using the AWS SDK for Java...");
client.sendEmail(emailRequest);
} catch (SesException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
481
Amazon Simple Email Service Guia do desenvolvedor
Ações
try {
System.out.println("Attempting to send an email through Amazon SES " +
"using the AWS SDK for Java...");
client.sendRawEmail(rawEmailRequest);
} catch (SesException e) {
System.err.println(e.awsErrorDetails().errorMessage());
482
Amazon Simple Email Service Guia do desenvolvedor
Ações
System.exit(1);
}
System.out.println("Email sent using SesClient with attachment");
}
• Para ver os detalhes da API, consulte SendEmail na referência de API do AWS SDK for Java
2.x.
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesMailSender:
"""Encapsulates functions to send emails with Amazon SES."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
Note: If your account is in the Amazon SES sandbox, the source and
destination email accounts must both be verified.
483
Amazon Simple Email Service Guia do desenvolvedor
Ações
• Para ver os detalhes da API, consulte SendEmail na referência de API do AWS SDK for Python
(Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
.NET
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
/// <summary>
/// Send an email using a template.
/// </summary>
/// <param name="sender">Address of the sender.</param>
/// <param name="recipients">Addresses of the recipients.</param>
/// <param name="templateName">Name of the email template.</param>
/// <param name="templateDataObject">Data for the email template.</param>
/// <returns>The messageId of the email.</returns>
public async Task<string> SendTemplateEmailAsync(string sender, List<string>
recipients,
string templateName, object templateDataObject)
{
var messageId = "";
try
{
// Template data should be serialized JSON from either a class or a
dynamic object.
var templateData = JsonSerializer.Serialize(templateDataObject);
return messageId;
484
Amazon Simple Email Service Guia do desenvolvedor
Ações
• Para ver os detalhes da API, consulte SendTemplatedEmail na Referência de API do AWS SDK
for .NET.
Java
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
/*
Specify both name and favorite animal (favoriteanimal) in your code when
defining the Template object.
If you don't specify all the variables in the template, Amazon SES doesn't
send the email.
*/
Template myTemplate = Template.builder()
.templateName(templateName)
.templateData("{\n" +
" \"name\": \"Jason\"\n," +
" \"favoriteanimal\": \"Cat\"\n" +
"}")
.build();
try {
System.out.println("Attempting to send an email based on a template
using the AWS SDK for Java (v2)...");
client.sendEmail(emailRequest);
System.out.println("email based on a template was sent");
} catch (SesV2Exception e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
• Para ver os detalhes da API, consulte SendTemplatedEmail na Referência de API do AWS SDK
for Java 2.x.
485
Amazon Simple Email Service Guia do desenvolvedor
Ações
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesMailSender:
"""Encapsulates functions to send emails with Amazon SES."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
def send_templated_email(
self, source, destination, template_name, template_data,
reply_tos=None):
"""
Sends an email based on a template. A template contains replaceable tags
each enclosed in two curly braces, such as {{name}}. The template data
passed
in this function contains key-value pairs that define the values to insert
in place of the template tags.
Note: If your account is in the Amazon SES sandbox, the source and
destination email accounts must both be verified.
• Para ver os detalhes da API, consulte SendTemplatedEmail na referência de API do AWS SDK
for Python (Boto3).
486
Amazon Simple Email Service Guia do desenvolvedor
Ações
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesTemplate:
"""Encapsulates Amazon SES template functions."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
self.template = None
self.template_tags = set()
487
Amazon Simple Email Service Guia do desenvolvedor
Ações
• Para ver os detalhes da API, consulte UpdateTemplate na referência de API do AWS SDK for
Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesIdentity:
"""Encapsulates Amazon SES identity functions."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
For more information, see *Verifying a domain with Amazon SES* in the
Amazon SES documentation:
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domain-
procedure.html
• Para ver os detalhes da API, consulte VerifyDomainIdentity na referência de API do AWS SDK
for Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
488
Amazon Simple Email Service Guia do desenvolvedor
Ações
.NET
/// <summary>
/// Starts verification of an email identity. This request sends an email
/// from Amazon SES to the specified email address. To complete
/// verification, follow the instructions in the email.
/// </summary>
/// <param name="recipientEmailAddress">Email address to verify.</param>
/// <returns>True if successful.</returns>
public async Task<bool> VerifyEmailIdentityAsync(string recipientEmailAddress)
{
var success = false;
try
{
var response = await
_amazonSimpleEmailService.VerifyEmailIdentityAsync(
new VerifyEmailIdentityRequest
{
EmailAddress = recipientEmailAddress
});
return success;
}
• Para obter os detalhes da API, consulte VerifyEmailIdentity na Referência de API do AWS SDK
for .NET.
Python
class SesIdentity:
"""Encapsulates Amazon SES identity functions."""
def __init__(self, ses_client):
"""
489
Amazon Simple Email Service Guia do desenvolvedor
Cenários
• Para ver os detalhes da API, consulte VerifyEmailIdentity na referência de API do AWS SDK for
Python (Boto3).
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Exemplos
• Copiar identidades de domínio e e-mail do Amazon SES de uma região da AWS para outra usando um
AWS SDK (p. 490)
• Gerar credenciais para estabelecer conexão com um endpoint SMTP do Amazon SES (p. 496)
• Verificar uma identidade de e-mail e enviar mensagens com o Amazon SES usando um AWS
SDK (p. 498)
Python
import argparse
490
Amazon Simple Email Service Guia do desenvolvedor
Cenários
import json
import logging
from pprint import pprint
import boto3
from botocore.exceptions import ClientError
logger = logging.getLogger(__name__)
def get_identities(ses_client):
"""
Gets the identities for the current Region. The Region is specified in the
Boto3 Amazon SES client object.
491
Amazon Simple Email Service Guia do desenvolvedor
Cenários
def get_hosted_zones(route53_client):
"""
Gets the Amazon Route 53 hosted zones for the current account.
492
Amazon Simple Email Service Guia do desenvolvedor
Cenários
return domain_zones
493
Amazon Simple Email Service Guia do desenvolvedor
Cenários
:param hosted_zone: The hosted zone where the records are added.
:param domain: The domain to add.
:param tokens: The DKIM tokens for the domain to add.
:param route53_client: A Boto3 Route 53 client.
"""
try:
changes = [{
'Action': 'UPSERT',
'ResourceRecordSet': {
'Name': f'{token}._domainkey.{domain}',
'Type': 'CNAME',
'TTL': 1800,
'ResourceRecords': [{'Value': f'{token}.dkim.amazonses.com'}]
}} for token in tokens]
route53_client.change_resource_record_sets(
HostedZoneId=hosted_zone['Id'], ChangeBatch={'Changes': changes})
logger.info(
"Added %s DKIM CNAME records to %s in zone %s.", len(tokens),
domain, hosted_zone['Name'])
except ClientError:
logger.warning(
"Couldn't add DKIM CNAME records for %s to zone %s.", domain,
hosted_zone['Name'])
print('-'*88)
print(f"Replicating Amazon SES identities and other configuration from "
494
Amazon Simple Email Service Guia do desenvolvedor
Cenários
f"{source_client.meta.region_name} to
{destination_client.meta.region_name}.")
print('-'*88)
# Get Route 53 hosted zones and match them with Amazon SES domains.
answer = input(
"Is the DNS configuration for your domains managed by Amazon Route 53 (y/
n)? ")
use_route53 = answer.lower() == 'y'
hosted_zones = get_hosted_zones(route53_client) if use_route53 else []
if use_route53:
print("Adding or updating Route 53 TXT records for your domains.")
domain_zones = find_domain_zone_matches(dest_domain_tokens.keys(),
hosted_zones)
for domain in domain_zones:
add_route53_verification_record(
domain, dest_domain_tokens[domain], domain_zones[domain],
route53_client)
else:
print("Use these verification tokens to create TXT records through your DNS
"
"provider:")
pprint(dest_domain_tokens)
answer = input("Do you want to configure DKIM signing for your identities (y/
n)? ")
if answer.lower() == 'y':
# Build a set of unique domains from email and domain identities.
domains = {email.split('@')[1] for email in dest_emails}
domains.update(dest_domain_tokens)
domain_zones = find_domain_zone_matches(domains, hosted_zones)
for domain, zone in domain_zones.items():
answer = input(
f"Do you want to configure DKIM signing for {domain} (y/n)? ")
if answer.lower() == 'y':
dkim_tokens = generate_dkim_tokens(domain, destination_client)
if use_route53 and zone is not None:
add_dkim_domain_tokens(zone, domain, dkim_tokens,
route53_client)
else:
print(
"Add the following DKIM tokens as CNAME records through
your "
"DNS provider:")
print(*dkim_tokens, sep='\n')
answer = input(
"Do you want to configure Amazon SNS notifications for your identities (y/
n)? ")
if answer.lower() == 'y':
for identity in dest_emails + list(dest_domain_tokens.keys()):
answer = input(
f"Do you want to configure Amazon SNS topics for {identity} (y/n)?
")
495
Amazon Simple Email Service Guia do desenvolvedor
Cenários
if answer.lower() == 'y':
configure_sns_topics(
identity, ['Bounce', 'Delivery', 'Complaint'],
destination_client)
def main():
boto3_session = boto3.Session()
ses_regions = boto3_session.get_available_regions('ses')
parser = argparse.ArgumentParser(
description="Copies email address and domain identities from one AWS Region
to "
"another. Optionally adds records for domain verification and
DKIM "
"signing to domains that are managed by Amazon Route 53, "
"and sets up Amazon SNS notifications for events of interest.")
parser.add_argument(
'source_region', choices=ses_regions, help="The region to copy from.")
parser.add_argument(
'destination_region', choices=ses_regions, help="The region to copy to.")
args = parser.parse_args()
source_client = boto3.client('ses', region_name=args.source_region)
destination_client = boto3.client('ses', region_name=args.destination_region)
route53_client = boto3.client('route53')
replicate(source_client, destination_client, route53_client)
if __name__ == '__main__':
main()
• Para obter detalhes da API, consulte os tópicos a seguir na Referência da API do AWS SDK
para Python (Boto3).
• ListIdentities
• SetIdentityNotificationTopic
• VerifyDomainDkim
• VerifyDomainIdentity
• VerifyEmailIdentity
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
496
Amazon Simple Email Service Guia do desenvolvedor
Cenários
#!/usr/bin/env python3
import hmac
import hashlib
import base64
import argparse
SMTP_REGIONS = [
'us-east-2', # US East (Ohio)
'us-east-1', # US East (N. Virginia)
'us-west-2', # US West (Oregon)
'ap-south-1', # Asia Pacific (Mumbai)
'ap-northeast-2', # Asia Pacific (Seoul)
'ap-southeast-1', # Asia Pacific (Singapore)
'ap-southeast-2', # Asia Pacific (Sydney)
'ap-northeast-1', # Asia Pacific (Tokyo)
'ca-central-1', # Canada (Central)
'eu-central-1', # Europe (Frankfurt)
'eu-west-1', # Europe (Ireland)
'eu-west-2', # Europe (London)
'sa-east-1', # South America (Sao Paulo)
'us-gov-west-1', # AWS GovCloud (US)
]
# These values are required to calculate the signature. Do not change them.
DATE = "11111111"
SERVICE = "ses"
MESSAGE = "SendRawEmail"
TERMINAL = "aws4_request"
VERSION = 0x04
def main():
parser = argparse.ArgumentParser(
description='Convert a Secret Access Key for an IAM user to an SMTP
password.')
parser.add_argument(
'secret', help='The Secret Access Key to convert.')
parser.add_argument(
'region',
help='The AWS Region where the SMTP password will be used.',
choices=SMTP_REGIONS)
args = parser.parse_args()
print(calculate_key(args.secret, args.region))
497
Amazon Simple Email Service Guia do desenvolvedor
Cenários
if __name__ == '__main__':
main()
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Python
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
class SesIdentity:
"""Encapsulates Amazon SES identity functions."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
For more information, see *Verifying a domain with Amazon SES* in the
Amazon SES documentation:
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domain-
procedure.html
498
Amazon Simple Email Service Guia do desenvolvedor
Cenários
499
Amazon Simple Email Service Guia do desenvolvedor
Cenários
"""
Gets the identities of the specified type for the current account.
class SesTemplate:
"""Encapsulates Amazon SES template functions."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
self.template = None
self.template_tags = set()
500
Amazon Simple Email Service Guia do desenvolvedor
Cenários
raise
def delete_template(self):
"""
Deletes an email template.
"""
try:
self.ses_client.delete_template(TemplateName=self.template['TemplateName'])
logger.info("Deleted template %s.", self.template['TemplateName'])
self.template = None
self.template_tags = None
except ClientError:
logger.exception(
"Couldn't delete template %s.", self.template['TemplateName'])
raise
def list_templates(self):
"""
Gets a list of all email templates for the current account.
501
Amazon Simple Email Service Guia do desenvolvedor
Cenários
'TextPart': text,
'HtmlPart': html}
self.ses_client.update_template(Template=template)
logger.info("Updated template %s.", name)
self.template = template
self._extract_tags(subject, text, html)
except ClientError:
logger.exception("Couldn't update template %s.", name)
raise
class SesDestination:
"""Contains data about an email destination."""
def __init__(self, tos, ccs=None, bccs=None):
"""
:param tos: The list of recipients on the 'To:' line.
:param ccs: The list of recipients on the 'CC:' line.
:param bccs: The list of recipients on the 'BCC:' line.
"""
self.tos = tos
self.ccs = ccs
self.bccs = bccs
def to_service_format(self):
"""
:return: The destination data in the format expected by Amazon SES.
"""
svc_format = {'ToAddresses': self.tos}
if self.ccs is not None:
svc_format['CcAddresses'] = self.ccs
if self.bccs is not None:
svc_format['BccAddresses'] = self.bccs
return svc_format
class SesMailSender:
"""Encapsulates functions to send emails with Amazon SES."""
def __init__(self, ses_client):
"""
:param ses_client: A Boto3 Amazon SES client.
"""
self.ses_client = ses_client
Note: If your account is in the Amazon SES sandbox, the source and
destination email accounts must both be verified.
502
Amazon Simple Email Service Guia do desenvolvedor
Cenários
def send_templated_email(
self, source, destination, template_name, template_data,
reply_tos=None):
"""
Sends an email based on a template. A template contains replaceable tags
each enclosed in two curly braces, such as {{name}}. The template data
passed
in this function contains key-value pairs that define the values to insert
in place of the template tags.
Note: If your account is in the Amazon SES sandbox, the source and
destination email accounts must both be verified.
def usage_demo():
print('-'*88)
print("Welcome to the Amazon Simple Email Service (Amazon SES) email demo!")
print('-'*88)
503
Amazon Simple Email Service Guia do desenvolvedor
Cenários
ses_client = boto3.client('ses')
ses_identity = SesIdentity(ses_client)
ses_mail_sender = SesMailSender(ses_client)
ses_template = SesTemplate(ses_client)
email = input(
"Enter an email address to send mail with Amazon SES: ")
status = ses_identity.get_identity_status(email)
verified = status == 'Success'
if not verified:
answer = input(
f"The address '{email}' is not verified with Amazon SES. Unless your "
f"Amazon SES account is out of sandbox, you can send mail only from "
f"and to verified accounts. Do you want to verify this account for use
"
f"with Amazon SES? If yes, the address will receive a verification "
f"email (y/n): ")
if answer.lower() == 'y':
ses_identity.verify_email_identity(email)
print(f"Follow the steps in the email to {email} to complete
verification.")
print("Waiting for verification...")
try:
ses_identity.wait_until_identity_exists(email)
print(f"Identity verified for {email}.")
verified = True
except WaiterError:
print(f"Verification timeout exceeded. You must complete the "
f"steps in the email sent to {email} to verify the address.")
if verified:
test_message_text = "Hello from the Amazon SES mail demo!"
test_message_html = "<p>Hello!</p><p>From the <b>Amazon SES</b> mail demo!
</p>"
template = {
'name': 'doc-example-template',
'subject': 'Example of an email template.',
'text': "This is what {{name}} will {{action}} if {{name}} can't
display "
"HTML.",
'html': "<p><i>This</i> is what {{name}} will {{action}} if {{name}} "
"<b>can</b> display HTML.</p>"}
print("Creating a template and sending a templated email.")
ses_template.create_template(**template)
template_data = {'name': email.split('@')[0], 'action': 'read'}
if ses_template.verify_tags(template_data):
ses_mail_sender.send_templated_email(
email, SesDestination([email]), ses_template.name(), template_data)
input("Mail sent. Check your inbox and press Enter to continue.")
504
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços
Subject: Hi there
This message is sent from the Amazon SES SMTP mail demo."""
context = ssl.create_default_context()
with smtplib.SMTP(smtp_server, port) as server:
server.starttls(context=context)
server.login(credentials.access_key, password)
server.sendmail(email, email, message)
print("Mail sent. Check your inbox!")
• Para obter detalhes da API, consulte os tópicos a seguir na Referência da API do AWS SDK
para Python (Boto3).
• CreateTemplate
• DeleteIdentity
• DeleteTemplate
• GetIdentityVerificationAttributes
• GetTemplate
• ListIdentities
• ListTemplates
• SendEmail
• SendTemplatedEmail
• UpdateTemplate
• VerifyDomainIdentity
• VerifyEmailIdentity
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Exemplos
• Criar uma aplicação de transmissão do Amazon Transcribe (p. 506)
• Criar uma aplicação Web dinâmica para monitorar dados do DynamoDB (p. 506)
• Criar um monitor de item do Amazon Relational Database Service (p. 508)
• Detectar EPI em imagens com o Amazon Rekognition usando um AWS SDK (p. 509)
• Detectar objetos em imagens com o Amazon Rekognition usando um AWS SDK (p. 510)
505
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços
• Detectar pessoas e objetos em um vídeo com o Amazon Rekognition usando um AWS SDK (p. 513)
• Usar Step Functions para invocar funções do Lambda (p. 514)
JavaScript
Mostra como usar o Amazon Transcribe para construir uma aplicação que registra, transcreve e
traduz áudio ao vivo em tempo real, e envia os resultados por e-mail usando o Amazon Simple
Email Service (Amazon SES).
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
.NET
Mostra como usar a API .NET do Amazon DynamoDB para construir uma aplicação Web
dinâmica que monitora os dados de trabalho do DynamoDB.
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
Java
Mostra como usar a API do Amazon DynamoDB para construir uma aplicação Web dinâmica que
monitora os dados de trabalho do DynamoDB.
506
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
JavaScript
Mostra como usar a API do Amazon DynamoDB para construir uma aplicação Web dinâmica que
monitora os dados de trabalho do DynamoDB.
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
Kotlin
Mostra como usar a API do Amazon DynamoDB para construir uma aplicação Web dinâmica que
monitora os dados de trabalho do DynamoDB.
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
Python
Mostra como usar o AWS SDK for Python (Boto3) para construir uma aplicação Web que monitora
itens de trabalho no Amazon DynamoDB e envia relatórios por e-mail usando o Amazon Simple
Email Service (Amazon SES). Este exemplo usa o framework Web Flask para hospedar um site
local e renderizar páginas da Web com base em modelo.
• Integre uma aplicação Web Flask com os serviços da AWS.
• Liste, adicione, atualize e exclua itens em uma tabela do DynamoDB.
• Envie um relatório por e-mail dos itens de trabalho filtrados usando o Amazon SES.
• Faça solicitações da AWS com uma função do AWS Identity and Access Management (IAM)
que restrinja as permissões.
• Implante e gerencie recursos de exemplo com o script do AWS CloudFormation incluído.
507
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Java
Mostra como construir uma aplicação Web que monitora e gera relatórios sobre itens de trabalho
armazenados em um banco de dados do Amazon RDS.
Para obter o código-fonte completo e instruções sobre como configurar a API Spring REST que
consulta os dados do Amazon Aurora Serverless e para uso por uma aplicação React, consulte o
exemplo completo no GitHub.
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo que
utiliza a API JDBC, consulte o exemplo completo no GitHub.
Kotlin
Mostra como construir uma aplicação Web que monitora e gera relatórios sobre itens de trabalho
armazenados em um banco de dados do Amazon RDS.
Para obter o código-fonte completo e instruções sobre como configurar a API Spring REST que
consulta os dados do Amazon Aurora Serverless e para uso por uma aplicação React, consulte o
exemplo completo no GitHub.
508
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços
• Amazon SES
PHP
Mostra como usar o AWS SDK for PHP para construir uma aplicação Web que monitora itens
de trabalho no banco de dados do Amazon RDS e envia relatórios por e-mail usando o Amazon
Simple Email Service (Amazon SES). Este exemplo usa um front-end construído com React.js
para interagir com um back-end PHP RESTful.
• Integre uma aplicação Web React.js com os serviços da AWS.
• Liste, adicione, atualize e exclua itens em uma tabela do Amazon RDS.
• Envie um relatório por e-mail dos itens de trabalho filtrados usando o Amazon SES.
• Implante e gerencie recursos de exemplo com o script do AWS CloudFormation incluído.
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
Python
Mostra como usar o AWS SDK for Python (Boto3) para desenvolver uma aplicação Web que
monitora itens de trabalho no banco de dados do Amazon Aurora e envia relatórios por e-
mail usando o Amazon Simple Email Service (Amazon SES). Este exemplo usa um front-end
desenvolvido com React.js para interagir com um back-end Python Flask-RESTful.
• Integre uma aplicação Web React.js com Serviços da AWS.
• Liste, adicione e atualize itens em uma tabela do Aurora.
• Use o Amazon SES para enviar um relatório por e-mail dos itens de trabalho filtrados.
• Implante e gerencie recursos de exemplo com o script do AWS CloudFormation incluído.
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
509
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços
Java
Mostra como criar uma função do AWS Lambda que detecta imagens com equipamento de
proteção individual.
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
JavaScript
Mostra como usar o Amazon Rekognition com o AWS SDK for JavaScript a fim de construir uma
aplicação para detectar equipamentos de proteção individual (EPI) em imagens localizadas em
um bucket do Amazon Simple Storage Service (Amazon S3). A aplicação salva os resultados em
uma tabela do Amazon DynamoDB e envia uma notificação por e-mail ao administrador com os
resultados usando o Amazon Simple Email Service (Amazon SES).
Aprenda como:
• Criar um usuário não autenticado usando o Amazon Cognito.
• Analisar imagens em busca de EPI usando o Amazon Rekognition.
• Verificar um endereço de e-mail para o Amazon SES.
• Atualizar uma tabela do DynamoDB com resultados.
• Enviar uma notificação por e-mail usando o Amazon SES.
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
510
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços
.NET
Mostra como usar a API .NET do Amazon Rekognition para construir uma aplicação que usa o
Amazon Rekognition para identificar objetos por categoria em imagens localizadas em um bucket
do Amazon Simple Storage Service (Amazon S3). A aplicação envia uma notificação por e-mail ao
administrador com os resultados usando o Amazon Simple Email Service (Amazon SES).
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
Java
Mostra como usar a API Java do Amazon Rekognition para construir uma aplicação que usa o
Amazon Rekognition para identificar objetos por categoria em imagens localizadas em um bucket
do Amazon Simple Storage Service (Amazon S3). A aplicação envia uma notificação por e-mail ao
administrador com os resultados usando o Amazon Simple Email Service (Amazon SES).
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
JavaScript
Mostra como usar o Amazon Rekognition com o AWS SDK for JavaScript para construir uma
aplicação que usa o Amazon Rekognition para identificar objetos por categoria em imagens
localizadas em um bucket do Amazon Simple Storage Service (Amazon S3). A aplicação envia
uma notificação por e-mail ao administrador com os resultados usando o Amazon Simple Email
Service (Amazon SES).
Aprenda como:
• Criar um usuário não autenticado usando o Amazon Cognito.
• Analisar imagens em busca de objetos usando o Amazon Rekognition.
• Verificar um endereço de e-mail para o Amazon SES.
• Enviar uma notificação por e-mail usando o Amazon SES.
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
511
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços
• Amazon S3
• Amazon SES
Kotlin
Mostra como usar a API Kotlin do Amazon Rekognition para construir uma aplicação que usa o
Amazon Rekognition para identificar objetos por categoria em imagens localizadas em um bucket
do Amazon Simple Storage Service (Amazon S3). A aplicação envia uma notificação por e-mail ao
administrador com os resultados usando o Amazon Simple Email Service (Amazon SES).
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
Python
Mostra como usar o AWS SDK for Python (Boto3) para criar uma aplicação Web que permite a
você fazer o seguinte:
• Carregar fotos em um bucket do Amazon Simple Storage Service (Amazon S3).
• Usar o Amazon Rekognition para analisar e rotular as fotos.
• Usar o Amazon Simple Email Service (Amazon SES) para enviar relatórios de análise da
imagem por e-mail.
Este exemplo contém dois componentes principais: uma página da Web escrita em JavaScript
que é construída com o React e um serviço REST escrito em Python que é construído com o
Flask-RESTful.
A página da Web chama o serviço REST. O serviço envia solicitações à AWS para realizar as
seguintes ações:
• Obter e filtrar a lista de imagens no bucket do S3.
• Carregar fotos no bucket do S3.
• Usar o Amazon Rekognition para analisar fotos individuais e obter uma lista dos rótulos que
identifiquem os itens detectados nas fotos.
512
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços
• Analisar todas as fotos no bucket do S3 e usar o Amazon SES para enviar um relatório por e-
mail.
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Java
Mostra como usar a API Java do Amazon Rekognition a fim de construir uma aplicação para
detectar faces e objetos em vídeos localizados em um bucket do Amazon Simple Storage Service
(Amazon S3). A aplicação envia uma notificação por e-mail ao administrador com os resultados
usando o Amazon Simple Email Service (Amazon SES).
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
JavaScript
Mostra como usar o Amazon Rekognition com o AWS SDK for JavaScript a fim de construir uma
aplicação para detectar faces e objetos em vídeos localizados em um bucket do Amazon Simple
Storage Service (Amazon S3). A aplicação envia uma notificação por e-mail ao administrador com
os resultados usando o Amazon Simple Email Service (Amazon SES).
Aprenda como:
• Criar um usuário não autenticado usando o Amazon Cognito.
• Analisar imagens em busca de EPI usando o Amazon Rekognition.
• Verificar um endereço de e-mail para o Amazon SES.
• Enviar uma notificação por e-mail usando o Amazon SES.
513
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Java
Mostra como criar um AWS fluxo de trabalho sem servidor usando o AWS Step Functions e o
AWS SDK for Java 2.x. Cada etapa do fluxo de trabalho é implementada usando uma função do
AWS Lambda.
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
JavaScript
Mostra como criar um AWS fluxo de trabalho sem servidor usando o AWS Step Functions e o
AWS SDK for JavaScript. Cada etapa do fluxo de trabalho é implementada usando uma função do
AWS Lambda.
O Lambda é um serviço computacional que permite executar código sem provisionar ou gerenciar
servidores. O Step Functions é um serviço de orquestração sem servidor que permite combinar
funções do Lambda e outros serviços da AWS para criar aplicações essenciais aos negócios.
Para obter o código-fonte completo e instruções sobre como configurar e executar o exemplo,
consulte o exemplo completo no GitHub.
Esse exemplo também está disponível no Guia do desenvolvedor do AWS SDK for JavaScript v3.
514
Amazon Simple Email Service Guia do desenvolvedor
Exemplos para a API v2 do Amazon SES
• Lambda
• Amazon SES
• Step Functions
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Ações
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Exemplos de código
• Ações para a API v2 do Amazon SES usando AWS SDKs (p. 515)
• Criar um contato da API v2 do Amazon SES em uma lista de contatos usando um AWS
SDK (p. 516)
• Criar uma lista de contatos da API v2 do Amazon SES usando um AWS SDK (p. 516)
• Obter informações sobre uma identidade da API v2 do Amazon SES usando um AWS
SDK (p. 517)
• Listar as listas de contatos da API v2 do Amazon SES usando um AWS SDK (p. 518)
• Listar os contatos em uma lista de contatos da API v2 do Amazon SES usando um AWS
SDK (p. 519)
• Enviar um e-mail com a API v2 do Amazon SES usando um AWS SDK (p. 519)
Os exemplos a seguir incluem apenas as ações mais usadas. Para obter uma lista completa, consulte a
Referência da API v2 do Amazon Simple Email Service.
Exemplos
515
Amazon Simple Email Service Guia do desenvolvedor
Ações
• Criar um contato da API v2 do Amazon SES em uma lista de contatos usando um AWS SDK (p. 516)
• Criar uma lista de contatos da API v2 do Amazon SES usando um AWS SDK (p. 516)
• Obter informações sobre uma identidade da API v2 do Amazon SES usando um AWS SDK (p. 517)
• Listar as listas de contatos da API v2 do Amazon SES usando um AWS SDK (p. 518)
• Listar os contatos em uma lista de contatos da API v2 do Amazon SES usando um AWS
SDK (p. 519)
• Enviar um e-mail com a API v2 do Amazon SES usando um AWS SDK (p. 519)
Rust
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
async fn add_contact(client: &Client, list: &str, email: &str) -> Result<(), Error>
{
client
.create_contact()
.contact_list_name(list)
.email_address(email)
.send()
.await?;
println!("Created contact");
Ok(())
}
• Para ver os detalhes da API, consulte CreateContact na referência de API do AWS SDK for
Rust.
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
516
Amazon Simple Email Service Guia do desenvolvedor
Ações
Rust
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
Ok(())
}
• Para ver os detalhes da API, consulte CreateContactList na referência de API do AWS SDK for
Rust.
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Rust
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
517
Amazon Simple Email Service Guia do desenvolvedor
Ações
.send()
.await?;
if resp.verified_for_sending_status() {
println!("The address is verified");
} else {
println!("The address is not verified");
}
Ok(())
}
• Para ver os detalhes da API, consulte GetEmailIdentity na referência de API do AWS SDK for
Rust.
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Rust
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
println!("Contact lists:");
Ok(())
}
• Para ver os detalhes da API, consulte ListContactLists na referência de API do AWS SDK for
Rust.
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
518
Amazon Simple Email Service Guia do desenvolvedor
Ações
Rust
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
println!("Contacts:");
Ok(())
}
• Para ver os detalhes da API, consulte ListContacts na referência de API do AWS SDK for Rust.
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
Java
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
519
Amazon Simple Email Service Guia do desenvolvedor
Ações
String recipient,
String subject,
String bodyHTML
){
try {
System.out.println("Attempting to send an email through Amazon SES
" + "using the AWS SDK for Java...");
client.sendEmail(emailRequest);
System.out.println("email was sent");
} catch (SesV2Exception e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
• Para ver os detalhes da API, consulte SendEmail na referência de API do AWS SDK for Java
2.x.
Rust
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.
520
Amazon Simple Email Service Guia do desenvolvedor
Ações
async fn send_message(
client: &Client,
list: &str,
from: &str,
subject: &str,
message: &str,
) -> Result<(), Error> {
// Get list of email addresses from contact list.
let resp = client
.list_contacts()
.contact_list_name(list)
.send()
.await?;
client
.send_email()
.from_email_address(from)
.destination(dest)
.content(email_content)
.send()
.await?;
Ok(())
}
• Para ver os detalhes da API, consulte SendEmail na referência de API do AWS SDK for Rust.
Para obter uma lista completa dos Guias do desenvolvedor do SDK da AWS e exemplos de código,
consulte Como usar o Amazon SES com um AWS SDK (p. 27). Este tópico também inclui informações
sobre como começar e detalhes sobre versões anteriores do SDK.
521
Amazon Simple Email Service Guia do desenvolvedor
Proteção de dados
• Segurança da nuvem: a AWS é responsável pela proteção da infraestrutura que executa produtos
da AWS na Nuvem AWS. A AWS também fornece serviços que podem ser usados com segurança.
Auditores de terceiros testam e verificam regularmente a eficácia da nossa segurança como parte dos
Programas de conformidade da AWS. Para saber mais sobre os programas de conformidade que se
aplicam ao Amazon Simple Email Service, consulte AWS Services in Scope by Compliance Program
(Escopo por programa de conformidade).
• Segurança da nuvem: sua responsabilidade é determinada pelo serviço da AWS que você usa. Você
também é responsável por outros fatores, incluindo a confidencialidade dos dados, os requisitos da
empresa e as leis e os regulamentos aplicáveis
Esta documentação ajuda a entender como aplicar o modelo de responsabilidade compartilhada ao usar o
Amazon Simple Email Service. Ela mostra como configurar o Amazon Simple Email Service para atender
aos objetivos de segurança e conformidade. Saiba também como usar outros serviços da AWS que
ajudam você a monitorar e proteger os recursos do Amazon Simple Email Service.
Note
Se você precisar denunciar uso abusivo de recursos da AWS, incluindo spam por e-mail e
distribuição de malware, não use o link de feedback em nenhuma das páginas deste guia do
desenvolvedor, pois o formulário é recebido pela equipe de documentação da AWS, não pela
equipe de confiança e segurança da AWS. Em vez disso, na página How do I report abuse of
AWS resources? (Como denuncio uso abusivo de recursos da AWS), siga as orientações para
entrar em contato com a equipe de confiança e segurança da AWS e denunciar qualquer tipo de
uso abusivo na Amazon AWS.
Índice
• Proteção de dados no Amazon Simple Email Service (p. 522)
• Gerenciamento de identidade e acesso no Amazon SES (p. 529)
• Registro e monitoramento no Amazon SES (p. 535)
• Validação de conformidade para o Amazon Simple Email Service (p. 539)
• Resiliência no Amazon Simple Email Service (p. 540)
• Segurança da infraestrutura no Amazon Simple Email Service (p. 540)
• Configurar endpoints da VPC com o Amazon SES (p. 540)
522
Amazon Simple Email Service Guia do desenvolvedor
Criptografia em repouso
global que executa toda a Nuvem AWS. Você é responsável por manter o controle sobre seu conteúdo
hospedado nessa infraestrutura. Esse conteúdo inclui as tarefas de configuração e gerenciamento de
segurança dos Serviços da AWS que você usa. Para obter mais informações sobre a privacidade de
dados, consulte as Perguntas frequentes sobre privacidade de dados. Para obter mais informações sobre
a proteção de dados na Europa, consulte a postagem do blog AWS Shared Responsibility Model and
GDPR no Blog de segurança da AWS.
Para fins de proteção de dados, recomendamos que você proteja as credenciais da conta da Conta da
AWS e configure as contas de usuário individuais com o AWS Identity and Access Management (IAM).
Dessa maneira, cada usuário receberá apenas as permissões necessárias para cumprir suas obrigações
de trabalho. Recomendamos também que você proteja seus dados das seguintes formas:
É altamente recomendável que você nunca coloque informações de identificação confidenciais, como
endereços de e-mail dos seus clientes, em marcações ou campos de formato livre, como um campo
Name (Nome). Isso também vale para o uso do Amazon Simple Email Service ou de outros serviços da
AWS com o console, a API, a AWS CLI ou os AWS SDKs. Quaisquer dados inseridos em marcações ou
campos de formato livre usados para nomes podem ser usados para logs de cobrança ou diagnóstico.
Se você fornecer um URL para um servidor externo, recomendemos fortemente que não sejam incluídas
informações de credenciais no URL para validar a solicitação a esse servidor.
Tópicos
• Criptografia em repouso (p. 523)
• Criptografia em trânsito (p. 523)
• Exclusão de dados pessoais do Amazon SES (p. 524)
Criptografia em repouso
O Amazon SES integra-se ao AWS Key Management Service (AWS KMS) para criptografar o e-mail que
ele grava em seu bucket do S3. O Amazon SES usa a criptografia do lado do cliente para criptografar seus
e-mails antes de gravá-los no Amazon S3. Isso significa que você deve descriptografar o conteúdo do seu
lado depois de recuperar o e-mail do Amazon S3. O AWS SDK for Java e o AWS SDK for Ruby fornecem
um cliente que pode lidar com a descriptografia para você.
Criptografia em trânsito
Por padrão, o Amazon SES usa TLS oportunista. Isso significa que o Amazon SES sempre tenta
estabelecer uma conexão segura com o servidor de recebimento de e-mails. Se ele não consegue
estabelecer uma conexão segura, ele envia a mensagem não criptografada. Você pode alterar esse
comportamento para que o Amazon SES envie a mensagem para o servidor de recebimento de e-mails
somente se não for possível estabelecer uma conexão segura. Para obter mais informações, consulte .
Amazon SES e protocolos de segurança (p. 112).
523
Amazon Simple Email Service Guia do desenvolvedor
Excluir dados pessoais
Este capítulo fornece procedimentos para excluir vários tipos de dados que podem ser considerados
pessoais.
Índice
• Excluir endereços de e-mail da lista de supressão no nível da conta (p. 524)
• Excluir dados sobre e-mails enviados usando o Amazon SES (p. 524)
• Exclusão de dados sobre identidades (p. 526)
• Excluir dados de autenticação de remetente (p. 526)
• Excluir dados relacionados às regras de recebimento (p. 527)
• Excluir dados relacionados aos filtros de endereços IP (p. 527)
• Excluir dados em modelos de e-mail (p. 528)
• Excluir dados de modelos de e-mail de verificação personalizados (p. 528)
• Excluir todos os dados pessoais encerrando sua conta da AWS (p. 529)
Você pode remover os endereços de e-mail da lista de supressão no nível de conta usando a operação
DeleteSuppressedDestination na API v2 do Amazon SES. Esta seção inclui um procedimento
para excluir endereços de e-mail usando a AWS CLI. Para obter mais informações sobre a instalação e a
configuração da AWS CLI, consulte o Guia do usuário da AWS Command Line Interface.
Como remover um endereço da lista de supressão no nível da conta usando a AWS CLI
No comando anterior, substitua [email protected] pelo endereço de e-mail que você deseja
remover da lista de supressão no nível da conta.
524
Amazon Simple Email Service Guia do desenvolvedor
Excluir dados pessoais
Você pode usar o Kinesis Data Firehose para fazer uma transmissão dos dados de eventos de e-mail
para vários destinos, incluindo o Amazon Simple Storage Service, o Amazon OpenSearch Service e o
Amazon Redshift. Para remover esses dados, você deve primeiro interromper a transmissão de dados
para o Kinesis Data Firehose e, em seguida, excluir os dados que já foram transmitidos. Para interromper
a transmissão de dados de eventos do Amazon SES para o Kinesis Data Firehose, você deve excluir o
destino dos eventos do Kinesis Data Firehose.
Para remover um destino de eventos do Kinesis Data Firehose usando o console do Amazon SES
Também é possível usar a API do Amazon SES para excluir destinos de eventos. O procedimento a seguir
usa a AWS Command Line Interface (AWS CLI) para interagir com a API do Amazon SES. Você também
pode interagir com a API usando um SDK da AWS ou fazendo solicitações HTTP diretamente.
Para remover um destino de eventos do Kinesis Data Firehose usando o AWS CLI
Neste comando, substitua configSet pelo nome do conjunto de configurações que contém o destino
de eventos do Kinesis Data Firehose. Substitua eventDestination pelo nome do destino de
eventos do Kinesis Data Firehose.
2. Se necessário, remova os dados que o Kinesis Data Firehose gravou em outros serviços. Para mais
informações, consulte the section called “Remover dados de eventos armazenados” (p. 525).
Você também pode usar o Kinesis Data Firehose AWS para fazer uma transmissão de dados de e-mail
para o Splunk, um serviço de terceiros que não é suportado pela nem gerenciado no AWS Management
Console. Para obter mais informações sobre como remover dados do Splunk, consulte o administrador do
sistema ou a documentação no site do Splunk.
525
Amazon Simple Email Service Guia do desenvolvedor
Excluir dados pessoais
Também é possível usar a API do Amazon SES para excluir identidades. O procedimento a seguir usa a
AWS Command Line Interface (AWS CLI) para interagir com a API do Amazon SES. Você também pode
interagir com a API usando um SDK da AWS ou fazendo solicitações HTTP diretamente.
Para excluir uma política de autenticação de remetente usando o console do Amazon SES
• Escolha Domains (Domínios) se a política de autenticação de remetente que você deseja excluir
estiver associada a um domínio.
• Escolha Email Addresses (Endereços de e-mail) se a política de autenticação de remetente que
você deseja excluir estiver associada a um endereço de e-mail.
3. Em Identity Policies (Políticas de identidade), selecione a política que você deseja excluir e selecione
Remove Policy (Remover política).
Também é possível usar a API do Amazon SES para excluir políticas de autenticação de remetente.
O procedimento a seguir usa a AWS Command Line Interface (AWS CLI) para interagir com a API do
526
Amazon Simple Email Service Guia do desenvolvedor
Excluir dados pessoais
Amazon SES. Você também pode interagir com a API usando um SDK da AWS ou fazendo solicitações
HTTP diretamente.
Nesse comando, substitua example.com pela identidade que contém a política de autenticação de
remetente. Substitua samplePolicy pelo nome da política de autenticação de remetente.
Também é possível usar a API do Amazon SES para excluir regras de recebimento. O procedimento a
seguir usa a AWS Command Line Interface (AWS CLI) para interagir com a API do Amazon SES. Você
também pode interagir com a API usando um SDK da AWS ou fazendo solicitações HTTP diretamente.
Nesse comando, substitua myRuleSet pelo nome do conjunto de regras de recebimento que contém
a regra de recebimento. Substitua myReceiptRule pelo nome da regra de recebimento que você
deseja excluir.
527
Amazon Simple Email Service Guia do desenvolvedor
Excluir dados pessoais
2. Em Email Receiving (Recebimento de e-mail), selecione IP Address Filters (Filtros de endereços IP).
3. Na lista de filtros de endereços IP, selecione o filtro que você deseja remover e, em seguida, selecione
Delete (Excluir).
Também é possível usar a API do Amazon SES para excluir filtros de endereços IP. O procedimento a
seguir usa a AWS Command Line Interface (AWS CLI) para interagir com a API do Amazon SES. Você
também pode interagir com a API usando um SDK da AWS ou fazendo solicitações HTTP diretamente.
Nesse comando, substitua IPfilter pelo nome do filtro de endereços IP que você deseja excluir.
Nesse comando, substitua sampleTemplate pelo nome do modelo de e-mail que você deseja
excluir.
Você só pode excluir modelos de e-mail de verificação personalizados usando a API do Amazon SES.
528
Amazon Simple Email Service Guia do desenvolvedor
Gerenciamento de Identidade e Acesso
Quando você encerra sua conta da AWS, os dados em sua conta da AWS são retidos por 90 dias. Após
esse período de retenção, eles são excluídos de forma permanente e irreversível.
Warning
Não conclua o procedimento a seguir, a menos que você tenha certeza de que deseja remover
completamente todos os dados que estão armazenados em sua conta da AWS em todos os
serviços e regiões da AWS.
Você pode encerrar sua conta da AWS usando o AWS Management Console.
Por exemplo, você pode criar uma política do IAM permitindo que os usuários da sua organização enviem
e-mails, mas que não desempenhem ações administrativas, como a verificação de estatísticas de envio.
Como no outro exemplo, você pode criar uma política que permita a um usuário enviar e-mails pelo SES
por meio de sua conta, mas somente se ele usar determinado endereço “From” (De).
Para usar o IAM, você define uma política do IAM, que é um documento que explicitamente define as
permissões, e anexa a política a um usuário. Para saber como criar políticas do IAM, consulte o Guia do
usuário do IAM. Além de aplicar as restrições definidas em sua política, não há alterações na forma como
os usuários interagem com o SES nem na forma como o SES realiza as solicitações.
Note
529
Amazon Simple Email Service Guia do desenvolvedor
Criar políticas do IAM para acesso ao SES
Se você estiver procurando informações sobre como gerar credenciais SMTP no SES para um usuário
existente do IAM, consulte Obtenção de credenciais SMTP do Amazon SES (p. 46).
Há três motivos pelos quais você pode usar o IAM com o SES:
Restrição da ação
Para controlar quais ações do SES o usuário poderá realizar, use o elemento Action de uma política
do IAM. Você pode definir o elemento Action para qualquer ação de API do SES colocando como
prefixo do nome da API a string em minúsculas ses:. Por exemplo, você pode definir Action como
ses:SendEmail, ses:GetSendStatistics ou ses:* (para todas as ações).
Se o elemento Action permitir apenas o acesso a APIs de envio de e-mails (ou seja, ses:SendEmail e/
ou ses:SendRawEmail):
• Para permitir que o usuário envie de qualquer identidade na sua Conta da AWS, defina Resource como
*
• Para restringir as identidades a partir das quais o usuário pode enviar, defina Resource como os ARNs
das identidades que você estiver permitindo que o usuário utilize.
• Se você não quiser restringir as identidades a partir das quais o usuário pode enviar, defina Resource
como *
• Se você quiser restringir as identidades com as quais um usuário pode enviar, será necessário criar
duas políticas (ou duas declarações dentro de uma política):
• Uma com Action definida como uma lista explícita de APIs permitidas para não envio de e-mails e
Resource definido como*
• Uma com Action definida como uma das APIs de envio de e-mails (ses:SendEmail e/ou
ses:SendRawEmail) e Resource definido como os ARNs das identidades que você está permitindo
que o usuário use.
Para obter uma lista das ações disponíveis do SES, consulte a Referência da API do Amazon Simple
Email Service. Se o usuário do IAM for usar a interface SMTP, você deve permitir acesso para
ses:SendRawEmail, pelo menos.
530
Amazon Simple Email Service Guia do desenvolvedor
Criar políticas do IAM para acesso ao SES
• aws:CurrentTime
• aws:EpochTime
• aws:SecureTransport
• aws:SourceIp
• aws:UserAgent
531
Amazon Simple Email Service Guia do desenvolvedor
Exemplo de políticas do IAM para o SES
Para obter mais informações sobre essas chaves, consulte o Guia do usuário do IAM.
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"ses:*"
],
"Resource":"*"
}
]
}
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"ses:*"
],
"Resource":"*",
"Condition": {
"StringEquals" : {
"ses:ApiVersion" : "2"
}
}
}
]
}
532
Amazon Simple Email Service Guia do desenvolvedor
Exemplo de políticas do IAM para o SES
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource":"*"
}
]
}
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource":"*",
"Condition":{
"DateGreaterThan":{
"aws:CurrentTime":"2018-08-31T12:00Z"
},
"DateLessThan":{
"aws:CurrentTime":"2018-10-01T12:00Z"
}
}
}
]
}
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource":"*",
533
Amazon Simple Email Service Guia do desenvolvedor
Exemplo de políticas do IAM para o SES
"Condition":{
"ForAllValues:StringLike":{
"ses:Recipients":[
"*@example.com"
]
}
}
}
]
}
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource":"*",
"Condition":{
"StringEquals":{
"ses:FromAddress":"[email protected]"
}
}
}
]
}
A política a seguir permite que um usuário chame a API SendBounce, mas somente se o endereço "From"
for [email protected].
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"ses:SendBounce"
],
"Resource":"*",
"Condition":{
"StringEquals":{
"ses:FromAddress":"[email protected]"
}
}
}
]
}
534
Amazon Simple Email Service Guia do desenvolvedor
Registro em log e monitoramento
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource":"*",
"Condition":{
"StringLike":{
"ses:FromDisplayName":"Marketing"
}
}
}
]
}
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource":"*",
"Condition":{
"StringEquals":{
"ses:FeedbackAddress":"[email protected]"
}
}
}
]
}
• O Amazon CloudWatch monitora os recursos da AWS e as aplicações que você executa na AWS
em tempo real. Você pode coletar e rastrear métricas, criar painéis personalizados e definir alarmes
que o notificam ou que realizam ações quando uma métrica especificada atinge um limite definido.
Para obter mais informações, consulte Recuperação de dados de eventos do Amazon SES a partir do
CloudWatch (p. 350) e Criação de alarmes de monitoramento de reputação com o CloudWatch (p. 441).
• O AWS CloudTrail captura chamadas de API e eventos relacionados feitos por sua conta da Conta da
AWS ou em nome dela e entrega os arquivos de log a um bucket do Amazon S3 que você especifica.
Você pode identificar quais usuários e contas chamaram a AWS, o endereço IP de origem do qual as
535
Amazon Simple Email Service Guia do desenvolvedor
Registrar em log chamadas de API
chamadas foram feitas e quando elas ocorreram. Para obter mais informações, consulte . Registro de
chamadas de API do Amazon SES com o AWS CloudTrail (p. 536).
• Os eventos de envio de e-mail do Amazon SES podem ajudar você a ajustar sua estratégia de envio
de e-mails. O Amazon SES captura informações detalhadas, incluindo o número de envios, entregas,
aberturas, cliques, devoluções, reclamações e rejeições. Para obter mais informações, consulte .
Monitoramento da atividade de envio (p. 328).
• As métricas de reputação do Amazon SES rastreiam as taxas de devolução e reclamação da sua conta.
Para obter mais informações, consulte . Monitoramento de sua reputação como remetente (p. 425).
Para saber mais sobre o CloudTrail, incluindo como configurá-lo e ativá-lo, consulte o Guia do usuário do
AWS CloudTrail.
Para ter um registro contínuo dos eventos na sua Conta da AWS, incluindo eventos do Amazon SES,
crie uma trilha. Uma trilha permite que o CloudTrail entregue arquivos de log a um bucket do Amazon
S3. Por padrão, quando você cria uma trilha no console, ela é aplicada a todas as Regiões da AWS. A
trilha registra em log eventos de todas as regiões na partição da AWS e entrega os arquivos de log para
o bucket do Amazon S3 especificado por você. Além disso, você pode configurar outros serviços da AWS
para analisar mais profundamente e agir sobre os dados de eventos coletados nos logs do CloudTrail.
Para obter mais informações, consulte:
O Amazon SES suporta as seguintes ações como eventos nos arquivos de log do CloudTrail:
• CloneReceiptRuleSet
• CreateReceiptFilter
• CreateReceiptRule
• CreateReceiptRuleSet
536
Amazon Simple Email Service Guia do desenvolvedor
Registrar em log chamadas de API
• DeleteIdentity
• DeleteIdentityPolicy
• DeleteReceiptFilter
• DeleteReceiptRule
• DeleteReceiptRuleSet
• DeleteVerifiedEmailAddress
• DescribeActiveReceiptRuleSet
• DescribeReceiptRule
• DescribeReceiptRuleSet
• GetIdentityDkimAttributes
• GetIdentityNotificationAttributes
• GetIdentityPolicies
• GetIdentityVerificationAttributes
• GetSendQuota
• GetSendStatistics
• ListIdentities
• ListIdentityPolicies
• ListReceiptFilters
• ListReceiptRuleSets
• ListVerifiedEmailAddresses
• PutIdentityPolicy
• ReorderReceiptRuleSet
• SetActiveReceiptRuleSet
• SetReceiptRulePosition
• SetIdentityDkimEnabled
• SetIdentityFeedbackForwardingEnabled
• SetIdentityHeadersInNotificationsEnabled
• SetIdentityNotificationTopic
• UpdateReceiptRule
• VerifyDomainDkim
• VerifyDomainIdentity
• VerifyEmailAddress
• VerifyEmailIdentity
Note
• SendEmail
• SendRawEmail
537
Amazon Simple Email Service Guia do desenvolvedor
Registrar em log chamadas de API
• SendTemplatedEmail
• SendBulkTemplatedEmail
• SendCustomVerificationEmail
Use a publicação de eventos para registrar eventos relacionados ao envio de e-mails. Para obter
mais informações, consulte . Monitorar o envio de e-mails usando a publicação de eventos do
Amazon SES (p. 337).
Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de
identidade ajudam a determinar:
• Se a solicitação foi feita com credenciais de usuário raiz ou do AWS Identity and Access Management
(IAM).
• Se a solicitação foi feita com credenciais de segurança temporárias de uma função ou de um usuário
federado.
• Se a solicitação foi feita por outro serviço da AWS.
O exemplo a seguir mostra uma entrada de log do CloudTrail que demonstra as ações DeleteIdentity
e VerifyEmailIdentity.
{
"Records":[
{
"awsRegion":"us-west-2",
"eventID":"0ffa308d-1467-4259-8be3-c749753be325",
"eventName":"DeleteIdentity",
"eventSource":"ses.amazonaws.com",
"eventTime":"2018-02-02T21:34:50Z",
"eventType":"AwsApiCall",
"eventVersion":"1.02",
"recipientAccountId":"111122223333",
"requestID":"50b87bfe-ab23-11e4-9106-5b36376f9d12",
"requestParameters":{
"identity":"amazon.com"
},
"responseElements":null,
"sourceIPAddress":"192.0.2.0",
"userAgent":"aws-sdk-java/unknown-version",
"userIdentity":{
"accessKeyId":"AKIAIOSFODNN7EXAMPLE",
"accountId":"111122223333",
"arn":"arn:aws:iam::111122223333:root",
"principalId":"111122223333",
"type":"Root"
}
},
{
538
Amazon Simple Email Service Guia do desenvolvedor
Validação de conformidade
"awsRegion":"us-west-2",
"eventID":"5613b0ff-d6c6-4526-9b53-a603a9231725",
"eventName":"VerifyEmailIdentity",
"eventSource":"ses.amazonaws.com",
"eventTime":"2018-02-04T01:05:33Z",
"eventType":"AwsApiCall",
"eventVersion":"1.02",
"recipientAccountId":"111122223333",
"requestID":"eb2ff803-ac09-11e4-8ff5-a56a3119e253",
"requestParameters":{
"emailAddress":"[email protected]"
},
"responseElements":null,
"sourceIPAddress":"192.0.2.0",
"userAgent":"aws-sdk-java/unknown-version",
"userIdentity":{
"accessKeyId":"AKIAIOSFODNN7EXAMPLE",
"accountId":"111122223333",
"arn":"arn:aws:iam::111122223333:root",
"principalId":"111122223333",
"type":"Root"
}
}
]
}
Para obter uma lista de serviços da AWS no escopo de programas de conformidade específicos, consulte
Serviços da AWS no escopo por programa de conformidade. Para obter informações gerais, consulte
Programas de conformidade da AWS.
Você pode fazer download de relatórios de auditoria de terceiros usando o AWS Artifact. Para obter mais
informações, consulte Fazer download de relatórios no AWS Artifact.
Sua responsabilidade com relação à conformidade ao usar o Amazon Simple Email Service é determinada
pela confidencialidade dos dados, pelos objetivos de conformidade da empresa e pelos regulamentos e
leis aplicáveis. A AWS fornece os seguintes recursos para ajudar na conformidade:
539
Amazon Simple Email Service Guia do desenvolvedor
Resiliência
Para obter mais informações sobre regiões e zonas de disponibilidade da AWS, consulte Infraestrutura
global da AWS.
Você usa as chamadas de API da AWS publicadas para acessar o Amazon Simple Email Service
pela rede. Os clientes devem oferecer suporte a Transport Layer Security (TLS) 1.0 ou posterior.
Recomendamos TLS 1.2 ou posterior. Os clientes também devem ter suporte a conjuntos de criptografia
com perfect forward secrecy (PFS) como Ephemeral Diffie-Hellman (DHE) ou Ephemeral Elliptic Curve
Diffie-Hellman (ECDHE). A maioria dos sistemas modernos como Java 7 e versões posteriores oferece
suporte a esses modos.
Além disso, as solicitações devem ser assinadas usando um ID da chave de acesso e uma chave de
acesso secreta associada a uma entidade principal do IAM. Ou você pode usar o AWS Security Token
Service (AWS STS) para gerar credenciais de segurança temporárias para assinar solicitações.
Para trabalhar dentro dessas restrições, você pode usar a Amazon Virtual Private Cloud (Amazon VPC).
Com a Amazon VPC, é possível implantar recursos da AWS em uma rede virtual que existe em uma área
isolada da Nuvem AWS. Para obter mais informações sobre o Amazon VPC, consulte o Guia do usuário da
Amazon VPC.
Para usar o Amazon SES com a Amazon VPC, é necessário criar uma instância do Amazon EC2 na VPC
de sua organização. Depois disso, é possível se conectar a essa instância e usá-la para enviar e-mails por
meio do Amazon SES. Esta seção contém instruções para configurar sua instância do Amazon EC2 e criar
um endpoint da Amazon VPC para o Amazon SES.
Limitações
• O Amazon SES não oferece suporte a endpoints de VPC nas seguintes zonas de
disponibilidade:use1-az2,use1-az3,use1-az5,usw1-az2,usw2-az4,apne2-az4,cac1-
az3, ecac1-az4.
• O endpoint SMTP usado na VPC é restrito à Região da AWS que está sendo usada atualmente
para sua conta.
540
Amazon Simple Email Service Guia do desenvolvedor
Pré-requisitos
Pré-requisitos
Antes de concluir o procedimento desta seção, é necessário concluir as seguintes etapas:
• Crie uma nuvem privada virtual (VPC). Para saber os procedimentos, consulte Conceitos básicos de
IPv4 para a Amazon VPC.
• Iniciar uma instância do Amazon EC2 na sua VPC. Para obter mais informações, consulte Executar uma
instância do EC2 em sua VPC padrão.
• Por padrão, o Amazon Elastic Compute Cloud (Amazon EC2) restringe o tráfego de e-mail pela porta
25. Para evitar erros de tempo limite ao enviar e-mails pelo endpoint SMTP do Amazon EC2, você pode
solicitar que essas restrições sejam removidas. Para obter mais informações, consulte Como remover
a restrição da porta 25 na minha instância do Amazon EC2 ou função do AWS Lambda? na Central de
Conhecimento da AWS.
Alternativamente, você pode usar uma porta diferente (como 587 ou 2587) para evitar esse problema.
1. No painel de navegação, no console do Amazon EC2, em Network & Security (Rede e segurança),
escolha Security Groups (Grupos de segurança).
2. Escolha Create grupo de segurança (Criar grupo de segurança).
3. Em Basic details (Detalhes básicos), faça o seguinte:
541
Amazon Simple Email Service Guia do desenvolvedor
Configuração do Amazon SES na Amazon VPC
• Em Security group name (Nome do grupo de segurança), insira um nome exclusivo que identifique o
grupo de segurança.
• (Opcional) Em Description (Descrição), insira algum texto que descreva o grupo de segurança.
• Em VPC, escolha a VPC em que você deseja usar o Amazon SES.
Quando terminar, a seção Basic details (Detalhes básicos) é semelhante ao exemplo na imagem a
seguir.
542
Amazon Simple Email Service Guia do desenvolvedor
Configuração do Amazon SES na Amazon VPC
8. Escolha Create endpoint (Criar endpoint). Aguarde aproximadamente 5 minutos enquanto a Amazon
VPC cria o endpoint. Quando o endpoint estiver pronto para uso, o valor na coluna Status mudará
para “disponível”, conforme mostrado na imagem a seguir.
543
Amazon Simple Email Service Guia do desenvolvedor
Configuração do Amazon SES na Amazon VPC
Para obter informações sobre como se conectar a uma instância Linux, consulte Connect to your Linux
instance (“Conectar-se à sua instância do Linux”) no Guia do usuário do Amazon EC2 para instâncias
do Linux.
Para obter informações sobre como se conectar a instâncias do Windows, consulte Getting started
(“Conceitos básicos”) no Guia do usuário do Amazon EC2 para instâncias do Windows.
2. Envie um e-mail de teste concluindo o procedimento em Uso da linha de comando para enviar e-mail
usando a interface SMTP do Amazon SES (p. 74).
Note
É necessário verificar um domínio ou endereço de e-mail antes enviar e-mails pelo Amazon
SES. Para obter mais informações sobre como verificar identidades, consulte Identidades
verificadas no Amazon SES (p. 158).
544
Amazon Simple Email Service Guia do desenvolvedor
• Para obter informações sobre problemas de verificação do domínio que você pode encontrar, consulte
Problemas de verificação de domínio e endereço de e-mail (p. 546).
• Para obter soluções para problemas relacionados ao DKIM, consulte Solução de problemas do DKIM no
Amazon SES (p. 549).
• Para obter uma lista de problemas de entrega comuns que você pode encontrar ao enviar e-mail,
juntamente com as ações corretivas que podem ser adotadas, consulte Problemas de entrega do
Amazon SES (p. 550).
• Para obter uma descrição dos problemas que os destinatários podem ver ao receberem um e-
mail enviado por meio do Amazon SES, consulte Problemas com e-mails recebidos do Amazon
SES (p. 551).
• Para obter as soluções para problemas com notificações de devolução, reclamação e entrega, consulte
Problemas de notificação do Amazon SES (p. 552).
• Para obter uma lista de erros que podem ocorrer no envio de um e-mail com Amazon SES consulte
Erros de envio de e-mail do Amazon SES (p. 552).
• Para obter dicas sobre como aumentar a velocidade de envio de e-mail ao fazer várias chamadas para
o Amazon SES usando a API ou a interface SMTP, consulte Aumento da taxa de transferência com o
Amazon SES (p. 554).
• Para soluções de problemas comuns que você pode encontrar ao usar o Amazon SES por meio da
interface Simple Mail Transfer Protocol (SMTP), além de uma lista de códigos de resposta SMTP
retornados pelo Amazon SES, consulte Problemas de SMTP do Amazon SES (p. 555).
• Para obter uma lista de códigos de erro comuns que são retornados pela API v2 do Amazon SES,
consulte Erros comuns.
• Para obter uma descrição dos problemas comuns relacionados ao processo de análise de envio e
como lidar com eles, consulte Perguntas frequentes sobre o processo do Amazon SES de revisão de
envios (p. 561).
• Para obter mais informações sobre como as DNS-based Blackhole Lists (DNSBLs) afetam o envio
com o Amazon SES, consulte Perguntas frequentes sobre a lista de buracos negros de DNS
(DNSBL) (p. 577).
Se você estiver chamando a API do Amazon SES do diretamente, consulte a Referência da API do
Amazon Simple Email Service para ver os erros de HTTP que você pode receber.
Note
Se precisar solicitar suporte técnico, não use o link de feedback em qualquer uma das páginas
deste guia do desenvolvedor, pois o formulário é recebido pela equipe de documentação da
AWS, e não pelo AWS Support. Em vez disso, na página Contact Us (Entre em contato conosco),
explore as diferentes opções de suporte disponíveis.
Índice
• Problemas gerais do Amazon SES (p. 546)
• Problemas de verificação de domínio e endereço de e-mail (p. 546)
• Solução de problemas do DKIM no Amazon SES (p. 549)
• Problemas de entrega do Amazon SES (p. 550)
545
Amazon Simple Email Service Guia do desenvolvedor
Problemas gerais
Nos procedimentos a seguir, a referência aos registros DNS pode se referir a registros CNAME
ou TXT, dependendo de que tipo de DKIM você usou. O Easy DKIM usa registros CNAME e o
Bring Your Own DKIM (BYODKIM) usa registros TXT. Procedimentos de verificação detalhados
são fornecidos para cada Easy DKIM (p. 163) ou BYODKIM (p. 165).
546
Amazon Simple Email Service Guia do desenvolvedor
Conferir as configurações de verificação de domínio
• Você está tentando verificar um domínio do qual não é o proprietário: não é possível verificar um
domínio do qual não é o proprietário. Por exemplo, se você deseja enviar e-mails pelo Amazon
SES a partir de um endereço no domínio gmail.com, é necessário verificar esse endereço de e-mail
especificamente (p. 169). Não é possível verificar todo o domínio gmail.com.
• Você está tentando verificar um domínio privado: não será possível verificar um domínio se os registros
DNS não puderem ser resolvidos por DNS público.
• O provedor de DNS não permite sublinhados em nomes de registro DNS: um pequeno número de
provedores de DNS não permitem a inclusão de caracteres sublinhado (_) em nomes de registro. No
entanto, o sublinhado no nome do registro DKIM é necessário. Se o seu provedor de DNS não permitir
que você insira um sublinhado no nome do registro, entre em contato com a equipe de suporte ao cliente
do provedor para obter assistência.
• O provedor de DNS anexou o nome do domínio ao final do registro DNS: alguns provedores de DNS
anexam automaticamente o nome do seu domínio ao nome do atributo de registro DNS. Por exemplo, se
você criar um registro em que o nome do atributo é _domainkey.example.com, o provedor poderá anexar
o nome do domínio, resultando em _domainkey.example.com.example.com). Para evitar a duplicação do
nome do domínio, adicione um ponto ao final do nome do domínio ao inserir o registro DNS. Esta etapa
informa ao seu provedor de DNS que não é necessário anexar o nome do domínio ao registro.
• Seu provedor de DNS modificou o valor do registro de DNS: alguns provedores modificam
automaticamente valores de registro de DNS para usar apenas letras minúsculas. O Amazon SES
verifica seu domínio apenas quando ele detecta um registro de verificação para o qual o valor do
atributo corresponde exatamente ao valor fornecido pelo Amazon SES quando você iniciou o processo
de verificação do domínio. Se o provedor de DNS do seu domínio mudar os valores do registro DNS
para usar apenas letras minúsculas, entre em contato com o provedor de DNS para obter assistência
adicional.
• Você deseja verificar o mesmo domínio várias vezes: talvez seja necessário verificar seu domínio mais
de uma vez porque está enviando em diferentes regiões ou porque você está usando o mesmo domínio
para enviar a partir de várias contas da AWS. Se o seu provedor de DNS não permitir que você tenha
mais de um registro DNS com o mesmo nome de atributo, talvez ainda seja possível verificar dois
domínios. Se o provedor de DNS permitir, você poderá atribuir vários valores de atributo ao mesmo
registro DNS. Por exemplo, se o DNS for gerenciado pelo Amazon Route 53, será possível configurar
vários valores para o mesmo registro CNAME concluindo as seguintes etapas:
1. No console do Route 53, selecione o registro CNAME que você criou ao verificar o domínio na
primeira região.
2. Na caixa Value (Valor), vá até o final do valor de atributo existente e, em seguida, pressione Enter.
3. Adicione o valor do atributo para a região adicional e, em seguida, salve o conjunto de registros.
Se o provedor de DNS não permitir que você atribua vários valores para o mesmo registro DNS,
verifique o domínio uma vez com _domainkey no nome do atributo do registro DNS, e outra vez sem
_domainkey no nome do atributo. A desvantagem dessa solução é que só é possível verificar o mesmo
domínio duas vezes.
Os comandos nessas instruções foram executados no Windows 7 e o exemplo de domínio que usamos é o
ses-example.com configurado com Easy DKIM, que usa registros CNAME.
Neste procedimento, você primeiro encontra os servidores DNS que atendem ao seu domínio, depois
consulta esses servidores para visualizar os registros CNAME. Você consulta os servidores DNS que
atendem a seu domínio, pois esses servidores contêm as informações mais atualizadas de seu domínio, o
que pode levar algum tempo para ser propagado para outros servidores DNS.
547
Amazon Simple Email Service Guia do desenvolvedor
Problemas de verificação de e-mail
a. Vá para a linha de comando. Para acessar a linha de comando no Windows 7, escolha Start
e, em seguida, digite cmd. Em sistemas operacionais baseados em Linux, abra uma janela de
terminal.
b. No prompt de comando, digite o seguinte, em que <domain> é seu domínio. Todos os servidores
de nome que atendem ao seu domínio serão listados.
A saída do comando listará os servidores de nome que atendem ao seu domínio. Você poderá
consultar um desses servidores na próxima etapa.
2. Verifique se os registros CNAME foram corretamente publicados executando estas etapas. Lembre-se
de que o Amazon SES gera três registros CNAME para autenticação do Easy DKIM. Portanto, repita
os procedimentos a seguir para cada um dos três.
a. No prompt de comando, digite o seguinte, em que <random string> é o nome CNAME gerado pelo
SES, <domain> é o seu domínio e <name server> é um dos servidores de nome encontrados na
etapa 1.
548
Amazon Simple Email Service Guia do desenvolvedor
Problemas do DKIM
• Verifique a pasta de spam ou de lixo eletrônico do endereço de e-mail que você está tentando
verificar.
• Confirme se o endereço que você está tentando verificar pode receber e-mails. Usando outro
endereço de e-mail (como seu endereço de e-mail pessoal), envie um e-mail de teste para o endereço
que deseja verificar.
• Confira a lista de endereços verificados no console do Amazon SES. Certifique-se de que não haja
erros no endereço de e-mail que você está tentando verificar.
Você configurou o DKIM com êxito, mas suas mensagens não estão sendo assinadas pelo DKIM
Se você usou o Easy DKIM (p. 185) ou o BYODKIM (p. 187) para configurar o DKIM de um domínio,
mas as mensagens enviadas não estiverem assinadas pelo DKIM, faça o seguinte:
• Certifique-se de que o DKIM esteja habilitado para a identidade apropriada. Para habilitar o DKIM
para uma identidade no console do Amazon SES, escolha o domínio de e-mail na lista Identities
(Identidades). Na página de detalhes domínio, expanda DKIM e escolha Enable (Habilitar) para
habilitar o DKIM.
• Certifique-se de que você não está enviando mensagens de um endereço de e-mail verificado
no mesmo domínio. Se você configurar o DKIM para um domínio, todas as mensagens enviadas
desse domínio serão assinadas pelo DKIM, exceto os endereços de e-mail que você verificou
individualmente. Os endereços de e-mail verificados individualmente usam configurações
separadas. Por exemplo, se você configurou o DKIM para o domínio example.com e verificou
separadamente o endereço de e-mail [email protected] (mas não configurou o DKIM para o
endereço), os e-mails enviados de [email protected] são enviados sem a autenticação DKIM.
Para resolver esse problema, exclua a identidade do endereço de e-mail da lista de identidades da
conta.
• Se você utiliza a mesma identidade em mais de uma região da AWS, é preciso configurar o DKIM
para cada região separadamente. Da mesma forma, se utiliza o mesmo domínio com mais de uma
conta da AWS, é necessário configurar o DKIM para cada conta. Se você remover os registros DNS
necessários para uma região ou conta específica, o Amazon SES desabilitará a assinatura DKIM
para essa região ou conta. Se a assinatura DKIM ficar desabilitada, o Amazon SES enviará uma
notificação por e-mail para você.
Os detalhes do DKIM do seu domínio no console do Amazon SES mostram DKIM: waiting on sender
verification... (DKIM: aguardando a verificação do remetente...) DKIM Verification Status: pending
verification.
Se você seguiu os procedimentos em Easy DKIM (p. 185) ou BYODKIM - Bring Your Own DKIM
(Traga seu próprio DKIM) (p. 187) para configurar DKIM para um domínio, mas o console do Amazon
SES ainda indica que a verificação do DKIM está pendente, faça o seguinte:
• Aguarde até 72 horas. Em casos raros, pode haver uma demora para que os registros DNS se
tornem visíveis para o Amazon SES.
• Confirme se o registro CNAME (para Easy DKIM) ou o registro TXT (para BYODKIM)
usa o nome correto. Alguns provedores de DNS anexam automaticamente o nome
do domínio aos registros que você cria. Por exemplo, se você criar um registro com
um nome de example._domainkey.example.com, seu provedor DNS poderá
adicionar o nome do domínio ao final dessa sequência de caracteres, resultando em
example._domainkey.example.com.example.com. Para obter mais informações, consulte a
documentação do seu provedor de DNS.
549
Amazon Simple Email Service Guia do desenvolvedor
Problemas de entrega
Você recebeu um e-mail do Amazon SES dizendo que sua configuração do DKIM foi (ou será) revogada.
Isso significa que o Amazon SES não pode mais encontrar os registros CNAME necessários (se você
usou Easy DKIM) ou o registro TXT necessário (se você usou BYODKIM) no servidor DNS. O e-mail
de notificação informará a você o período em que você deve publicar novamente os registros DNS
antes que o status de configuração do DKIM seja revogado e a assinatura do DKIM seja desabilitada.
Caso sua configuração do DKIM seja revogada, você deverá reiniciar o procedimento de configuração
do DKIM desde o início.
Ao tentar configurar o BYODKIM, o processo de verificação do DKIM falha.
Certifique-se de que sua chave privada tem o formato correto. A chave privada deve estar no
formato PKCS #1 e usar a criptografia RSA de 1024 bits ou de 2048 bits. Além disso, ela tem que ser
codificada em Base64.
Durante a configuração do BYODKIM, você recebeu um erro BadRequestException ao tentar
especificar uma chave pública para o domínio.
O provedor DNS pode não conseguir redirecionar registros CNAME. Observe que o Amazon SES e os
ISPs consultam registros TXT. Para estar em conformidade com a especificação DKIM, os servidores
DNS precisam ser capazes de responder a consultas de registro TXT, bem como de registro CNAME.
Se o provedor DNS não conseguir responder às consultas de registro TXT, uma alternativa é usar o
Route 53 como provedor de hospedagem de DNS.
Seus e-mails contêm duas assinaturas DKIM
Quando o Amazon SES envia sua mensagem, vários fatores podem impedir que ele seja entregue com
êxito, e em alguns casos você só saberá que a entrega falhou quando a mensagem que você enviar não
chegar. Use o seguinte processo para resolver essa situação.
• Verifique se você fez uma solicitação SendEmail ou SendRawEmail para o e-mail em questão
e se recebeu uma resposta bem-sucedida. Se você estiver fazendo essas solicitações de forma
programática, verifique os logs de software para garantir que o programa fez a solicitação e recebeu
uma resposta bem-sucedida.
• Leia o artigo do blog Três lugares onde seu e-mail pode sofrer um atraso durante o envio pelo SES, pois
o problema, na verdade, pode ser um atraso em vez da falta de entrega.
• Verifique o endereço de e-mail do remetente (o endereço "From") para verificar se ele é válido. Verifique
também o endereço Return-Path, que é o local para onde as mensagens de devolução são enviadas. Se
o seu e-mail foi devolvido, haverá uma mensagem de erro explicativa.
550
Amazon Simple Email Service Guia do desenvolvedor
Problemas com e-mails recebidos
• Confira o AWS Service Health Dashboard para confirmar que não há um problema conhecido com o
Amazon SES.
• Entre em contato com o destinatário de e-mail ou o ISP do destinatário. Verifique se o destinatário está
usando o endereço de e-mail correto e pesquise se ocorreu algum problema de entrega conhecido com
o ISP do destinatário. Além disso, determine se o e-mail foi entregue, mas foi filtrado como spam.
• Se você se cadastrou em um Plano do AWS Support pago, pode abrir um novo caso de suporte técnico.
Em sua correspondência conosco, forneça todos os endereços do destinatário relevantes, juntamente
com todos os IDs de solicitação ou IDs de mensagens retornados das respostas de SendEmail ou
SendRawEmail.
• Aguarde para ver se o problema é realmente um atraso, não uma falha de entrega permanente. Para
combater spammers, alguns ISPs rejeitam temporariamente mensagens recebidas de servidores de e-
mail de envio desconhecidos. Esse processo, chamado de colocar na lista cinza, pode causar um atraso
na entrega. O Amazon SES tentará enviar novamente essas mensagens. Se a lista cinza for o problema,
o ISP talvez aceite o e-mail em uma dessas novas tentativas.
• Mesmo tendo os melhores interesses dos seus clientes em mente, você ainda pode encontrar situações
que afetam a capacidade de entrega das suas mensagens. Consulte the section called “Dicas e práticas
recomendadas” (p. 26) para ajudar a garantir que as suas comunicações por e-mail atinjam seu público-
alvo.
Alguns clientes de e-mail exibem o domínio “via” quando o domínio do remetente não corresponde
ao domínio do qual o e-mail foi enviado (nesse caso, amazonses.com). Para obter mais informações,
consulte Informações adicionais ao lado do nome do remetente no site de suporte do Gmail. Como
alternativa, é possível configurar o DomainKeys Identified Mail (p. 183) (DKIM). Quando você autentica
seus e-mails usando o DKIM, os clientes de e-mail normalmente não mostram o domínio “via” porque
a assinatura do DKIM mostra que o e-mail é proveniente do domínio que afirma ser. Para obter
informações sobre a configuração do DKIM, consulte Autenticação de e-mail com DKIM no Amazon
SES (p. 183).
A mensagem contém caracteres ilegíveis ou sem sentido
Se sua mensagem incluir caracteres que não estejam no conjunto de caracteres ASCII (como
caracteres latinos com acento, caracteres chineses ou caracteres árabes), será necessário codificar
esses caracteres usando a codificação de caracteres HTML. É possível usar ferramentas baseadas na
Web para codificar os caracteres em seus e-mails, como o HTML Character Convertor no site Email
On Acid.
Como alternativa, você pode montar a mensagem MIME sozinho. Na mensagem MIME, é possível
especificar que a mensagem deve usar a codificação UTF-8. Ao usar a codificação UTF-8, é possível
usar caracteres que não são ASCII diretamente em suas mensagens. Quando terminar de criar a
mensagem MIME, você poderá enviá-la usando a API SendRawEmail.
Uma causa comum desse problema é o recurso de aspas curvas do Microsoft Word. Se você costuma
copiar conteúdo do Word e colá-lo em e-mails, talvez encontre esse problema. O recurso de aspas
curvas substitui caracteres de aspas retas ("...") por caracteres de aspas curvas (“...”). Os caracteres
de aspas curvas não são caracteres ASCII padrão. Por esse motivo, eles podem ser processados
em alguns clientes de e-mail como "??" ou como um grupo de caracteres, como "“". Para corrigir
esse problema, é possível desabilitar o recurso de aspas curvas no Word. Uma outra opção é usar a
551
Amazon Simple Email Service Guia do desenvolvedor
Problemas com as notificações
solução SendRawEmail do parágrafo anterior. Para obter informações sobre como desabilitar esse
recurso, consulte Aspas curvas no Word no site de suporte do Microsoft Office.
• Você recebe notificações de devolução pelo Amazon SNS, mas não sabe a quais destinatários as
notificações correspondem: no futuro, para associar uma notificação de devolução a um determinado
destinatário, você tem as seguintes opções:
• Como o Amazon SES não retém nenhum ID de mensagem personalizado que você tenha adicionado,
armazene um mapeamento entre um identificador e o ID de mensagem do Amazon SES que o
transmite de volta para você ao aceitar o e-mail.
• Em cada chamada para o Amazon SES, envie a um único destinatário em vez de enviar uma única
mensagem para vários destinatários.
• Você pode habilitar o encaminhamento de feedback por e-mail, que encaminhará a mensagem
completa de devolução para você.
• Você recebe notificações de reclamação ou de entrega pelo Amazon SNS ou por encaminhamento
de feedback de e-mail, mas não é possível saber a quais destinatários as notificações correspondem:
alguns ISPs ocultam o endereço de e-mail do destinatário que reclamou antes de transmitir a notificação
de reclamação ao Amazon SES. Para permitir que você encontre o endereço de e-mail do destinatário,
a melhor opção é armazenar seu próprio mapeamento entre um identificador e o ID da mensagem do
Amazon SES que o Amazon SES transmite de volta a você quando aceita o e-mail. Observe que o
Amazon SES não retém os IDs de mensagem personalizados que você adiciona.
• Você quer configurar notificações para ir para um tópico do Amazon SNS do qual não é o proprietário:
o proprietário do tópico deve configurar uma política de acesso do Amazon SNS que permita que a sua
conta chame a ação SNS:Publish no tópico. Para obter informações sobre como controlar o acesso
ao tópico do Amazon SNS com o uso de políticas do IAM, consulte Gerenciamento de acesso aos seus
tópicos do Amazon SNS no Guia do desenvolvedor do Amazon Simple Notification Service.
• Se você chamar a API do Amazon SES diretamente, a ação Query (Consultar) retornará um erro. O erro
pode ser MessageRejected ou um dos erros especificados no tópico Erros comuns da Referência da
API do Amazon Simple Email Service.
• Se você chamar o Amazon SES usando um AWS SDK que utiliza uma linguagem de programação que
oferece suporte a exceções, o Amazon SES pode gerar uma exceção. O tipo de exceção depende do
SDK e do erro. Por exemplo, a exceção pode ser uma MessageRejectedException do Amazon SES
(o nome real pode variar de acordo com o SDK) ou uma exceção geral da AWS. Independentemente do
tipo de exceção, o tipo e a mensagem de erro na exceção fornecerão mais informações.
• Se você chamar o Amazon SES por meio de sua interface SMTP, a forma como você experimentará
o erro vai depender da aplicação. Alguns aplicativos podem exibir uma mensagem de erro específica,
enquanto outros não. Para obter uma lista de códigos de resposta SMTP retornados pelo Amazon SES,
consulte Códigos de resposta SMTP retornados pelo Amazon SES (p. 557).
552
Amazon Simple Email Service Guia do desenvolvedor
Erros de envio de e-mails
Note
Quando ocorre falha na sua chamada para o Amazon SES para enviar um e-mail, você é será
cobrado por esse e-mail.
Veja a seguir os tipos de problemas específicos do Amazon SES que podem fazer com que o Amazon
SES retorne um erro ao tentar enviar um e-mail. Esses erros são uma adição aos erros gerais da AWS,
como MalformedQueryString, conforme especificado no tópico Erros comuns da Referência da API do
Amazon Simple Email Service.
• Email address is not verified (O endereço de e-mail não está verificado). The following identities failed
the check in region (As seguintes identidades não foram aprovadas na verificação na região) região:
identidade1, identidade2, identidade3: você está tentando enviar e-mail de um endereço de e-mail
ou domínio que não verificou com o Amazon SES (p. 158). Esse erro pode se aplicar aos endereços
"From", "Source", "Sender" ou "Return-Path". Se sua conta ainda estiver na sandbox do Amazon
SES (p. 32), você também deverá verificar o endereço de e-mail de cada destinatário com exceção dos
destinatários fornecidos pelo simulador de caixa postal do Amazon SES (p. 266). Se o Amazon SES não
conseguir mostrar todas as identidades com falha, a mensagem de erro terminará com reticências.
Note
O Amazon SES tem endpoints em várias regiões da Regiões da AWS (p. 2), e o status de
verificação do endereço de e-mail é separado para cada região da Região da AWS. Você deve
concluir o processo de verificação para cada remetente nas Regiões da AWS que deseja usar.
• Account is paused (A conta está pausada): a capacidade da sua conta enviar e-mails está pausada.
Você ainda pode acessar o console do Amazon SES e realizar a maioria das operações. No entanto, se
você tentar enviar um e-mail, receberá essa mensagem.
Se pausarmos a capacidade da sua conta enviar e-mails, enviaremos automaticamente uma notificação
ao endereço de e-mail correspondente à sua conta da Conta da AWS. Para obter mais informações,
consulte the section called “Perguntas frequentes sobre o processo de análise de envios” (p. 561).
• Throttling (Controle de utilização): sua aplicação pode estar tentando enviar muitas mensagens por
segundo, ou você pode ter enviado muitos e-mails nas últimas 24 horas. Nesses casos, a mensagem de
erro pode ser semelhante a um dos seguintes exemplos:
• Daily message quota exceeded (Cota de mensagens diária excedida): você enviou o número máximo
de mensagens que é permitido em um período de 24 horas. Se você excedeu sua cota diária, terá que
esperar até o próximo período de 24 horas para poder enviar mais e-mails.
• Maximum sending rate exceeded (Taxa máxima de envio excedida): você está tentando enviar
mais e-mails por segundo do que é permitido pela taxa máxima de envio. Se você excedeu a sua
taxa de envio, poderá continuar a enviar e-mails, mas precisará reduzir sua taxa de envio. Para
obter mais informações, consulte Como lidar com um erro "Throttling - Maximum sending rate
exceeded" (Controle de utilização - taxa máxima de envio excedida) no blog Messaging and Targeting
(Envio de mensagens e segmentação) da AWS.
• Maximum SigV2 SMTP sending rate exceeded (Taxa máxima de envio SMTP SigV2 excedida):
você está tentando enviar mensagens usando credenciais SMTP criadas antes de 10 de janeiro de
2019; suas credenciais SMTP foram criadas usando uma versão mais antiga do AWS Signature. Por
motivos de segurança, você deve excluir as credenciais que criou antes desta data e substituí-las por
credenciais mais novas. Você pode excluir as credenciais mais antigas usando o console do IAM.
Para obter mais informações sobre consulte the section called “Obter as credenciais SMTP” (p. 46)
para criação de um arquivo de credenciais.
Você deve monitorar regularmente sua atividade de envio para ver se está próximo de suas cotas
de envio. Para obter mais informações, consulte . Monitoramento de cotas de envio do Amazon
SES (p. 40). Para obter informações gerais sobre as cotas de envio, consulte Gerenciamento de limites
do envio do Amazon SES (p. 39). Para obter informações sobre como aumentar suas cotas de envio,
consulte Aumento de suas cotas de envio do Amazon SES (p. 41).
553
Amazon Simple Email Service Guia do desenvolvedor
Aumentar a taxa de transferência
Important
Se o texto de erro que explica o erro de limitação não estiver relacionado à sua cota diária ou
taxa máxima de envio, pode ter havido um problema no sistema que está causando a redução
da capacidade de envio. Para obter informações sobre o status do serviço, vá para o AWS
Service Health Dashboard.
• Não há destinatários especificados – nenhum destinatário foi fornecido.
• There are non-ASCII characters in the email address (Há caracteres não ASCII no endereço de e-
mail): a sequência de endereço de e-mail deve ser ASCII de 7 bits. Se você deseja enviar para ou de
endereços de e-mail que contêm caracteres Unicode na parte de domínio de um endereço, você deve
codificar o domínio usando Punycode. Punycode não é permitido na parte local do endereço de e-
mail (na parte antes de @) nem no nome "amigável de". Se você quiser usar caracteres Unicode no
nome "amigável de", deve codificá-lo usando a sintaxe de palavras codificadas por MIME, conforme
descrito em Enviar e-mail bruto usando a API do Amazon SES (p. 79). Para obter mais informações
sobre Punycode, consulte RFC 3492.
• Mail FROM domain is not verified (Domínio Mail FROM não está verificado): o Amazon SES não pôde
ler o registro MX necessário para usar o domínio MAIL FROM especificado. Para obter informações
sobre como configurar domínios MAIL FROM personalizados, consulte Uso de um domínio MAIL FROM
personalizado (p. 199).
• Configuration set does not exist (A configuração não existe): o conjunto de configurações que você
especificou não existe. Um conjunto de configurações é um parâmetro opcional que você usa para
publicar eventos de envio de e-mail. Para obter mais informações, consulte . Monitorar o envio de e-
mails usando a publicação de eventos do Amazon SES (p. 337).
Se você faz várias chamadas para o Amazon SES usando a API do Amazon SES ou a interface SMTP, as
seguintes dicas podem ajudar a melhorar sua taxa de transferência:
• Meça a performance atual para identificar gargalos: um teste de performance possível envolve o envio
de vários e-mails de teste o mais rápido possível dentro de ciclo de código em sua aplicação. Meça
a latência de ida e volta de cada solicitação SendEmail. Em seguida, de forma incremental execute
instâncias adicionais da aplicação na mesma máquina e observe se há impacto na latência da rede.
Você também pode executar esse teste em várias máquinas e em diferentes redes para ajudar a
identificar qualquer possível gargalo de recursos da máquina ou de rede que possa existir.
• (Apenas API) Considere o uso de conexões HTTP persistentes: em vez de incorrer na sobrecarga de
estabelecer uma nova conexão HTTP separada para cada solicitação de API, use conexões HTTP
persistentes. Isto é, reutilize a mesma conexão HTTP para várias solicitações de API.
• Considere o uso de vários threads: quando uma aplicação usa um único thread, o código da aplicação
chama a API do Amazon SES e, em seguida, aguarda de forma síncrona por uma resposta da API.
O envio de e-mails geralmente é uma operação com uso intensivo de E/S e fazer o trabalho de vários
threads proporciona uma taxa de transferência melhor. Você pode enviar simultaneamente usando o
número threads de execução que desejar.
• Considere o uso de vários processos: o uso de vários processos pode ajudar a aumentar a taxa de
transferência, pois você terá mais conexões ativas para o Amazon SES. Por exemplo, você pode
554
Amazon Simple Email Service Guia do desenvolvedor
Problemas de SMTP
segmentar seus e-mails pretendidos em vários buckets e, em seguida, executar várias instâncias do seu
script de envio de e-mails simultaneamente.
• Considere o uso de retransmissão de e-mail local: a aplicação pode transmitir mensagens rapidamente
para o seu servidor de e-mail local, o que pode ajudar a armazenar as mensagens em buffer e transmiti-
las de forma assíncrona ao Amazon SES. Alguns servidores de e-mail suportam simultaneidade de
entrega, o que significa que, mesmo se sua aplicação estiver gerando e-mails para o servidor de e-mail
em um thread único, o servidor usará vários threads ao enviá-los para o Amazon SES. Para obter mais
informações, consulte . Integração do Amazon SES com seu servidor de e-mail existente (p. 61).
• Considere hospedar a sua aplicação mais próximo do endpoint da API do Amazon SES: talvez seja
recomendável considerar a hospedagem de sua aplicação em um datacenter próximo do endpoint da
API do Amazon SES ou em uma instância do Amazon EC2 na mesma região da AWS que o endpoint da
API do seu Amazon SES. Isso pode ajudar a diminuir a latência da rede entre a aplicação e o Amazon
SES e melhorar a taxa de transferência. Para obter uma lista das regiões onde o Amazon SES está
disponível, consulte Amazon Simple Email Service (Amazon SES) na Referência geral da AWS.
• Considere o uso de várias máquinas: dependendo da configuração do sistema no seu computador host,
pode haver um limite para o número de conexões HTTP simultâneas com um único endereço IP, o que
pode limitar os benefícios do paralelismo quando você excede um determinado número de conexões
simultâneas em uma única máquina. Se isso for um gargalo, talvez seja útil considerar fazer solicitações
simultâneas do Amazon SES usando várias máquinas.
• Considere usar a API de consulta do Amazon SES em vez do endpoint SMTP: o uso da API de consulta
do Amazon SES permite que você envie a solicitação de envio de e-mail usando uma única chamada
de rede, enquanto a interface com o endpoint SMTP envolve uma conversa de SMTP, que consiste
em várias solicitações de rede (por exemplo, EHLO, MAIL FROM, RCPT TO, DATA, QUIT). Para obter
mais informações sobre a API do Amazon SES, consulte Uso da API do Amazon SES para enviar e-
mail (p. 78).
• Use o simulador de caixa postal do Amazon SES para testar sua taxa de transferência máxima:
para testar todas as alterações que implementar, você pode usar o simulador de caixa de correio. O
simulador de caixa de correio pode ajudar você a determinar a taxa de transferência máxima de seu
sistema sem acabar com sua cota de envio diária. Para obter informações sobre o simulador de caixa
postal, consulte Uso do simulador de caixa postal manualmente. (p. 266).
Se você estiver acessando o Amazon SES por sua interface SMTP, consulte Problemas de SMTP do
Amazon SES (p. 555) para saber os problemas relacionados ao SMTP específicos que podem afetar a
taxa de transferência.
Para saber mais sobre como enviar e-mails usando a interface SMTP do Amazon SES, consulte Uso da
interface SMTP do Amazon SES para enviar e-mail (p. 44).
Os problemas para se conectar ao endpoint SMTP do Amazon SES em geral estão relacionados às
seguintes questões:
• Credenciais incorretas – As credenciais que você usa para se conectar ao endpoint SMTP são
diferentes das credenciais da AWS. Para obter as credenciais SMTP, consulte Obtenção de
credenciais SMTP do Amazon SES (p. 46). Para obter mais informações sobre credenciais, consulte
Tipos de credenciais do Amazon SES (p. 9).
• Problemas de rede ou firewall: sua rede pode estar bloqueando as conexões de saída pela porta
pela qual você está tentando enviar e-mails. Para determinar se um problema em sua rede local está
555
Amazon Simple Email Service Guia do desenvolvedor
Problemas de SMTP
causando problemas de conexão, digite o seguinte comando na linha de comando, substituindo port
pela porta que você está tentando usar (normalmente, 465, 587, 2465 ou 2587): telnet email-
smtp.us-west-2.amazonaws.com port
Se você conseguir se conectar ao servidor SMTP usando esse comando e estiver tentando se
conectar ao Amazon SES usando TLS Wrapper ou STARTTLS, execute os procedimentos exibidos
em Teste de sua conexão com a interface SMTP do Amazon SES usando a linha de comando (p. 72).
Se você não conseguir se conectar ao endpoint SMTP do Amazon SES usando telnet ou openssl,
isso quer dizer que algo em sua rede (por exemplo, um firewall) está bloqueando as conexões
de saída pela porta que você está tentando usar. Trabalhe com o administrador de sua rede para
diagnosticar e corrigir o problema.
• Você está enviando para o Amazon SES em uma instância do Amazon EC2 usando a porta 25 e está
recebendo avisos de erros de tempo limite esgotado.
O Amazon EC2 restringe a porta 25 por padrão. Para remover essas restrições, envie uma solicitação de
remoção de limitações no envio de e-mail do Amazon EC2. Também é possível se conectar ao Amazon
SES pela porta 465 ou 587 e nenhuma das duas é restrita.
• Erros de rede estão provocando o descarte de e-mails.
Procure fazer com que sua aplicação use a lógica de novas tentativas ao se conectar com o endpoint
SMTP do Amazon SES e que possa detectar e fazer novas tentativas de entregar as mensagens em
caso de erros na rede. SMTP é um protocolo detalhado. Por isso, enviar e-mails por meio dele requer
várias round trips da rede. Em virtude da natureza do SMTP, a probabilidade de erros de rede é maior.
• Você perde a conexão com o endpoint SMTP.
Para obter mais informações sobre como definir o tamanho da MTU nos sistemas operacionais
Windows, Linux e macOS, consulte Consultas parecem permanecer no cliente e não chegar ao
cluster no Guia de gerenciamento de cluster do Amazon Redshift.
Para obter mais informações sobre a definção do tamanho da MTU para uma instância do Amazon
EC2, consulte Unidade de transmissão máxima (MTU) de rede para sua instância do EC2 no Guia do
usuário do Amazon EC2 para instâncias do Linux.
• Conexões de longa duração: o endpoint SMTP do Amazon SES é executado em uma frota de
instâncias do Amazon EC2 por trás de um balanceador de carga elástico (ELB). Para garantir
que o sistema esteja atualizado e tolerante a falhas, as instâncias do Amazon EC2 ativas são
periodicamente terminadas e substituídas por novas instâncias. Como a aplicação se conecta a
uma instância do Amazon EC2 por meio do ELB, a conexão se torna inválida quando a instância
do Amazon EC2 é terminada. Você deve estabelecer uma nova conexão SMTP depois de entregar
um número fixo de mensagens por meio de uma única conexão SMTP, ou se a conexão SMTP
permaneceu ativada por algum tempo. Você precisará tentar localizar os limites apropriados,
dependendo de onde a aplicação está hospedada e de como ela envia e-mails para o Amazon SES.
• Você deseja saber quais são os endereços IP dos servidores de e-mail SMTP do Amazon SES, para
poder incluir na lista de permissões os endereços IP da sua rede.
Os endereços IP dos endpoints SMTP do Amazon SES residem por trás dos balanceadores de carga.
Como resultado, esses endereços IP mudam frequentemente. Não é possível fornecer uma lista
definitiva de todos os endereços IP para os endpoints do Amazon SES. Recomentamos que você inclua
o domínio amazonses.com na lista de permissões em vez de incluir endereços IP individuais na lista de
permissões.
556
Amazon Simple Email Service Guia do desenvolvedor
Códigos de resposta SMTP
Você deve tentar novamente fazer as solicitações SMTP que recebem erros 400. Recomendamos que
você implemente um sistema que tentará executar solicitações com tempos de espera progressivamente
mais longas (por exemplo, aguarde 5 segundos antes de tentar novamente. Aguarde 10 segundos e,
depois, aguarde 30 segundos). Se a terceira nova tentativa não for bem-sucedida, aguarde 20 minutos
e, em seguida, repita o processo. Para ver um exemplo de uma implementação que usa uma política
de novas tentativas exponenciais, consulte Como lidar com o erro “Throttling - Maximum sending rate
exceeded” (Controle de utilização: taxa máxima de envio excedida) no blog AWS Messaging and
Targeting (Sistema de mensagens e segmentação da AWS).
Note
Os AWS SDKs implementam a lógica de nova tentativa automaticamente, embora eles usem a
interface HTTPS em vez de SMTP.
Se receber um erro 500, você precisará revisar a solicitação para corrigir um problema antes de enviar
a solicitação novamente. Por exemplo, se as credenciais de autenticação da AWS forem inválidas,
você deverá atualizar seu aplicativo para usar as credenciais corretas antes de enviar sua solicitação
novamente.
Serviço indisponível 421 Too many concurrent O Amazon SES não pode
SMTP connections processar a solicitação porque há
atualmente muitas conexões com o
servidor SMTP.
Erro de processamento local 451 Temporary service O Amazon SES não pôde
failure processar a solicitação. Pode haver
problemas com a solicitação que
impedem que ele seja processada.
Tempo limite 451 Timeout waiting for Muito tempo decorrido entre
data from client as solicitações, de modo que
o servidor SMTP encerrou a
conexão.
Cota de envio diário 454 Throttling failure: Você excedeu o número máximo
excedida Daily message quota de e-mails que o Amazon SES
exceeded permite enviar em um período de
24 horas. Para mais informações,
consulte Gerenciamento de limites
do envio do Amazon SES (p. 39).
557
Amazon Simple Email Service Guia do desenvolvedor
Códigos de resposta SMTP
Taxa máxima de envio 454 Throttling failure: Você excedeu o número máximo
excedida Maximum sending rate de e-mails que o Amazon SES
exceeded permite enviar por segundo.
Para mais informações, consulte
Gerenciamento de limites do envio
do Amazon SES (p. 39).
Problema do Amazon SES 454 Temporary Questões que podem causar esse
ao validar credenciais SMTP authentication failure problema incluem (mas não estão
limitadas a):
• Há um problema com a
criptografia entre a sua aplicação
de envio de e-mails e o Amazon
SES. Observe que é necessário
usar uma conexão criptografada
ao se conectar com o Amazon
SES. Para mais informações,
consulte Conexão com um
endpoint SMTP do Amazon
SES (p. 50).
• Pode estar ocorrendo um
problema com o Amazon
SES. Confira se existem
atualizações no AWS Service
Health Dashboard.
A conta não foi inscrita no 535 Account not subscribed A Conta da AWS que possui
Amazon SES to SES as credenciais SMTP não está
registrada no Amazon SES.
A mensagem é muito longa 552 Message is too long. A mensagem que você está
tentando enviar tem mais de 10 MB
de tamanho.
558
Amazon Simple Email Service Guia do desenvolvedor
Códigos de resposta SMTP
A conta não foi inscrita no 535 Account not subscribed A Conta da AWS que possui
Amazon SES to SES as credenciais SMTP não está
registrada no Amazon SES.
O usuário não está 554 Access denied: A política do AWS Identity and
autorizado a chamar o User UserARN is not Access Management (IAM) ou a
endpoint SMTP do Amazon authorized to perform política de autorização de envio
SES ses:SendRawEmail on do Amazon SES do usuário que
resource IdentityARN possui as credenciais SMTP não
autoriza chamar o endpoint SMTP
do Amazon SES.
559
Amazon Simple Email Service Guia do desenvolvedor
Códigos de resposta SMTP
Endereço de e-mail não 554 Message rejected: Você está tentando enviar e-mails
verificado Email address is not de um endereço de e-mail ou
verified. The following domínio que não está verificado
identities failed the para enviar e-mails de sua conta
check in region region: do Amazon SES (p. 158). Esse
identity0, identity1, erro pode se aplicar aos endereços
identity2 "From" (De), "Source" (Origem),
"Sender" (Remetente) ou "Return-
Path" (Caminho de retorno). Se
a sua conta ainda estiver na
sandbox, você também terá que
verificar o endereço de e-mail
de cada destinatário (exceto os
destinatários fornecidos pelo
simulador de caixa postal do
Amazon SES (p. 266)). Se o
Amazon SES não conseguir
mostrar todas as identidades que
tiveram falha na verificação, a
mensagem de erro terminará com
três pontos (...).
Note
560
Amazon Simple Email Service Guia do desenvolvedor
Perguntas frequentes sobre o processo de análise de envios
Em muitos casos, quando detectamos um problema com uma conta, colocamos essa conta sob
análise (p. 561). Em outros casos, pausamos a capacidade da conta enviar e-mails (p. 564). Tomamos
essas medidas para proteger a reputação do remetente de cada conta e para impedir que outros usuários
do Amazon SES tenham problemas de interrupções do serviço e de capacidade de entrega.
Índice
• Perguntas frequentes sobre contas sob análise (p. 561)
• Perguntas frequentes sobre a pausa de envio (p. 564)
• Perguntas frequentes sobre devolução (p. 566)
• Perguntas frequentes sobre reclamações (p. 569)
• Perguntas frequentes sobre spamtrap (p. 573)
• Perguntas frequentes sobre investigação manual (p. 575)
561
Amazon Simple Email Service Guia do desenvolvedor
Contas sob análise
Nós recomendamos que você monitore sua reputação de remetente consultando regularmente as suas
métricas de reputação (p. 425). Você também pode configurar alarmes automatizados no Amazon
CloudWatch (p. 441). Esses alarmes podem enviar uma notificação quando as métricas de reputação
excedem determinados limites. Também é possível configurar o Amazon CloudWatch para entrar em
contato com você de outras maneiras, por exemplo, enviando uma mensagem de texto para seu celular.
• Se a sua situação permitir, interrompa o envio de e-mails até corrigir o problema. Você ainda pode enviar
e-mails enquanto sua conta estiver sob análise. No entanto, se você continuar a enviar e-mails sem
fazer alterações, é possível que o problema piore inadvertidamente.
• Examine o e-mail que você recebeu de nós para ver um resumo do problema.
• Investigue o envio para determinar quais aspectos do seu envio acionaram especificamente o problema.
• Após fazer alterações que acredita resolverem o problema, faça login no Console da AWS e acesse a
Central de Suporte. Responda ao caso que abrimos em seu nome. Na mensagem, forneça informações
detalhadas sobre as etapas que tiver feito para resolver o problema e descreva como essas etapas
evitam que o problema ocorra novamente no futuro.
• Forneça as informações que solicitarmos especificamente. Precisamos dessas informações para avaliar
seu caso.
• As informações sobre a causa raiz do evento que fez com que sua conta fosse colocada sob análise.
562
Amazon Simple Email Service Guia do desenvolvedor
Contas sob análise
• Uma lista das alterações que foram feitas para corrigir o problema. Somente incluir as etapas que você
já tiver implementado, e não as etapas que você pretende implementar no futuro.
• Informações sobre como essas alterações impedem que o mesmo problema ocorra novamente no
futuro.
Dependendo da natureza do evento que nos levou a colocar sua conta sob análise, nós podemos exigir
informações adicionais. Consulte o tópico de perguntas frequentes associado ao problema que você teve
para obter uma lista das informações que devem ser incluídas na solicitação.
P9. Como posso saber se a minha conta não está mais sob
análise?
As métricas de reputação incluem informações sobre o status atual da sua conta. Para mais informações,
consulte Uso de métricas de reputação para acompanhar as taxas de devolução e reclamação (p. 425).
Em ambas as situações, enviaremos automaticamente uma notificação quando a capacidade de sua conta
enviar e-mails for pausada.
563
Amazon Simple Email Service Guia do desenvolvedor
Pausas de envio
• Sua conta já foi colocada sob análise anteriormente. Os problemas que nos fizeram colocar sua conta
sob análise não forem corrigidos antes do final do período de análise, por isso pausamos a capacidade
de sua conta enviar e-mails.
• Colocamos sua conta sob análise várias vezes pelo mesmo problema.
• Sua conta enviou um e-mail que violou os Termos de serviço da AWS. Se essas violações forem sérias,
poderemos pausar a capacidade de sua conta enviar e-mails sem antes colocar sua conta sob análise.
Quando você cria uma conta da AWS, deve fornecer um endereço de e-mail. É possível alterar
esse endereço a qualquer momento. Para obter mais informações sobre como alterar o endereço
de e-mail correspondente à conta da AWS, consulte Gerenciamento de uma conta da AWS no
Guia do usuário do AWS Billing and Cost Management.
Você pode usar o Amazon CloudWatch para criar alarmes que informam quando suas taxas de devoluções
e reclamaçôes estão muito altas. É aconselhável criar um alarme para receber um aviso antecipado dos
fatores que podem impedir que sua conta envie e-mails. No entanto, existem outros fatores de devolução
e reclamação que podem nos levar a impedir que você envie e-mails. Para obter mais informações sobre
como criar alarmes do CloudWatch, consulte Criação de alarmes de monitoramento de reputação com o
CloudWatch (p. 441).
Você pode usar também o Account dashboard (p. 331) (Painel da conta) para determinar o status atual de
sua conta. Por exemplo, se no momento sua conta estiver impedida de enviar e-mails, a seção Account
status (Status da conta) do painel da conta exibirá o status Paused (Pausada). Se sua conta estiver
enviando e-mails normalmente, exibirá o status Healthy (Íntegra).
564
Amazon Simple Email Service Guia do desenvolvedor
Pausas de envio
Por fim, você pode conferir o AWS Health Dashboard (PHD) em https://phd.aws.amazon.com/ para
determinar se a capacidade de sua conta enviar e-mails está pausada no momento. Quando pausamos
a capacidade de sua conta enviar e-mails, adicionamos automaticamente um evento de SES sending
paused (Envio do SES pausado) à seção Event log (Log de eventos) do PHD. O evento de SES sending
paused (Envio do SES pausado) sempre tem o status Closed (Fechado), independentemente de a
capacidade de sua conta enviar e-mails estar pausada no momento. O log de eventos também inclui uma
cópia do e-mail que enviamos no endereço de e-mail correspondente à conta da AWS quando ocorre um
evento de pausa de envio.
Você pode usar o CloudWatch para criar um alarme para alertá-lo quando novos eventos forem exibidos
em seu Personal Health Dashboard. Para obter mais informações, consulte Monitoramento de eventos de
AWS Health com o CloudWatch Events no Guia do usuário do AWS Health.
• Examine o e-mail que você recebeu de nós para ver um resumo do problema.
• Investigue o envio para determinar quais aspectos do seu envio acionaram especificamente o problema.
• Após fazer alterações que acredita resolverem o problema, faça login no Console da AWS e acesse a
Central de Suporte. Responda ao caso que abrimos em seu nome. Na mensagem, forneça informações
detalhadas sobre as etapas que tiver feito para resolver o problema e descreva como essas etapas
evitam que o problema ocorra novamente no futuro.
• Forneça as informações que solicitarmos especificamente. Precisamos dessas informações para avaliar
seu caso.
565
Amazon Simple Email Service Guia do desenvolvedor
Devoluções
Dependendo da natureza do evento que nos levou a pausar a capacidade da sua conta enviar e-mails,
poderemos exigir informações adicionais. Consulte o tópico de perguntas frequentes associado ao
problema que você teve para obter uma lista das informações que devem ser incluídas na solicitação.
566
Amazon Simple Email Service Guia do desenvolvedor
Devoluções
Se a taxa de devoluções for de 5% ou superior, colocaremos sua conta sob análise. Se a taxa de
devoluções for 10% ou superior, poderemos pausar a capacidade da sua conta enviar e-mails adicionais
até que você resolva o problema que resultou na alta taxa de devoluções.
567
Amazon Simple Email Service Guia do desenvolvedor
Devoluções
• Não compre, não alugue nem compartilhe endereços de e-mail. Envie e-mails somente aos destinatários
que solicitaram explicitamente receber seus e-mails.
• Remova os endereços de e-mail devolvidos da sua lista.
• Em formulários da Web, solicite que os usuários insiram os endereços de e-mail duas vezes e verifique
se os endereços são iguais antes de enviar o formulário.
• Use a inclusão dupla para cadastrar novos usuários. Ou seja, quando um novo usuário se cadastrar,
envie a ele um e-mail de confirmação no qual ele precisará clicar antes de receber e-mails adicionais.
Isso impede que as pessoas cadastrem outras pessoas, bem como cadastramentos acidentais.
• Se você precisar enviar para endereços que não tem enviado ultimamente (e, portanto, não for possível
ter certeza de que os endereços ainda são válidos), faça isso com apenas uma pequena parte do
seu envio geral. Para obter mais informações, consulte nossa postagem de blog Nunca envie para
endereços antigos – mas e se você precisar?
• Certifique-se de que você não está estruturando o cadastramento de forma a incentivar as pessoas
a usarem endereços fictícios. Por exemplo, não agregue valor nem forneça benefícios até que os
destinatários verifiquem seus endereços.
• Se você tiver um recurso de "enviar para um amigo", use o CAPTCHA ou um mecanismo semelhante
para desencorajar o uso automatizado do recurso e não permita que o usuário insira nenhum conteúdo
arbitrário.
• Se você estiver usando o Amazon SES para notificações do sistema, certifique-se de que está enviando
as notificações para endereços reais que podem receber e-mails. Além disso, considere desligar as
notificações de que você não precisar.
• Se você estiver testando um novo sistema, verifique se está enviando para endereços reais que podem
receber e-mails ou se você está usando o simulador de caixa postal do Amazon SES. Para mais
informações, consulte Uso do simulador de caixa postal manualmente. (p. 266).
568
Amazon Simple Email Service Guia do desenvolvedor
Reclamações
• Não compre, não alugue nem compartilhe endereços de e-mail. Use apenas os endereços que
especificamente solicitaram sua mensagem.
• Use a inclusão dupla para cadastrar novos usuários. Ou seja, quando os usuários se cadastrarem, envie
a eles um e-mail de confirmação no qual eles precisam clicar antes de receberem e-mails adicionais.
Isso impede que as pessoas cadastrem outras pessoas, bem como cadastramentos acidentais.
• Monitore o engajamento com os e-mails que você envia e interrompa o envio para destinatários que não
abrirem nem clicarem nas suas mensagens.
• Quando novos usuários se cadastrarem, seja claro quanto ao tipo de e-mail que eles receberão de você
e garanta o envio apenas o tipo de e-mail no qual eles se registraram. Por exemplo, se os usuários se
cadastrarem em notícias, não envie anúncios.
• Sua mensagem deve estar bem formatada e ter um aspecto profissional.
• O e-mail deve ser claramente seu e não pode ser confundido com alguma outra coisa.
• Forneça aos usuários uma maneira fácil e óbvia para cancelar a assinatura do seu e-mail.
569
Amazon Simple Email Service Guia do desenvolvedor
Reclamações
P4. O que devo fazer se receber uma notificação de reclamação por e-mail ou
pelo Amazon SNS?
Primeiro, você precisa remover os endereços que geraram reclamações da sua lista de e-mails e
interromper o envio de e-mail a eles imediatamente. Não envie um e-mail que diz que você recebeu a
solicitação para cancelar a assinatura. Considere a possibilidade de configurar a automação para esse
processo, seja por meio de processamento programático da caixa postal onde você recebe reclamações
ou por meio da criação de notificações pelo Amazon SNS. Para mais informações, consulte Configuração
de notificação de evento para o Amazon SES (p. 210).
Em seguida, verifique atentamente o envio para determinar por que os destinatários não apreciam o
e-mail que você está enviando e resolva o problema subjacente. Para cada pessoa que reclama, há
potencialmente dezenas que não gostam do seu e-mail e que não reclamaram (ou que não conseguiram
reclamar). Se você só remover os destinatários que de fato reclamam, não estará resolvendo o problema
fundamental.
P5. Vocês revelam as taxas de reclamações do Amazon SES que podem fazer
com que a minha conta seja colocada sob revisão ou que podem resultar na
interrupção da capacidade da minha conta enviar e-mails?
Para obter os melhores resultados, você deve manter uma taxa de reclamação abaixo de 0,1%. Taxas de
reclamação mais altas podem afetar a entrega de seus e-mails.
Se a taxa de reclamações for de 0,1% ou superior, colocaremos sua conta sob análise. Se a taxa de
reclamações for 0,5% ou superior, poderemos pausar a capacidade da sua conta enviar e-mails adicionais
até que você resolva o problema que resultou na alta taxa de reclamações.
570
Amazon Simple Email Service Guia do desenvolvedor
Reclamações
571
Amazon Simple Email Service Guia do desenvolvedor
Reclamações
P3. Por que não fiquei sabendo dessas reclamações por notificações de feedback
por e-mail ou pelo Amazon SNS?
O encaminhamento de feedback de e-mails e as notificações do Amazon SNS só incluem as reclamações
que o Amazon SES recebe por encaminhamento de feedback. Você não recebe otificações de
reclamações que os destinatários fizem diretamente ao Amazon SES.
Em vez de se concentrar em remover destinatários individuais da sua lista, recomendamos que você
determine qual foi o problema que provocou as reclamações que estão sendo enviadas. Recomendamos
que você comece revisando seu processo de aquisição de clientes e que remova os clientes de sua lista
que não solicitaram explicitamente para receber seus e-mails. Você também deve analisar o conteúdo dos
seus e-mails para tentar entender por que os destinatários estão reclamando.
P6. O que devo fazer se receber uma notificação informando que a minha conta
está sob análise ou que o envio está pausado devido a reclamações diretas?
Mude o seu processo de envio imediatamente, de forma que você só envie mensagens aos destinatários
que se cadastraram para recebê-las. Além disso, certifique-se de que você está enviando o tipo de
conteúdo que seus destinatários se cadastraram para receber. Após fazer alterações que acredita
resolverem o problema, faça login no Console da AWS e acesse a Central de Suporte. Responda ao caso
que abrimos em seu nome. Na mensagem, forneça informações detalhadas sobre as etapas que tiver feito
para resolver o problema e descreva como essas etapas evitam que o problema ocorra novamente no
futuro.
Se você não solicitar uma revisão dentro de três semanas e nós continuarmos a receber reclamações de
destinatário direto, poderemos pausar a capacidade da sua conta enviar e-mails.
572
Amazon Simple Email Service Guia do desenvolvedor
Spamtraps
P3. Por que não fiquei sabendo dessas reclamações por notificações de feedback
por e-mail ou pelo Amazon SNS?
O encaminhamento de feedback de e-mails e as notificações do Amazon SNS só incluem as reclamações
que o Amazon SES recebe por encaminhamento de feedback.
P6. O que devo fazer se receber uma notificação informando que a minha
conta está sob análise ou que o envio está pausado devido a reclamações de
provedores de e-mail?
Identifique a causa do problema e, em seguida, corrija-o. Após fazer alterações que acredita resolverem o
problema, faça login no Console da AWS e acesse a Central de Suporte. Responda ao caso que abrimos
em seu nome. Na mensagem, forneça informações detalhadas sobre as etapas que tiver feito para
resolver o problema e descreva como essas etapas evitam que o problema ocorra novamente no futuro.
Se você não solicitar uma revisão dentro de três semanas e nós continuarmos a receber reclamações de
provedores, poderemos pausar a capacidade da sua conta enviar e-mails adicionais.
573
Amazon Simple Email Service Guia do desenvolvedor
Spamtraps
Podem ser endereços configurados somente para serem spamtraps. Eles podem ser endereços incomuns,
difíceis de adivinhar e, às vezes, são endereços próximos de endereços reais (por exemplo, inserindo
um erro ortográfico em um nome de domínio comum). Muitas vezes, mas não sempre, spamtraps são
"implantados" no mundo, colocando-os na Internet em uma variedade de formas.
Devido à forma como os acessos de spamtraps são relatados, pode levar até três semanas ou mais antes
que possamos determinar se as alterações feitas resolveram o problema.
574
Amazon Simple Email Service Guia do desenvolvedor
Investigações manuais
• Não compre, não alugue nem compartilhe endereços de e-mail. Use apenas os endereços que
especificamente solicitaram sua mensagem.
• Em formulários da Web, solicite que os usuários insiram os endereços de e-mail duas vezes e verifique
se os endereços são iguais antes de enviar o formulário.
• Use a inclusão dupla para cadastrar novos usuários. Ou seja, quando os usuários se cadastrarem, envie
a eles um e-mail de confirmação no qual eles precisam clicar antes de receberem e-mails adicionais.
• Você deve remover os endereços que tiverem devolução definitiva da sua lista, para que eles sejam
removidos antes de serem convertidos em spamtraps.
• Verifique se você está monitorando o engajamento dos seus destinatários e interrompa o envio para
destinatários que não se engajaram com seus e-mails ou seu site recentemente. Os cronogramas para
o que é "usuário engajado" dependem do seu caso de uso, mas em termos gerais se os usuários não
abriram nem clicaram nos seus e-mails em vários meses, você deve considerar removê-los, a menos
que tenha evidências que eles desejam seu e-mail.
• Tenha muito cuidado com campanhas de reengajamento nas quais você intencionalmente entra em
contato com pessoas que não interagiram com você recentemente. Esses esforços tendem a ser
altamente arriscados e muitas vezes podem causar problemas não apenas com envio de spamtraps,
mas também com devoluções e reclamações.
• Envie uma mensagem de inclusão para toda sua lista de correspondência e mantenha somente os
destinatários que clicaram no link de verificação. Além de remover os destinatários inativos da sua lista,
esse procedimento também ajuda a remover endereços de spamtrap. No entanto, não recomendamos
usar essa técnica se você achar que sua lista de correspondência pode conter uma grande quantidade
de endereços inválidos ou se a sua conta já tiver um problema com devoluções, pois pode fazer com
que a taxa de devoluções da sua conta aumente ainda mais.
Se acreditamos que o problema possa ser corrigido, colocaremos sua conta sob análise durante um
determinado período. Enquanto sua conta estiver sob análise, faça alterações em suas práticas de envio
de e-mails para corrigir o problema.
Se não acreditarmos que o problema possa ser corrigido ou se o problema for muito grave, poderemos
pausar a capacidade da sua conta enviar e-mails sem antes colocar a conta sob análise.
P2. Quais problemas podem fazer com que vocês executem uma
análise manual do meu envio de e-mails?
Existem diversos problemas que podem nos levar a iniciar uma análise manual da sua conta. Este motivos
incluem, mas não se limitam a, o seguinte:
575
Amazon Simple Email Service Guia do desenvolvedor
Investigações manuais
• Destinatários entram em contato com o Amazon SES para reclamar sobre e-mails enviados da sua
conta.
• Nós detectamos alterações incomuns nos seus padrões de envio de e-mails.
• Nosso filtros de spam encontram características dos seus e-mails que são típicas de conteúdo não
solicitado ou de baixa qualidade.
Ao colocar sua conta sob análise ou pausar a capacidade da sua conta enviar e-mails, enviaremos uma
notificação. Na maioria dos casos, essa notificação contém informações sobre o problema e fornece
informações sobre as próximas etapas que você pode realizar.
Ao colocar sua conta sob análise ou pausar a capacidade da sua conta enviar e-mails, enviaremos uma
notificação. Se você receber uma notificação informando que estamos tomando uma destas medidas
devido a um problema com e-mails não solicitados, faça login no Console da AWS e acesse a Central de
Suporte. Responda ao caso que abrimos em seu nome. Na mensagem, inclua as seguintes informações:
• Todas as mensagens que você envia foram especificamente solicitadas pelo destinatário? E elas estão
em conformidade com a Política de uso aceitável da AWS?
• Você adquiriu endereços de e-mail de alguma forma que não seja um cliente interagir especificamente
com você ou com seu site e solicitando os e-mails? Você deve explicar como adquiriu sua lista de
correspondência.
• Como funcionam seus processos de inscrição e cancelamento de inscrição? Você deve incluir links de
inclusão e exclusão.
576
Amazon Simple Email Service Guia do desenvolvedor
Perguntas frequentes sobre a lista
de buracos negros de DNS (DNSBL)
Diferentes DNSBLs têm impactos diferentes sobre a capacidade de entrega de e-mails. Este tópico
descreve como as DNSBLs afetam a entrega de e-mails enviados com o Amazon SES, bem como nossas
políticas para remover os endereços IP do Amazon SES de DNSBLs.
Note
Este tópico trata das DNSBLs usadas pelos provedores de e-mail para bloquear mensagens
recebidas. Para obter informações sobre como o Amazon SES bloqueia mensagens enviadas
para destinatários cujos endereços de e-mail geraram devoluções antes, consulte Lista de
supressão global do Amazon SES (p. 299).
Concluindo, muitos provedores de e-mail têm suas próprias listas de negação internas. Eles preservam
essas listas de uma maneira bastante rigorosa e raramente as compartilham com o público. Se um
endereço IP estiver em uma dessas listas, pode ter grande impacto sobre a capacidade de enviar e-mails
para destinatários que usam esse provedor.
577
Amazon Simple Email Service Guia do desenvolvedor
P4 das Perguntas Frequentes sobre DNSBL
Nós não monitoramos DNSBLs que dificilmente afetarão a entrega em todo o serviço do Amazon SES ou
que não têm um impacto mensurável sobre a entrega para os principais provedores de e-mail. As DNSBLs
oferecidas pela SORBS e UCEPROTECT se enquadram nesta categoria. Devido às práticas específicas
de listagem e exclusão de listas dos fornecedores que operam essas listas, não podemos remover nossos
endereços IP dessas listas.
554 5.7.1 Service unavailable; Client host [192.0.2.0] blocked using DNSBLName;
See: http://www.example.com/query/ip/192.0.2.0
Se você recebeu uma notificação de devolução que não continha informações semelhantes às da
mensagem mostrada no exemplo anterior, é provável que o provedor de e-mail tenha rejeitado sua
mensagem por um motivo não relacionado adição dele a uma DNSBL.
Se você puder confirmar que um provedor de e-mail está bloqueando seu e-mail porque o endereço IP de
envio está listado em uma DNSBL, existem algumas coisas que você pode fazer:
• Entre em contato com o postmaster do domínio que rejeitou a mensagem para solicitar uma exceção
na política de filtragem de spam. Alguns postmasters têm processos de suporte e podem publicar uma
página de postmaster que descreve esse processo. Se o domínio com o qual estiver tentando entrar
em contato não publicar suas políticas de suporte de postmaster, você poderá entrar em contato com o
postmaster enviando um e-mail para [email protected], onde example.com é o domínio em
questão. A RFC 5321 exige que os domínios tenham uma caixa de e-mails de postmaster.
Quando você entrar em contato com o postmaster, forneça os códigos de devolução recebidos,
os cabeçalhos do e-mail que está tentando enviar, uma medida do impacto da DNSBL sobre a
entrega do e-mail e informações sobre o motivo pelo qual acredita que o e-mail está sendo bloqueado
indevidamente. Quanto mais informações puder fornecer ao postmaster para demonstrar que está
enviando um e-mail legítimo, maior será a probabilidade do postmaster abrir uma exceção para você.
• Se o provedor de e-mail não responder ou não estiver disposto a alterar suas políticas, considere usar
um endereço IP dedicado (p. 288). Endereços IP dedicados são endereços que somente você pode
usar. Ao implementar boas práticas de envio, você pode manter um alto grau de envolvimento e taxas
baixas de devolução, reclamação e acesso de spamtrap. As práticas recomendadas de envio podem
ajudar a garantir que seus endereços não acabem em DNSBLs.
578
Amazon Simple Email Service Guia do desenvolvedor
P6 das Perguntas Frequentes sobre DNSBL
Quando os principais provedores de e-mail aceitam um e-mail (em vez de rejeitar), eles geralmente
consideram o envolvimento do usuário ao determinar se devem colocar a mensagem na caixa de entrada
ou na pasta de spam. O envolvimento do usuário se refere às formas como os usuários interagem com as
mensagens enviadas por você anteriormente.
Para aumentar a probabilidade de que suas mensagens cheguem à caixa de entrada de seus clientes,
você deve implementar todas práticas recomendadas a seguir:
• Nunca alugue ou empreste listas de endereços de e-mail. Alugar ou comprar listas é uma violação da
Política de uso aceitável da (AUP) da AWS e essas práticas não são permitidas no Amazon SES em
nenhuma circunstância.
• Envie e-mails somente aos clientes que solicitaram explicitamente para receber seus e-mails. Em muitos
países e jurisdições ao redor do mundo, é ilegal enviar e-mails para destinatários que não concordaram
explicitamente em receber seus e-mails.
• Pare de enviar e-mail aos clientes que não abriram nem clicaram nos links presentes nas mensagens
que você enviou nos últimos 30-90 dias. Esta etapa pode ajudar você a manter as taxas de envolvimento
altas, o que aumenta as chances de que as mensagens enviadas por você cheguem às caixas de
entrada dos destinatários no futuro.
• Use elementos de layout e estilos de redação consistentes em todas as mensagens que enviar para que
os clientes identifiquem facilmente as mensagens enviadas por você.
• Use mecanismos de autenticação de e-mail, como SPF (p. 209) e DKIM (p. 183).
• Quando os clientes usarem um formulário da web para assinar seu conteúdo, envie a eles um e-mail
para confirmar se de fato desejam receber seus e-mails. Não lhes envie e-mails adicionais enquanto não
confirmarem se desejam mesmo receber e-mail. Esse processo é conhecido como inclusão confirmada
ou inclusão dupla.
• Facilite para que seus clientes cancelem a assinatura e honre as solicitações de cancelamento
imediatamente.
• Se enviar um e-mail que contém links, compare os links com a lista de bloqueio de domínio (DBL) da
Spamhaus. Para testar seus links, use a Domain Lookup Tool no site da Spamhaus.
Ao implementar essas práticas, você pode melhorar a reputação do remetente, o que aumenta a
probabilidade de que o e-mail enviado chegue às caixas de entrada dos destinatários. A implementação
dessas práticas também ajuda a manter as taxas de devolução e reclamação baixas para sua conta e a
reduzir o risco de envio de e-mails para spamtraps.
579
Amazon Simple Email Service Guia do desenvolvedor
Perguntas frequentes sobre métricas de e-mail
Esta seção contém perguntas frequentes sobre os tópicos a seguir relacionados a métricas de envio de e-
mail:
• Perguntas gerais (p. 580)
• Rastreamento de abertura (p. 581)
• Rastreamento de cliques (p. 582)
Note
• O destinatário do e-mail está usando um provedor de serviços de e-mail (ESP) que protege sua
privacidade.
• O destinatário do e-mail explicitamente não dá permissão ESP para compartilhar seus dados.
• O ESP do destinatário do e-mail armazena em cache imagens ou links; o SES só pode contar a
abertura inicial, mas não poderá contar aberturas subsequentes.
Perguntas gerais
P1. Após um e-mail ser entregue, por quanto tempo o Amazon
SES continua a coletar métricas de aberturas e cliques?
O Amazon SES coleta métricas de aberturas e cliques por 60 dias após cada e-mail ser enviado.
580
Amazon Simple Email Service Guia do desenvolvedor
Rastreamento de abertura
O comando exibido acima recupera o número total de eventos de clique para cada dia em 2017. Para
recuperar métricas de abertura, altere o valor do parâmetro metric-name para Open. Você também pode
modificar os parâmetros start-time e end-time para alterar o período de análise, ou o parâmetro
period para uma análise mais refinada.
Rastreamento de abertura
P1. Como funciona o rastreamento de abertura?
Uma imagem GIF transparente, de um pixel por um, é inserida em cada e-mail enviado por meio do
Amazon SES e inclui uma referência exclusiva para esse arquivo de imagem. Quando a imagem é
baixada, o SES consegue dizer exatamente qual mensagem foi aberta e por quem.
Por padrão, esse pixel é inserido na parte inferior do e-mail; no entanto, algumas aplicações de provedores
de e-mail truncam a visualização de um e-mail quando ele excede determinado tamanho e podem fornecer
um link para a exibição do restante da mensagem. Nesse cenário, a imagem de rastreamento de pixels
do SES não será carregada e descartará as taxas de abertura que você está tentando rastrear. Para
contornar isso, você pode, opcionalmente, colocar o pixel no início do e-mail, ou em qualquer outro lugar,
inserindo o espaço reservado {{ses:openTracker}} no corpo do e-mail. Depois que o SES receber a
mensagem com o espaço reservado, ele será substituído pela imagem de pixel de rastreamento aberta.
Basta adicionar um espaço reservado, pois somente a primeira ocorrência será substituída e todas as
restantes serão omitidas.
Para obter detalhes sobre como habilitar o rastreamento aberto por meio do destino de eventos de um
conjunto de configurações, consulte the section called “Criar destinos de eventos” (p. 277). Você pode usar
o espaço reservado em pixels no e-mail SMTP (p. 44) de algumas maneiras, como um e-mail formatado,
bruto e modelado (p. 78).
Saiba mais sobre como Monitorar o envio de e-mails usando a publicação de eventos do (p. 337).
581
Amazon Simple Email Service Guia do desenvolvedor
Rastreamento de cliques
Rastreamento de cliques
P1. Como funciona o rastreamento de cliques?
Para rastrear cliques, o Amazon SES modifica cada link no corpo do e-mail. Quando os destinatários
clicarem em um link, eles são enviados a um servidor do Amazon SES e imediatamente encaminhados
para o endereço de destino. Assim como ocorre com o rastreamento de abertura, cada link do
redirecionamento é exclusivo. Isso permite que o Amazon SES determine qual destinatário clicou no link,
quando o fez e o e-mail a partir do qual ele chegou ao link.
Important
Se você enviar uma única mensagem para vários destinatários, cada destinatário salvará
o mesmo link de rastreamento de clique. Para monitorar a atividade dos cliques de cada
destinatário, envie e-mails para um destinatário por operação de envio.
Para desabilitar o rastreamento de cliques para esse link, modifique-o para ficar semelhante ao seguinte:
Como ses:no-track não é um atributo HTML padrão, o Amazon SES automaticamente o remove da
versão do e-mail que chega nas caixas de entrada dos seus destinatários.
Você também poderá desabilitar o rastreamento de cliques para todas as mensagens que enviar usando
um conjunto de configurações específico. Para desabilitar o rastreamento de cliques, modifique o destino
de eventos do conjunto de configurações para que ele não capture eventos de clique.
Para obter detalhes sobre como habilitar e desabilitar o rastreamento de cliques por meio do destino de
eventos de um conjunto de configurações, consulte the section called “Criar destinos de eventos” (p. 277).
Saiba mais sobre como Monitorar o envio de e-mails usando a publicação de eventos do (p. 337).
582
Amazon Simple Email Service Guia do desenvolvedor
Rastreamento de cliques
Por exemplo, vamos supor que você deseje adicionar as tags product:book, genre:fiction,
subgenre:scifi, type:newrelease a um link. O link resultante se parecerá com o seguinte:
<a ses:tags="product:book;genre:fiction;subgenre:scifi;type:newrelease;"
href="http://www.amazon.com/…/">New Releases in Science Fiction</a>
Essas tags são passadas para seu destino de publicação de eventos, para que você possa executar
análises adicionais nos links específicos que seus usuários clicaram.
Note
Tags de link podem incluir números de 0-9, as letras A-Z (letras maiúsculas e minúsculas), hífens
(-) e sublinhados (_).
Por exemplo, se seu e-mail incluir um link para https://www.amazon.com, o link será substituído
por um link de rastreamento que usa o protocolo HTTPS. Se seu e-mail incluir um link para http://
www.example.com, o link será substituído por um link de rastreamento que usa HTTP. Se seu e-mail
incluir os dois links mencionados anteriormente, o link HTTPS será substituído por um link de rastreamento
que usa o protocolo HTTPS, e o link HTTP é substituído por um link de rastreamento que usa o protocolo
HTTP.
583
Amazon Simple Email Service Guia do desenvolvedor
New console (p. 584) Versão inicial do novo console do 28 de fevereiro de 2021
Amazon SES
584