Ses DG

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 591

Amazon Simple Email Service

Guia do desenvolvedor
Amazon Simple Email Service Guia do desenvolvedor

Amazon Simple Email Service: Guia do desenvolvedor


Copyright © 2022 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

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

Usar a interface SMTP .............................................................................................................. 44


Requisitos para enviar e-mail por SMTP .............................................................................. 44
Métodos para enviar e-mail por SMTP ................................................................................. 45
Informações de e-mail a serem fornecidas ............................................................................ 45
Obter as credenciais SMTP ................................................................................................ 46
Conectar-se a um endpoint SMTP do .................................................................................. 50
Uso de pacotes de software para enviar e-mails .................................................................... 50
Envio de e-mails de modo programático ............................................................................... 52
Integrar o ao seu servidor de e-mail existente ....................................................................... 61
Como testar sua conexão com a interface SMTP do Amazon SES ........................................... 72
Uso da API .............................................................................................................................. 78
Enviar e-mail formatado ..................................................................................................... 79
Enviar e-mail bruto ............................................................................................................ 79
Como usar modelos para enviar e-mail ................................................................................ 87
Como enviar e-mail usando um AWS SDK ........................................................................... 99
Codificações de conteúdo ................................................................................................ 112
Protocolos de segurança compatíveis ........................................................................................ 112
Remetente de e-mail para o Amazon SES .......................................................................... 112
Amazon SES para o receptor ........................................................................................... 113
Criptografia de ponta a ponta ........................................................................................... 113
Campos de cabeçalho suportados ............................................................................................. 114
Tipos de anexos incompatíveis ................................................................................................. 115
Recebimento de e-mail .................................................................................................................... 117
Conceitos de recebimento de e-mail e casos do Amazon SES ....................................................... 117
Controle baseado em destinatário usando regras de recebimento ........................................... 118
Controle baseado em IP usando filtros de endereço IP ......................................................... 119
Processo de recebimento de e-mails .................................................................................. 119
Casos de uso e restrições ................................................................................................ 120
Autenticação de e-mail e detecção de malware ................................................................... 122
Configurar o recebimento de e-mails .......................................................................................... 123
Verificação de um domínio ............................................................................................... 124
Publicação de um registro MX .......................................................................................... 124
Concessão de permissões ................................................................................................ 126
Demonstrações de recebimento de e-mails no console ................................................................. 130
Criar regras de recebimento ............................................................................................. 130
Criar filtros IP ................................................................................................................. 156
Exibir métricas de erros ........................................................................................................... 157
Identidades ..................................................................................................................................... 158
Criação e verificação de identidades .......................................................................................... 158
Criar uma identidade de domínio ....................................................................................... 160
Verificar uma identidade de domínio .................................................................................. 163
Criação da identidade de um endereço de e-mail ................................................................. 168
Verificar a identidade de um endereço de e-mail .................................................................. 169
Crie e verifique uma identidade e atribua um conjunto de configurações padrão ao mesmo tempo
(API) ............................................................................................................................. 170
Usar modelos personalizados de e-mail de verificação .......................................................... 170
Gerenciamento de identidades .................................................................................................. 179
Exibição de identidades a partir do console ......................................................................... 179
Excluir uma identidade usando o console ........................................................................... 180
Editando uma identidade usando o console ........................................................................ 180
Edite uma identidade para usar um conjunto de configurações padrão usando a API .................. 181
Recupere o conjunto de configurações padrão usado pela identidade (API) .............................. 181
Substitua o conjunto de configurações padrão usado pela identidade (API) .............................. 182
Configuração de identidades ..................................................................................................... 182
Métodos de autenticação de e-mail .................................................................................... 183
Configuração de eventos e notificações .............................................................................. 210
Usar autorização de envio ................................................................................................ 235

iv
Amazon Simple Email Service Guia do desenvolvedor

Enviar e-mails de teste com o simulador .................................................................................... 265


Uso do simulador de caixa postal do console ...................................................................... 265
Uso do simulador de caixa postal manualmente. .................................................................. 266
Conjuntos de configurações .............................................................................................................. 270
Criar um conjunto de configurações ........................................................................................... 270
Criar um conjunto de configurações ................................................................................... 271
Criar um conjunto de configurações (AWS CLI) ................................................................... 273
Gerenciar conjuntos de configurações ........................................................................................ 274
Exibir, editar e excluir o conjunto de configurações (console) ................................................. 274
Listar conjuntos de configurações (AWS CLI) ...................................................................... 275
Obter detalhes do conjunto de configurações (AWS CLI) ....................................................... 276
Excluir um conjunto de configurações (AWS CLI) ................................................................. 276
Parar o envio de e-mails a partir de um conjunto de configurações (AWS CLI) .......................... 276
Compreensão dos conjuntos de configurações padrão .......................................................... 276
Criar destinos de eventos ................................................................................................. 277
Atribuir grupos de IP ....................................................................................................... 280
Configurar domínios personalizados de aberturas e cliques ................................................... 281
Especificar conjuntos de configurações no e-mail ......................................................................... 285
Visualizar e exportar métricas de reputação ................................................................................ 286
Habilitação da exportação de métricas de reputação ............................................................ 286
Desabilitação da exportação de métricas de reputação ......................................................... 287
Endereços IP dedicados .................................................................................................................. 288
Facilidade de configuração ....................................................................................................... 289
Reputação gerenciada pela AWS .............................................................................................. 289
Previsibilidade dos padrões de envio ......................................................................................... 289
Volume de e-mail enviados ...................................................................................................... 289
Custos adicionais .................................................................................................................... 290
Controle sobre a reputação do remetente ................................................................................... 290
Capacidade de isolar a reputação do remetente .......................................................................... 290
Endereços IP conhecidos e inalteráveis ...................................................................................... 290
Trabalho com endereços IP dedicados ....................................................................................... 290
Práticas recomendadas para trabalhar com endereços IP dedicados ....................................... 290
Solicitar endereços IP dedicados ....................................................................................... 291
Desistir de endereços IP dedicados ................................................................................... 292
Aquecer endereços IP dedicados .............................................................................................. 293
Aquecer endereços IP dedicados automaticamente .............................................................. 293
Desabilitar o processo de aquecimento automático ............................................................... 294
Reinicie o processo de aquecimento automático .................................................................. 294
Criar grupos de IPs dedicados .................................................................................................. 295
Traga seus próprios endereços IP ............................................................................................. 296
Requisitos ...................................................................................................................... 296
Considerações ................................................................................................................ 296
Uso de seus próprios endereços IP com o Amazon SES ....................................................... 297
Listas e assinaturas ......................................................................................................................... 298
Lista de supressão global ......................................................................................................... 299
Considerações sobre a lista de supressão global ................................................................. 299
Usar a lista de supressão no nível da conta ................................................................................ 300
Considerações sobre a lista de supressão no nível da conta .................................................. 301
Habilitar a lista de supressão no nível da conta ................................................................... 301
Habilitar a lista de supressão no nível da conta de um conjunto de configurações ...................... 302
Como adicionar endereços de e-mail individuais à lista de supressão no nível da conta .............. 304
Adicionar endereços de e-mail em massa à lista de supressão no nível da conta ....................... 305
Visualizar uma lista dos endereços que estão na lista de supressão no nível da conta ................ 307
Remover endereços de e-mail individuais da lista de supressão no nível da conta ..................... 309
Remover endereços de e-mail em massa da lista de supressão no nível da conta ..................... 310
Visualização de uma lista de trabalhos de importação para a conta ......................................... 313
Obtenção de informações sobre um trabalho de importação para a conta ................................. 314

v
Amazon Simple Email Service Guia do desenvolvedor

Desabilitação da lista de supressão no nível da conta .......................................................... 315


Uso da supressão no nível do conjunto de configurações .............................................................. 316
Habilitação da supressão no nível do conjunto de configurações ............................................ 317
Uso do gerenciamento de listas ................................................................................................ 318
Visão geral de gerenciamento de listas .............................................................................. 319
Configuração de gerenciamento de listas ............................................................................ 319
Demonstração do gerenciamento de listas com exemplos ..................................................... 324
Uso de o gerenciamento de assinaturas ..................................................................................... 325
Visão geral do gerenciamento de assinaturas ...................................................................... 325
Considerações sobre o cabeçalho de cancelamento de assinatura .......................................... 326
Adição de um link de cancelamento de assinatura no rodapé ................................................. 327
Monitoramento da atividade de envio ................................................................................................. 328
Monitorar com o uso do console ............................................................................................... 331
Painel da conta ............................................................................................................... 331
Métricas de reputação ..................................................................................................... 332
Usar o console para monitorar métricas ............................................................................. 333
Monitorar com a API ............................................................................................................... 334
Chamar a operação da API GetSendStatistics com a AWS CLI ....................................... 335
Chamar a operação GetSendStatistics de forma programática ......................................... 335
Monitorar o envio de e-mails usando a publicação de eventos do ................................................... 337
Como funciona a publicação de eventos do ........................................................................ 338
Como usar a publicação de eventos .................................................................................. 338
Terminologia de publicação de eventos .............................................................................. 338
Configurar a publicação de eventos ................................................................................... 340
Trabalhar com dados de eventos ...................................................................................... 350
Tutoriais ......................................................................................................................... 397
Monitoramento de sua reputação como remetente ............................................................................... 425
Uso de métricas de reputação .................................................................................................. 425
Mensagens de métricas de reputação ........................................................................................ 427
Mensagens de status geral ............................................................................................... 427
Notificação da taxa de devolução ...................................................................................... 428
Notificação da taxa de reclamação .................................................................................... 429
Notificação da organização antispam ................................................................................. 430
Notificação de listbombing ................................................................................................ 431
Notificação de feedback direto .......................................................................................... 432
Notificação da lista de bloqueio de domínio ......................................................................... 433
Notificação de revisões internas ........................................................................................ 434
Notificação do provedor de caixa postal ............................................................................. 435
Notificação de feedback do destinatário .............................................................................. 436
Notificação de contas relacionadas .................................................................................... 437
Notificação de spamtrap ................................................................................................... 438
Notificação de site vulnerável ............................................................................................ 439
Notificação de credenciais comprometidas .......................................................................... 440
Outra notificação ............................................................................................................. 440
Criação de alarmes usando o CloudWatch .................................................................................. 441
Metrics SNDS para IPs dedicados ............................................................................................. 443
Perguntas sobre a solução de problemas ........................................................................... 444
Pausar automaticamente o envio de e-mails ............................................................................... 444
Para toda a conta ........................................................................................................... 445
Para um conjunto de configurações ................................................................................... 450
Exemplos de código ........................................................................................................................ 456
Exemplos do Amazon SES ....................................................................................................... 457
Ações ............................................................................................................................ 458
Cenários ........................................................................................................................ 490
Exemplos entre serviços .................................................................................................. 505
Exemplos para a API v2 do Amazon SES .................................................................................. 515
Ações ............................................................................................................................ 515

vi
Amazon Simple Email Service Guia do desenvolvedor

Segurança ...................................................................................................................................... 522


Proteção de dados .................................................................................................................. 522
Criptografia em repouso ................................................................................................... 523
Criptografia em trânsito .................................................................................................... 523
Excluir dados pessoais .................................................................................................... 524
Gerenciamento de Identidade e Acesso ...................................................................................... 529
Criar políticas do IAM para acesso ao SES ......................................................................... 530
Exemplo de políticas do IAM para o SES ........................................................................... 532
Registro em log e monitoramento .............................................................................................. 535
Registrar em log chamadas de API .................................................................................... 536
Validação de conformidade ....................................................................................................... 539
Resiliência .............................................................................................................................. 540
Segurança da infraestrutura ...................................................................................................... 540
VPC endpoints ........................................................................................................................ 540
Pré-requisitos ................................................................................................................. 541
Configuração do Amazon SES na Amazon VPC .................................................................. 541
Solução de problemas ..................................................................................................................... 545
Problemas gerais .................................................................................................................... 546
As alterações que eu faço não ficam imediatamente visíveis .................................................. 546
Problemas de verificação ......................................................................................................... 546
Problemas de verificação de domínio ................................................................................. 546
Conferir as configurações de verificação de domínio ............................................................. 547
Problemas de verificação de e-mail ................................................................................... 548
Problemas do DKIM ................................................................................................................ 549
Problemas de entrega .............................................................................................................. 550
Problemas com e-mails recebidos ............................................................................................. 551
Problemas com as notificações ................................................................................................. 552
Erros de envio de e-mails ........................................................................................................ 552
Aumentar a taxa de transferência .............................................................................................. 554
Problemas de SMTP ............................................................................................................... 555
Códigos de resposta SMTP .............................................................................................. 557
Perguntas frequentes ....................................................................................................................... 561
Perguntas frequentes sobre o processo de análise de envios ......................................................... 561
Contas sob análise .......................................................................................................... 561
Pausas de envio ............................................................................................................. 564
Devoluções .................................................................................................................... 566
Reclamações .................................................................................................................. 569
Spamtraps ...................................................................................................................... 573
Investigações manuais ..................................................................................................... 575
Perguntas frequentes sobre a lista de buracos negros de DNS (DNSBL) .......................................... 577
P1 das Perguntas Frequentes sobre DNSBL ....................................................................... 577
P2 das Perguntas Frequentes sobre DNSBL ....................................................................... 577
P3 das Perguntas Frequentes sobre DNSBL ....................................................................... 577
P4 das Perguntas Frequentes sobre DNSBL ....................................................................... 578
P5 das Perguntas Frequentes sobre DNSBL ....................................................................... 578
P6 das Perguntas Frequentes sobre DNSBL ....................................................................... 579
Perguntas frequentes sobre métricas de e-mail ............................................................................ 580
Geral ............................................................................................................................. 580
Rastreamento de abertura ................................................................................................ 581
Rastreamento de cliques .................................................................................................. 582
Histórico do documento .................................................................................................................... 584

vii
Amazon Simple Email Service Guia do desenvolvedor
Benefícios

O que é o Amazon SES?


Amazon SES é uma plataforma de e-mail que oferece uma forma fácil e econômica para você enviar e
receber e-mail usando seus próprios endereços de e-mail e domínios.

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.

Regiões e o Amazon SES


O Amazon SES está disponível em várias regiões da AWS ao redor do mundo. Em cada região, a AWS
mantém várias zonas de disponibilidade. Essas zonas de disponibilidade são fisicamente isoladas umas
das outras, mas são unidas por conexões de rede privadas, de baixa latência, de alta taxa de transferência
e altamente redundantes. Essas zonas de disponibilidade permitem que forneçamos níveis muito altos de
disponibilidade e redundância ao mesmo tempo que minimizamos a latência.

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:

• Regiões e endpoints do Amazon SES (p. 2)


• Remoção da sandbox e aumento de limite de envio (p. 3)
• Verificação de endereços de e-mail e domínios (p. 3)
• Easy DKIM (p. 3)
• Usar a lista de supressão no nível da conta (p. 3)
• Notificações de feedback (p. 3)
• Credenciais de SMTP (p. 4)
• Autorização de envio (p. 5)
• Domínios MAIL FROM personalizados (p. 4)
• Recebimento de e-mail (p. 5)
• Configuração de registros (MX).

Para obter informações gerais sobre as Regiões da AWS, consulte Endpoints de serviços da AWS na
Referência geral da AWS.

Regiões e endpoints do Amazon SES


Ao usar o Amazon SES para enviar e-mail, você se conecta a um URL que fornece um endpoint para a
interface SMTP ou a API do SES. A Referência geral da AWS contém uma lista completa de endpoints
usados para enviar e receber e-mail pelo Amazon SES. Para obter mais informações, consulte Endpoints e
cotas do Amazon Simple Notification Service 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.

Remoção da sandbox e aumento de limite de envio


O status da sandbox para a sua conta pode diferir entre as regiões da AWS. Em outras palavras, se a sua
conta foi removida da sandbox na região Oeste dos EUA (Oregon), ela ainda pode estar na sandbox na
região Leste dos EUA (Norte da Virgínia), a menos que você a tenha removido também da sandbox nessa
região.

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.

Verificação de endereços de e-mail e domínios


Antes de poder enviar e-mails usando o Amazon SES, você deve verificar que é o proprietário do
endereço de e-mail ou domínio do qual planeja enviar. O status de verificação de endereços de e-mail e
domínios também difere entre as regiões da AWS. Por exemplo, se você verificar um domínio na região
Oeste dos EUA (Oregon), não poderá usar esse domínio para enviar e-mail na região Leste dos EUA
(Norte da Virgínia) até realizar o processo de verificação novamente para essa região. Para obter mais
informações sobre verificar endereços de e-mail e domínios, consulte Identidades verificadas no Amazon
SES (p. 158).

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

Usar a lista de supressão no nível da conta


A lista de supressão no nível da conta do Amazon SES se aplica a sua Conta da AWS somente na Região
da AWS atual. Você pode adicionar ou remover manualmente, individualmente ou em massa endereços da
sua lista de supressão no nível da conta usando a API SES v2 ou o console. Para obter mais informações
sobre a lista de supressão no nível da conta, consulte Como usar a lista de supressão do Amazon SES por
conta (p. 300).

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.

Domínios MAIL FROM personalizados


Você pode usar o mesmo domínio MAIL FROM personalizado para identidades verificadas em diferentes
regiões da AWS. Se é isso o que deseja fazer, você apenas precisará publicar um registro MX no servidor
DNS do domínio MAIL FROM. Nesta situação, notificações de devolução são enviadas para o endpoint
de feedback do Amazon SES na região especificada no registro MX primeiro. Em seguida, o Amazon SES
redireciona as devoluções para a identidade verificada na região que enviou o e-mail.

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.

Nome da região Endpoints de feedback para configurações de


envio personalizadas MAIL FROM

Leste dos EUA (Ohio) feedback-smtp.us-east-2.amazonses.com

Leste dos EUA (N. da Virgínia) feedback-smtp.us-east-1.amazonses.com

Oeste dos EUA (N. da Califórnia) feedback-smtp.us-west-1.amazonses.com

Oeste dos EUA (Oregon) feedback-smtp.us-west-2.amazonses.com

África (Cidade do Cabo) feedback-smtp.af-south-1.amazonses.com

Ásia-Pacífico (Mumbai) feedback-smtp.ap-south-1.amazonses.com

Asia Pacific (Osaka) feedback-smtp.ap-northeast-3.amazonses.com

Ásia-Pacífico (Seul) feedback-smtp.ap-northeast-2.amazonses.com

Ásia-Pacífico (Singapura) feedback-smtp.ap-southeast-1.amazonses.com

Ásia-Pacífico (Sydney) feedback-smtp.ap-southeast-2.amazonses.com

4
Amazon Simple Email Service Guia do desenvolvedor
Autorização de envio

Nome da região Endpoints de feedback para configurações de


envio personalizadas MAIL FROM

Ásia-Pacífico (Tóquio) feedback-smtp.ap-northeast-1.amazonses.com

Canadá (Central) feedback-smtp.ca-central-1.amazonses.com

China (Ningxia) feedback-smtp.ses.cn-


northwest-1.amazonaws.com.cn

Europa (Frankfurt) feedback-smtp.eu-central-1.amazonses.com

Europa (Irlanda) feedback-smtp.eu-west-1.amazonses.com

Europa (Londres) feedback-smtp.eu-west-2.amazonses.com

Europa (Milão) feedback-smtp.eu-south-1.amazonses.com

Europa (Paris) feedback-smtp.eu-west-3.amazonses.com

Europa (Estocolmo) feedback-smtp.eu-north-1.amazonses.com

Oriente Médio (Bahrein) feedback-smtp.me-south-1.amazonses.com

América do Sul (São Paulo) feedback-smtp.sa-east-1.amazonses.com

AWS GovCloud (US) feedback-smtp.us-gov-west-1.amazonses.com

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:

Nome da região Endpoints de recebimento de e-mails

Leste dos EUA (N. da Virgínia) inbound-smtp.us-east-1.amazonaws.com

Oeste dos EUA (Oregon) inbound-smtp.us-west-2.amazonaws.com

Europa (Irlanda) inbound-smtp.eu-west-1.amazonaws.com

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

Regiões não suportadas para rececimento de e-mail

US East (Ohio), US West (N. California)

Africa (Cape Town)

Asia Pacific (Mumbai), Asia Pacific (Osaka), Asia Pacific (Seoul), Asia
Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo)

Canada (Central)

Europe (Frankfurt), Europe (London), Europe (Milan), Europe (Paris), Europe


(Stockholm)

Middle East (Bahrain)

South America (São Paulo)

AWS GovCloud (US)

Service Quotas no Amazon SES


As seções a seguir listam e descrevem as cotas que se aplicam aos recursos e às operações do Amazon
SES. Algumas cotas podem ser aumentadas, enquanto outras não podem. Para determinar se é possível
solicitar o aumento de uma cota, consulte a coluna Adjustable (Ajustável).
Note
As cotas do Amazon SES são para cada Região da AWS que você usa em sua Conta da AWS.

Cotas de envio de e-mail


As cotas a seguir se aplicam ao envio de e-mail pelo Amazon SES.

Cotas de envio
As cotas são baseadas no número de destinatários e não no número de mensagens.

Recurso Cota padrão Ajustável

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.

Se a conta não estiver na


sandbox, esse número variará
de acordo com o caso de uso
específico.

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.

Se a conta não estiver na


sandbox, esta taxa variará de
acordo com o caso de uso
específico.

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

Com a API v2 do SES ou com 40 MB por mensagem (após a Não


o SMTP (p. 44): tamanho codificação base64).
máximo da mensagem (incluindo
anexos)

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.

Cotas de remetente e destinatário


Recurso Cota padrão Ajustável

Número máximo de destinatários 50 destinatários por mensagem. Não


por mensagem
Note

Um destinatário é
qualquer endereço "To",
"CC" ou "BCC".

Número máximo de identidades 10.000 identidades por Região Não


que podem ser verificadas da AWS.
Note

Uma identidade é
um domínio ou um
endereço de e-mail que
você usa para enviar e-
mails pelo Amazon SES.

Cotas relacionadas à publicação de eventos


Recurso Cota padrão Ajustável

Número máximo de conjuntos de 10.000 Não


configuração

Tamanho máximo de nome do Os nomes dos conjuntos de Não


conjunto de configurações configurações agora podem
conter até 64 caracteres
alfanuméricos. Eles também

7
Amazon Simple Email Service Guia do desenvolvedor
Cotas relacionadas ao recebimento de e-mail

Recurso Cota padrão Ajustável


podem conter hífens (-) e
sublinhados (_). Os nomes
não podem conter espaços,
caracteres acentuados ou outros
caracteres especiais.

Número máximo de destinos 10 Não


de eventos por conjunto de
configurações

Número máximo de dimensões 10 Não


por destino de eventos do
CloudWatch

Cotas de modelo de e-mail

Recurso Cota padrão Ajustável

Número máximo de modelos de 10.000 Não


e-mail em cada Região da AWS

Tamanho máximo do modelo 500 KB Não

Número máximo de valores de Ilimitado N/D


substituição em cada modelo

Número máximo de destinatários 50 destinos. Um destino é Não


para cada e-mail com base em qualquer endereço de e-mail
um modelo nas linhas "To" (Para), "CC" ou
"BCC" (CCO).
Note

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.

Cotas relacionadas ao recebimento de e-mail


A tabela a seguir lista as cotas associadas ao recebimento de e-mail pelo Amazon SES.

Recurso Cota padrão Ajustável

Número máximo de regras 200 Não


por conjunto de regras de
recebimento

Número máximo de ações por 10 Não


regra de recebimento

8
Amazon Simple Email Service Guia do desenvolvedor
Cotas gerais

Recurso Cota padrão Ajustável

Número máximo de destinatários 100 Não


por regra de recebimento

Número máximo de conjuntos de 40 Não


regras de recebimento por Conta
da AWS

Número máximo de filtros de 100 Não


endereço IP por Conta da AWS

Tamanho máximo de e-mails 40 MB Não


(incluindo cabeçalhos) que
podem ser armazenados em um
bucket do Amazon S3

Tamanho máximo de e-mails 150 KB Não


(incluindo cabeçalhos) que
podem ser publicados usando
uma notificação do Amazon SNS

Cotas gerais
A tabela a seguir lista as cotas que se aplicam ao envio e ao recebimento de e-mails pelo Amazon SES.

Cotas da API do Amazon SES


Recurso Cota padrão Ajustável

Taxa em que você pode chamar Todas as ações (exceto Não


ações de API do Amazon SES SendEmail, SendRawEmail e
SendTemplatedEmail) passam
por controle de utilização de uma
solicitação por segundo.

Tipos de credenciais do Amazon SES


Para interagir com o Amazon Simple Email Service (Amazon SES), você pode usar credenciais de
segurança para verificar sua identidade e se tem permissão para utilizar o Amazon SES. Há diferentes
tipos de credenciais, e as credenciais que você usa dependem do que você deseja fazer. Por exemplo,
você pode usar chaves de acesso da AWS ao enviar um e-mail usando a API do Amazon SES e
credenciais SMTP quando enviar um e-mail usando a interface SMTP do 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.

Se você quiser Use estas De que as Como obter as credenciais


acessar... credenciais credenciais
consistem

API do Amazon SES AWSChaves de ID da chave de Consulte Chaves de acesso na


acesso da acesso e a chave de Referência geral da AWS.
acesso secreta.

9
Amazon Simple Email Service Guia do desenvolvedor
Tipos de credenciais

Se você quiser Use estas De que as Como obter as credenciais


acessar... credenciais credenciais
consistem
(Você pode acessar Note
a API do Amazon
SES direta ou Para seguir as práticas
indiretamente recomendadas de
por meio de um segurança, use as
AWS SDK, o AWS chaves de acesso
Command Line do usuário do AWS
Interface ou o AWS Identity and Access
Tools for Windows Management (IAM)
PowerShell.) em vez de chaves de
acesso da conta da
Conta da AWS. Suas
credenciais da Conta
da AWS concedem
acesso total a todos
os seus recursos da
AWS. Portanto, você
deve armazená-las
em um local seguro
e usar as credenciais
de usuário do IAM
em seu lugar para
interações diárias com
a AWS. Para obter mais
informações, consulte
Credenciais da conta
raiz vs. credenciais
do usuário do IAM na
Referência geral da
AWS.

10
Amazon Simple Email Service Guia do desenvolvedor
Tipos de credenciais

Se você quiser Use estas De que as Como obter as credenciais


acessar... credenciais credenciais
consistem

Interface SMTP do Credenciais de Nome de usuário e Consulte Obtenção de


Amazon SES SMTP senha credenciais SMTP do Amazon
SES (p. 46).
Note

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

Se você quiser Use estas De que as Como obter as credenciais


acessar... credenciais credenciais
consistem

Console do Amazon Nome de usuário e Nome de usuário e Consulte Nome de usuário e


SES senha do IAM senha do IAM senha do IAM e Endereço de e-
mail e senha naReferência geral
OU OU da AWS.
Endereço de e-mail e Endereço de e-mail e Note
senha senha
Para seguir as práticas
recomendadas de
segurança, use um
nome de usuário e uma
senha do IAM em vez
de um endereço de
e-mail e uma senha.
A combinação de
endereço de e-mail
e senha são para
sua Conta da AWS,
portanto, você deve
armazená-los em um
local seguro, em vez de
usá-los para interação
do dia a dia com a
AWS. Para obter mais
informações, consulte
Credenciais da conta
raiz vs. credenciais
do usuário do IAM na
Referência geral da
AWS.

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.

Como o envio de e-mail funciona no Amazon SES


Este tópico descreve o que acontece quando você envia um e-mail com o Amazon SES e os vários
resultados que podem ocorrer após o envio do e-mail. A figura a seguir é uma visão geral de alto nível do
processo de envio:

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:

a. O ISP entrega a mensagem na caixa de entrada do destinatário.


b. O endereço de e-mail do destinatário não existe, de modo que o ISP envia uma notificação de
devolução para o Amazon SES. O Amazon SES encaminha a notificação para o remetente.
c. O destinatário recebe a mensagem, mas considera que ela seja spam e registra uma reclamação
com o ISP. O ISP, que tem um ciclo de comentários configurado com o Amazon SES, envia a
reclamação ao Amazon SES, que, por sua vez, a encaminha para o remetente.

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.

Após um remetente enviar uma solicitação de e-mail


para o Amazon SES
Quando o remetente faz uma solicitação para o Amazon SES enviar um e-mail, a chamada pode ou não
ser bem-sucedida. As seções a seguir descrevem o que acontece em cada caso.

Solicitação de envio bem-sucedida


Se a solicitação ao Amazon SES for bem-sucedida, o Amazon SES retorna uma resposta de êxito
ao remetente. Essa mensagem inclui o ID de mensagem, uma string de caracteres que identifica
exclusivamente a solicitação. Você pode usar o ID de mensagem para identificar o e-mail enviado ou
para rastrear problemas encontrados durante o envio. O Amazon SES monta uma mensagem de e-mail
com base nos parâmetros da solicitação, verifica a mensagem para ver se há conteúdo questionável
e vírus e, em seguida, a envia pela Internet usando o Simple Mail Transfer Protocol (SMTP). Sua
mensagem costuma ser enviada imediatamente; a primeira tentativa de entrega normalmente ocorre em
milissegundos.
Note
Se o Amazon SES aceita a solicitação do remetente e, em seguida, determina que a mensagem
contém um vírus, o Amazon SES interrompe o processamento da mensagem e não tenta entregá-
la ao servidor de e-mail do destinatário.

13
Amazon Simple Email Service Guia do desenvolvedor
Depois que o Amazon SES envia um e-mail

Falha na solicitação de envio


Se a solicitação de envio de e-mail do remetente ao Amazon SES falha, o Amazon SES responde ao
remetente com um erro e descarta o e-mail. A solicitação pode falhar por vários motivos. Por exemplo, a
solicitação pode não ser formatada corretamente ou o endereço de e-mail não pode ser verificado pelo
remetente.

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

Depois que o Amazon SES envia um e-mail


Se a solicitação do remetente ao Amazon SES for bem-sucedida, o Amazon SES enviará o e-mail e um
dos seguintes resultados ocorrerá:

• 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).

Formato de e-mail e Amazon SES


Quando um cliente faz uma solicitação para o Amazon SES, o Amazon SES cria uma mensagem de e-
mail em conformidade com a especificação de formato de mensagem de Internet (RFC 5322). Um e-mail
consiste em um cabeçalho, um corpo e um envelope, como descrito abaixo.

• Cabeçalho: contém instruções de roteamento e informações sobre a mensagem. Entre os exemplos


estão o endereço do remetente, o endereço do destinatário, o assunto e a data. O cabeçalho é
semelhante às informações na parte superior de uma carta postal, embora possa conter muitos outros
tipos de informação, como o formato da mensagem.
• Corpo: contém o texto da mensagem.
• Envelope: contém as informações de roteamento reais que são transmitidas entre o cliente de e-
mail e o servidor de e-mail durante a sessão SMTP. Essas informações de envelope de e-mail são

15
Amazon Simple Email Service Guia do desenvolvedor
Formato de e-mail

semelhantes às informações em um envelope postal. As informações de roteamento do envelope de e-


mail normalmente são iguais às informações de roteamento no cabeçalho de e-mail, mas nem sempre.
Por exemplo, quando você envia uma cópia oculta (CCO), o endereço real do destinatário (derivado
do envelope) não é igual ao endereço "To" que é exibido no cliente de e-mail do destinatário, que é
derivado do cabeçalho.

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.

Received: from abc.smtp-out.amazonses.com (123.45.67.89) by in.example.com (87.65.43.210);


Fri, 17 Dec 2010 14:26:22
From: "Andrew" <[email protected]>;
To: "Bob" <[email protected]>
Date: Fri, 17 Dec 2010 14:26:21 -0800
Subject: Hello
Message-ID: <[email protected]>
Accept-Language: en-US
Content-Language: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

Hello, I hope you are having a good day.

-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:

• Para — Os endereços de e-mail dos destinatários da mensagem.


• CC — Os endereços de e-mail dos destinatários copiados na mensagem.
• De – O endereço de e-mail do qual o e-mail é enviado.
• Assunto – Resumo do tópico da mensagem.
• Data — A data e hora em que o e-mail é enviado.

Há muitos campos de cabeçalho adicionais que fornecem informações de roteamento e descrevem


o conteúdo da mensagem. Os clientes de e-mail normalmente não exibem esses campos para o
usuário. Para obter uma lista completa dos campos de cabeçalho que o Amazon SES aceita, consulte
Campos de cabeçalho do Amazon SES (p. 114). Quando você usa o Amazon SES, precisa entender
especialmente a diferença entre os campos de cabeçalho "From" (De), "Reply-To" (Responder para) e
"Return-Path" (Caminho de devolução). Conforme mencionado anteriormente, o endereço "From" é o
endereço de e-mail do remetente da mensagem, enquanto "Reply-To" e "Return-Path" são assim:

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

Informações de e-mail que você precisa fornecer ao Amazon


SES
Quando você envia um e-mail com o Amazon SES, as informações de e-mail que precisa fornecer
dependem de como o Amazon SES é chamado. Você pode fornecer uma quantidade mínima de
informações e deixar o Amazon SES cuidar de toda a formatação. Ou, se você quiser fazer algo mais
avançado, como enviar um anexo, poderá fornecer a mensagem bruta. As seções a seguir analisam o
que você precisa fornecer quando envia um e-mail usando a API do Amazon SES, a interface SMTP do
Amazon SES ou o console do Amazon SES.

API do Amazon SES


Se você chamar a API do Amazon SES diretamente, chamará a API SendEmail ou SendRawEmail. A
quantidade de informações necessárias depende da API que você chamar.

• 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).

Interface SMTP do Amazon SES


Quando você acessa o Amazon SES por meio da interface SMTP, sua aplicação do cliente SMTP monta a
mensagem, assim as informações que você precisa fornecer dependem da aplicação que está usando. No
mínimo, a troca de SMTP entre um cliente e um servidor requer um endereço de origem, um endereço de
destino e os dados da mensagem.

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

Console do Amazon SES


Quando você envia um e-mail usando o console do Amazon SES, a quantidade de informações
necessárias depende ter optado por enviar um e-mail formatado ou bruto.

• 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).

Compreensão da capacidade de entrega de e-mail no


Amazon SES
Você quer que seus destinatários leiam e valorizem seus e-mails, e não os rotulem como spam. Em outras
palavras, você deseja maximizar a capacidade de entrega, ou seja, a porcentagem de e-mails que chega
às caixas de entrada dos destinatários. Este tópico descreve os conceitos de capacidade de entrega de e-
mail com os quais você deve estar familiarizado quando usa o Amazon SES.

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

Entender problemas de entrega de e-mail


Na maioria dos casos, as mensagens são entregues com êxito para os destinatários que as esperam. Em
alguns casos, no entanto, uma entrega pode falhar ou um destinatário pode não receber o e-mail que você
está enviando. As devoluções, reclamações e a lista de supressão estão relacionadas a esses problemas
de entrega e são descritas nas seções a seguir.

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

Há devoluções definitivas e devoluções flexíveis, da seguinte forma:

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

Lista de supressão global


A Lista de supressão global Amazon SES, de propriedade e gerenciada pelo SES para proteger a
reputação de endereços no grupo de IPs compartilhados do SES, contém endereços de e-mail de
destinatários que causaram recentemente uma devolução total para algum cliente SES. Se você tentar
enviar um e-mail por meio do SES para um endereço que está na lista de supressão, a chamada para
o SES será bem-sucedida, mas o SES tratará o e-mail como uma devolução definitiva em vez de tentar
enviá-lo. Como qualquer devolução definitiva, as devoluções da lista de supressão se somam à sua cota
de envio e taxa de devolução. Um endereço de e-mail pode permanecer na lista de supressão por até 14
dias. Se você tiver certeza de que o endereço de e-mail para o qual você está tentando enviar é válido,
você pode substituir a lista de supressão global, certificando-se de que o endereço não está listado em sua
lista de supressão no nível da conta. O SES ainda tentará a entrega, mas, se ela for devolvida, a rejeição
afetará sua própria reputação. Ninguém mais receberá rejeições, porque ninguém podem enviar nada
para esse endereço de e-mail se não estiver usando sua própria lista de supressão no nível da conta.
Para saber mais sobre a lista de supressão de e-mails no nível de conta, consulte Como usar a lista de
supressão do Amazon SES por conta (p. 300).

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

E-mail de alta qualidade


E-mail de alta qualidade é um e-mail que os destinatários consideram interessante e gostariam de receber.
Valor significa coisas diferentes para destinatários diferentes, e pode vir em forma de ofertas, confirmações
de pedidos, recibos, newsletters, etc. Em última análise, sua capacidade de entrega depende da qualidade
dos e-mails que você envia, pois os provedores de e-mail bloqueiam os e-mails que consideram de baixa
qualidade.

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.

Melhore seu programa de envio de e-mails


Se você estiver recebendo um grande número de devoluções e reclamações, é hora de reavaliar sua
estratégia de envio de e-mail. Lembre-se de que um número excessivo de devoluções, reclamações e
tentativas de envio de e-mails de baixa qualidade constituem uso abusivo e colocam sua conta da Conta
da AWS em risco de rescisão. Em última análise, você precisa usar o Amazon SES para enviar e-mails de
alta qualidade e somente para os destinatários que querem recebê-los.

22
Amazon Simple Email Service Guia do desenvolvedor
Práticas recomendadas para itens

Entrega pelo menos uma vez


O Amazon SES armazena cópias de suas mensagens em vários servidores para obter redundância e alta
disponibilidade. Em raras ocasiões, um dos servidores que armazena a cópia de uma mensagem poderá
ficar indisponível quando você receber ou excluir uma mensagem.

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

Melhores práticas para enviar e-mails usando o


Amazon SES
A forma como você gerencia comunicações por e-mail com seus clientes é conhecida como seu programa
de e-mail. Existem vários fatores que podem resultar no sucesso ou fracasso do seu programa de e-mail.
Esses fatores podem parecer confusos ou misteriosos no início. No entanto, ao entender como os e-mails
são entregues e seguindo certas práticas recomendadas, você pode aumentar as chances de os seus e-
mails chegarem com sucesso às caixas de entrada dos seus clientes.

Tópicos
• Métricas de sucesso para programas de e-mail (p. 23)
• Dicas e práticas recomendadas (p. 26)

Métricas de sucesso para programas de e-mail


Existem várias métricas que podem ajudar a medir o êxito do seu programa de e-mail.

Esta seção fornece informações sobre as seguintes métricas:


• Devoluções (p. 23)
• Reclamações (p. 24)
• Qualidade da mensagem (p. 25)

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.

As seguintes diretrizes podem ajudar a evitar devoluções e a melhorar a reputação do remetente:

• 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ê.

As seguintes diretrizes podem ajudá-lo a evitar reclamações e a melhorar a reputação do remetente:

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

Quando você recebe reclamações, é essencial responder adequadamente, observando as seguintes


regras:

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

Se os filtros de conteúdo de um destinatário de e-mail determinarem que a sua mensagem contém as


características de spam ou e-mail mal-intencionado, ela será provavelmente sinalizada e desviada das
caixas de entrada dos destinatários.

Lembre-se do seguinte ao elaborar seus e-mails:

• 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

Dicas e práticas recomendadas


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. As seções a seguir contêm recomendações
para ajudar a garantir que as suas comunicações por e-mail atinjam seu público-alvo.

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

Considerações de domínio e endereços "From"


• Pense cuidadosamente nos endereços dos quais você envia e-mails. O endereço "From" é uma das
primeiras informações que os seus destinatários visualizam e, portanto, pode deixar uma primeira
impressão duradoura. Além disso, alguns ISPs associam sua reputação ao seu endereço "From".
• Considere o uso de subdomínios para diferentes tipos de comunicações. Por exemplo, suponha que
você esteja enviando e-mails do domínio example.com e planeja enviar mensagens de marketing
e mensagens transacionais. Em vez de enviar todas as suas mensagens de example.com, envie
suas mensagens de marketing de um subdomínio, como marketing.example.com, e suas mensagens
transacionais de outro subdomínio, como orders.example.com. Subdomínios exclusivos desenvolvem
suas próprias reputações. O uso de subdomínios reduz o risco de danos à sua reputação se, por
exemplo, suas comunicações de marketing caírem em uma interceptação de spam ou acionarem um
filtro de conteúdo.
• Se você planeja enviar uma grande quantidade de mensagens, não as envie de um endereço
baseado em ISP, como [email protected]. Se um ISP perceber um grande volume de mensagens
provenientes de [email protected], esse e-mail será tratado de forma diferente de um e-mail
proveniente de um domínio de envio de e-mails que você possui.
• Trabalhe com seu registrador de domínio para garantir que as informações do WHOIS do seu domínio
sejam precisas. A manutenção de um registro WHOIS honesto e atualizado demonstra que você valoriza
a transparência e permite que os usuários identifiquem rapidamente se o seu domínio é ou não legítimo.
• Evite usar um endereço no-reply, como [email protected], como endereço "From" ou "Reply-to".
O uso de um endereço de e-mail no-reply@ transmite aos seus destinatários uma mensagem clara:
que você não está oferecendo a eles uma forma de contato e, portanto, não está interessado em seus
comentários.

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.

Criar e manter suas listas


• Implemente uma estratégia de inclusão dupla. Quando os usuários se cadastrarem para receber seus e-
mails, envie a eles uma mensagem com um link de confirmação e não comece a enviar e-mails até que
eles confirmem seus endereços clicando nesse link. Uma estratégia de inclusão dupla ajuda a reduzir o
número de devoluções definitivas resultantes de erros tipográficos.
• Ao coletar endereços de e-mail com um formulário baseado na Web, realize uma validação mínima
desses endereços após o envio. Por exemplo, assegure-se de que os endereços que você está
coletando estejam bem formados (ou seja, no formato [email protected]) e que façam referência
a domínios com registros MX válidos.
• Tenha cuidado ao permitir que a entrada definida pelo usuário seja transmitida ao Amazon SES sem
verificação. Registros de fóruns e envios de formulários apresentam riscos únicos, pois o conteúdo
é completamente gerado pelo usuário, e spammers podem preencher formulários com seu próprio
conteúdo. Você é responsável por garantir que apenas e-mails com conteúdo de alta qualidade são
enviados.
• É altamente improvável que um alias padrão (como postmaster@, abuse@, or noc@) cadastre-
se intencionalmente para receber seus e-mails. Certifique-se de que você apenas esteja enviando
mensagens para pessoas reais que realmente desejam recebê-las. Essa regra é especialmente
verdadeira para alias padrão, que são habitualmente reservados para watchdogs de e-mails. Esses alias
podem ser adicionados de forma mal-intencionada à sua lista como uma forma de sabotagem, a fim de
prejudicar sua reputação.

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.

Como usar o Amazon SES com um AWS SDK


Os kits de desenvolvimento de software (SDKs) da AWS estão disponíveis para muitas linguagens de
programação populares. Cada SDK fornece uma API, exemplos de código e documentação que facilitam a
criação de aplicações em seu idioma preferido pelos desenvolvedores.

Documentação do SDK Exemplos de código

AWS SDK for C++ Exemplos de código AWS SDK for C++

AWS SDK for Go Exemplos de código AWS SDK for Go

AWS SDK for Java Exemplos de código AWS SDK for Java

27
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com AWS SDKs

Documentação do SDK Exemplos de código

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

Conceitos básicos do Amazon Simple


Storage Service
Este capítulo orienta você nas tarefas necessárias para a configuração inicial do Amazon SES, bem como
tutoriais para ajudá-lo a começar.

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)

Configuração do Amazon Simple Email Service


Para poder começar a usar o Amazon SES, você deve realizar as seguintes etapas.

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.

Para se cadastrar em uma Conta da AWS

1. Abra https://portal.aws.amazon.com/billing/signup.
2. Siga as instruções online.

Parte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um código de


verificação usando o teclado do telefone.

Obter suas chaves de acesso da AWS


Depois de cadastrar-se na AWS, você deve obter suas chaves de acesso da AWS para acessar o
Amazon SES por meio da API do Amazon SES, seja pela interface de consulta (HTTPS) diretamente ou
indiretamente por meio de um AWS SDK, o AWS Command Line Interface, ou o AWS Tools for Windows
PowerShell. As chaves de acesso da AWS consistem em um ID da chave de acesso e em uma chave de
acesso secreta.

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

Baixar um AWS SDK


Para chamar a API do Amazon SES sem ter de lidar com os detalhes de baixo nível, como a montagem
de solicitações HTTP brutas, você pode usar um AWS SDK. Os AWS SDKs fornecem tipos de funções
e de dados que encapsulam a funcionalidade do Amazon SES e de outros serviços da AWS. Para fazer
download de um SDK da AWS, acesse SDKs. Depois de baixar o SDK, crie um arquivo de credenciais
compartilhadas e especificque as chaves de acesso da AWS.

Verificar o endereço de e-mail


Antes de enviar e-mails do seu endereço de e-mail por meio do Amazon SES, você precisa mostrar ao
Amazon SES que é o proprietário do endereço de e-mail, verificando-o. Para obter instruções, consulte
Criação da identidade de um endereço de e-mail (p. 168).

Migração de outra solução de envio de e-mail para


o Amazon SES
Este tópico oferece uma visão geral das etapas que você precisa realizar se quiser transferir a solução
de envio de e-mails para o Amazon SES de uma solução hospedada no local ou em uma instância do
Amazon EC2.

Tópicos nesta seção:


• Etapa 1. Verificar o domínio (p. 30)
• Etapa 2. Solicitar acesso à produção (p. 30)
• Etapa 3. Configurar sistemas de autenticação de domínio (p. 31)
• Etapa 4. Gerar as credenciais SMTP (p. 31)
• Etapa 5. Conectar-se a um endpoint SMTP (p. 31)
• Próximas etapas (p. 31)

Etapa 1. Verificar o domínio


Antes de poder usar o Amazon SES para enviar e-mails, verifique as identidades das quais planeja enviar
e-mails. No Amazon SES, uma identidade pode ser um endereço de e-mail ou um domínio inteiro. Quando
você verifica um domínio, pode usar o Amazon SES para enviar e-mails de qualquer endereço daquele
domínio. Para obter mais informações sobre como verificar um domínio, consulte Criar uma identidade de
domínio (p. 160).

Etapa 2. Solicitar acesso à produção


Quando você começa a usar o Amazon SES, a sua conta está em um ambiente de sandbox. Enquanto
sua conta estiver na sandbox, só será possível enviar e-mails para endereços que foram verificados. Além
disso, há restrições quanto ao número de mensagens que você pode enviar por dia e por segundo. Para
obter mais informações sobre como solicitar o acesso à produção, consulte Saída da sandbox do Amazon
SES (p. 32).

30
Amazon Simple Email Service Guia do desenvolvedor
Etapa 3. Configurar sistemas de autenticação de domínio

Etapa 3. Configurar sistemas de autenticação de


domínio
É possível configurar o domínio para usar sistemas de autenticação, como DKIM e SPF. Esta etapa é
tecnicamente opcional. No entanto, ao configurar o DKIM ou o SPF (ou ambos) para o domínio, é possível
aprimorar a capacidade de entrega de e-mails e aumentar o nível de confiança que os clientes têm em
você. Para obter mais informações sobre como configurar um SPF, consulte Autenticação de e-mail com
SPF no Amazon SES (p. 209). Para obter mais informações sobre a configuração do DKIM, consulte
Autenticação de e-mail com DKIM no Amazon SES (p. 183).

Etapa 4. Gerar as credenciais SMTP


Se você planeja enviar e-mails usando um aplicativo que use SMTP, será necessário gerar credenciais
SMTP. As credenciais SMTP são diferentes das credenciais regulares da AWS. Essas credenciais também
são exclusivas para cada região da AWS. Para obter mais informações sobre como gerar as credenciais
de SMTP, consulte Obtenção de credenciais SMTP do Amazon SES (p. 46).

Etapa 5. Conectar-se a um endpoint SMTP


Se você usa um agente de transferência de mensagens, como postfix ou sendmail, é necessário atualizar
a configuração dessa aplicação para se referir a um endpoint SMTP do Amazon SES. Para obter uma
lista completa de endpoints SMTP, consulte Conexão com um endpoint SMTP do Amazon SES (p. 50).
Observe que as credenciais SMTP criadas na etapa anterior estão associadas a uma região da AWS
específica. É necessário se conectar ao endpoint SMTP na região em que as credenciais SMTP foram
criadas.

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

Saída da sandbox do Amazon SES


Para ajudar a evitar fraudes e uso abusivo, e para ajudar a proteger sua reputação como remetente,
aplicamos determinadas restrições às novas contas do Amazon SES.

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

1. Faça login no Amazon SES em https://console.aws.amazon.com/ses/.


2. No painel de navegação, escolha Account dashboard (Painel da conta).
3. Na caixa de aviso na parte superior do console que diz, "Your Amazon SES account is in the
sandbox" (Sua conta do Amazon SES está na sandbox), do lado direito, escolha Request production
access (Solicitar acesso à produção).
4. No modal de detalhes da conta, selecione o botão de opção Marketing ou Transactional (Transacional)
que melhor descreve a maioria dos e-mails que você enviará.

• 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:

• Como você planeja criar ou adquirir sua lista de endereçamento?


• Como você planeja lidar com devoluções e reclamações?
• Como os destinatários podem cancelar o recebimento de e-mails?
• Como você escolheu a taxa de envio ou cota de envio que você especificou nesta solicitação?

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:

aws sesv2 put-account-details \


--production-access-enabled \
--mail-type TRANSACTIONAL \
--website-url https://example.com \
--use-case-description "Use case description" \
--additional-contact-email-addresses [email protected] \
--contact-language EN

No comando anterior, faça o seguinte:

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:

i. Como você planeja criar ou adquirir sua lista de endereçamento?


ii. Como você planeja lidar com devoluções e reclamações?
iii. Como os destinatários podem cancelar o recebimento de e-mails?
iv. Como você escolheu a taxa de envio ou cota de envio que você especificou nesta
solicitação?

33
Amazon Simple Email Service Guia do desenvolvedor
Saída da sandbox

d. Substitua [email protected] pelos endereços de e-mail em que as comunicações sobre sua


conta serão recebidas. Pode ser uma lista separada por vírgulas com até quatro endereços de e-
mail.
e. Substitua EN pelo seu idioma preferido. Você pode especificar EN para inglês ou JP para japonês.

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

Índice de busca rápida


O índice a seguir foi criado para ajudar você a encontrar coisas rapidamente no Amazon SES por meio
de duas formas de pesquisa: “como fazer algo” ou conceitos. As instruções descrevem “como” fazer algo,
enquanto os conceitos explicam o quadro geral.
Conte-nos sua opinião
Use o botão Feedback no canto superior direito para enviar seus comentários...

• Este índice foi útil?


• Há alguma instrução ou conceito que você gostaria que fosse adicionado a este índice?
• Houve algo que, em sua opinião, deveria ter sido categorizado de outra forma?

Links de instruções e conceitos do SES


How-tos

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

• Aumentar cotas de envio (p. 41)


• Integrar ao servidor de e-mail existente (p. 61)
• Registrar chamadas de API (p. 536)
• Gerenciar um conjunto de configurações (p. 274)
• Gerenciar o Easy DKIM e o BYODKIM (p. 193)
• Monitorar métricas de envio e reputação (p. 333)
• Monitorar estatísticas de envio (p. 331)
• Monitorar estatísticas de uso (p. 334)
• Monitorar cota de envios (p. 40)
• Obter registros DKIM para uma identidade (p. 193)
• Obter credenciais SMTP (p. 46)
• Substituir supressão no nível da conta pela supressão no nível do conjunto de
configurações (p. 316)
• Substituir a assinatura DKIM herdada em uma identidade de endereço de e-mail (p. 197)
• Pausar envio de e-mails (p. 444)
• Publicar um registro MX (p. 124)
• Denunciar uso abusivo de recursos da AWS
• Solicitar endereços IP dedicados (p. 291)
• Solicitar suporte técnico
• Recuperar dados de eventos pelo CloudWatch (p. 350)
• Recuperar dados de eventos do Kinesis Data Firehose (p. 351)
• Recuperar dados de eventos do SNS (p. 374)
• Enviar um e-mail usando um SDK da AWS (p. 99)
• Enviar e-mails de modo programático (p. 52)
• Enviar e-mail usando SMTP (p. 44)
• Enviar e-mails usando a API do SES (p. 78)
• Enviar e-mails de teste usando o simulador de caixa de correio (p. 265)
• Configurar uma política de DMARC (p. 207)
• Configurar um domínio MAIL FROM (p. 200)
• Configurar BYODKIM (Traga seu próprio DKIM) (p. 187)
• Configurar o Easy DKIM (p. 186)
• Configurar o recebimento de e-mails (p. 123)
• Configurar a publicação de eventos (p. 340)
• Configurar autorização de envio (tarefas do proprietário da identidade) (p. 238)
• Configurar a autorização de envios (tarefas do remetente delegado) (p. 247)
• Especificar um conjunto de configurações ao enviar e-mails (p. 285)
• Testar a conexão com a interface SMTP (p. 72)
• Rastrear índices de devoluções e reclamações (p. 425)
• Entender as propriedades da assinatura DKIM herdadas (p. 197)
• Usar métricas de reputação (p. 425)
• Usar pacotes de software para enviar e-mails (p. 50)
• Usar gerenciamento de assinaturas (p. 325)
• Usar modelos para enviar e-mails (p. 87)
36
• Usar a lista de supressão no nível da conta (p. 300)
• Verificar uma identidade de domínio (p. 163)
• Verificar uma identidade de endereço de e-mail (p. 169)
Amazon Simple Email Service Guia do desenvolvedor
Instruções e conceitos

• Visualizar uma identidade (p. 179)


• Visualizar métricas do SNDS para IPs dedicados (p. 443)
• Aquecer endereços IP dedicados (p. 293)

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.

• Encontre informações sobre...


• Uso abusivo de recursos da AWS, denunciar
• Painel da conta (p. 331)
• Lista de supressão no nível da conta (p. 300)
• Opções de ações para recebimento de e-mail (p. 134)
• Ação Add header (p. 134) (Adicionar cabeçalho)
• Tipos de anexos incompatíveis (p. 115)
• Ação de reposta de devolução, retornar (p. 134)
• BYODKIM (Traga seu próprio DKIM) (p. 187)
• BYOIP (Traga seu próprio IP) (p. 296)
• Exemplos de código (p. 456)
• Validação de conformidade (p. 539)
• Supressão no nível do conjunto de configurações (p. 316)
• Conjuntos de configurações (p. 270)
• Codificações de conteúdo (p. 112)
• Suporte herdado de notificações entre contas (p. 235)
• Domínio MAIL FROM personalizado (p. 199)
• Proteção de dados (p. 522)
• Endereços IP dedicados (p. 288)
• DKIM, autenticar e-mail com (p. 183)
• DMARC (autenticação, relatórios e conformidade de mensagens baseados em domínio) (p. 206)
• DMARC por meio de DKIM, conformidade com o (p. 208)
• DMARC por meio de SPF, conformidade com o (p. 207)
• Easy DKIM (p. 185)
• Destino do encaminhamento de feedback de e-mails (p. 212)
• Autenticação de recebimento de e-mails (p. 122)
• Conceitos de recebimento de e-mails (p. 117)
• Demonstrações de recebimento de e-mails no console (p. 130)
• Verificação de malware para recebimento de e-mails (p. 122)
• Permissões para recebimento de e-mails (p. 126)
• Casos de uso de recebimento de e-mails (p. 120)
• Restrições de recebimento de e-mails (p. 120)
• Métodos de autenticação para envio de e-mails (p. 183)
• Endpoints (p. 2)
• Notificações de eventos (p. 210)
• Notificações de eventos por e-mail (p. 211)
• Notificações de eventos pelo SNS (p. 213)
• Event publishing (Publicação do evento) (p. 338)
37
Amazon Simple Email Service Guia do desenvolvedor
Instruções e conceitos

• FAQs (perguntas frequentes) (p. 561)


• Lista de supressão global (p. 299)
• Campos de cabeçalho compatíveis (p. 114)
• Identidade, gerenciamento (p. 179)
• Gerenciamento de identidade e acesso (p. 529)
• Segurança da infraestrutura (p. 540)
• Ação Integrate with Amazon WorkMail (p. 155) (Integrar com o Amazon WorkMail)
• Controle baseado em IP usando filtros de endereço IP (p. 119)
• Ação Invoke Lambda function (Invocar função Lambda) (p. 135)
• Gerenciamento de listas (p. 318)
• Listas e assinaturas (p. 298)
• Registro e monitoramento (p. 535)
• Detecção de malware (p. 122)
• Assinatura DKIM manual (p. 199)
• Monitorar o envio de e-mails usando a publicação de eventos (p. 337)
• Monitorar a reputação do remetente (p. 425)
• Monitorar atividade de envio (p. 328)
• Cotas (p. 6)
• Regras de recebimento (p. 130)
• Controle baseado em destinatário usando regras de recebimento (p. 118)
• Regiões (p. 2)
• Métricas de reputação (p. 332)
• Mensagens de métricas de reputação (p. 427)
• Resiliência (p. 540)
• Ação Deliver to S3 bucket (Entregar ao bucket do S3) (p. 142)
• Área restrita para testes: saindo de (p. 32)
• Segurança (p. 522)
• Protocolos de segurança compatíveis (p. 112)
• Autorização de envios (p. 235)
• Anatomia de política de autorização de envio (p. 254)
• Exemplos de política de autorização de envio (p. 259)
• Processo de autorização de envios (p. 236)
• Métricas SNDS para IPs dedicados (p. 443)
• Conteúdo das notificações do SNS (p. 217)
• Exemplos de notificação do SNS (p. 228)
• Ação de tópico do SNS, publicar em (p. 144)
• SPF (Sender Policy Framework) (p. 209)
• Ação Stop rule set (p. 155) (Interromper conjunto de regras)
• Gerenciamento de assinaturas (p. 325)
• Suporte técnico, solicitar
• Modelos para verificação personalizada de e-mails (p. 170)
• Solução de problemas (p. 545)
• Identidades verificadas (p. 158)
• VPC endpoints (p. 540)

38
Amazon Simple Email Service Guia do desenvolvedor

Gerenciamento de limites do envio do


Amazon SES
Sua conta do Amazon SES tem um conjunto de cotas de envio para regular o número de mensagens
de e-mail que você pode enviar e a taxa na qual pode enviá-las. As cotas de envio beneficiam todos
os clientes do Amazon SES porque ajudam a manter a relação de confiança entre o Amazon SES e os
provedores de e-mail. As cotas de envio ajudam você a acelerar gradualmente suas atividades de envio e
a diminuir a probabilidade de os provedores de e-mail bloquearem seus e-mails devido a picos repentinos
e inesperados no volume ou na taxa de envio de e-mails.

As seguintes cotas se aplicam ao envio de e-mail pelo Amazon SES:

• 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

As cotas de envio são baseadas em destinatários, e não em mensagens. Por exemplo, um


e-mail com 10 destinatários conta como 10 para sua cota. No entanto, não recomendamos
que você envie um e-mail para vários destinatários em uma única chamada para a operação
de API SendEmail, porque se houver falha na chamada, todos os e-mails serão rejeitados.
Recomendamos que você chame SendEmail uma vez para cada destinatário.

• 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).

Monitoramento de cotas de envio do Amazon SES


Você pode monitorar as cotas de envio usando o console do Amazon SES ou a API do Amazon SES, seja
chamando a interface de consulta (HTTPS) diretamente ou, indiretamente, por meio de um AWS SDK, da
AWS Command Line Interface ou do AWS Tools for Windows PowerShell.
Important

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.

Monitoramento das cotas de envio usando o console


do Amazon SES
O procedimento a seguir mostra como visualizar as cotas de envio 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, 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).

Monitoramento das cotas de envio usando a API do


Amazon SES
A API do Amazon SES fornece a ação GetSendQuota, que retorna as cotas de envio. Quando você
chama ação GetSendQuota, recebe as seguintes informações:

• Número de e-mails enviados nas últimas 24 horas


• Cota de envio para o período atual de 24 horas
• Taxa máxima de envio

Note
Para obter uma descrição de GetSendQuota, consulte a Referência da API do Amazon Simple
Email Service.

Aumento de suas cotas de envio do Amazon SES


Sua conta da tem as seguintes cotas de acordo com sua região atual que podem ser aumentadas.

Recurso Cota Descrição


padrão

Cota de envio 200 O número máximo de e-mails que você pode


enviar no período de 24 horas para essa conta na
Região da AWS atual.

Taxa de envios 1 O número máximo de e-mails que o Amazon SES


pode aceitar a cada segundo para esta conta na
Região da AWS atual.

41
Amazon Simple Email Service Guia do desenvolvedor
Cotas de envio aumentadas automaticamente

Cotas de envio aumentadas automaticamente


Quando sua conta estiver fora da sandbox e você estiver enviando e-mails de produção de alta qualidade,
poderemos automaticamente aumentar as cotas de envio da conta. Muitas vezes, aumentamos essas
cotas automaticamente antes de você realmente precisar que elas sejam aumentadas.

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.

O usuário solicitou cotas maiores de envio


Se as cotas de envio atuais não forem adequadas para suas necessidades e não tiverem sido aumentadas
automaticamente, você poderá solicitar um aumento:

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

1. Abra o console do Service Quotas.


2. Selecione a região para a qual você deseja aumentar usando o menu suspenso no canto superior
direito do console (ao lado do número da conta).
3. No painel de navegação, escolha AWSServiços da .
4. Escolha Amazon Simple Email Service (SES).
5. Escolha uma cota e siga as instruções para solicitar um aumento de cota.

SLA de equipe AWS Support para aumentar os tipos de solicitações

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.

• Quota de envio ou Taxa de envio: até 24 horas.

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.

Erros relacionados a cotas de envio para sua conta


do Amazon SES
Se tentar enviar um e-mail depois que atingir sua cota de envio diária (a quantidade máxima de e-mails
que você pode enviar no período de 24 horas) ou sua taxa máxima de envio (o número máximo de
mensagens que você pode enviar por segundo), o Amazon SES descarta as mensagens e não tenta
enviá-las. O Amazon SES também fornece uma mensagem de erro que explica o problema. A maneira
como o Amazon SES gera essa mensagem de erro depende de como você tentou enviar o e-mail. Esse
tópico inclui informações sobre as mensagens que você recebe por meio da API do Amazon SES e por
meio da interface SMTP.

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.

Atingimento dos limites do envio com a API do


Amazon SES
Se tentar enviar um e-mail usando a API do Amazon SES (ou um AWS SDK), mas já excedeu os limites
do envio de sua conta, a API gera um erro ThrottlingException. A mensagem de erro inclui uma das
seguintes mensagens:

• Daily message quota exceeded


• Maximum sending rate exceeded

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.

Atingimento dos limites do envio com SMTP


Se tentar enviar um e-mail usando a interface SMTP do Amazon SES, mas já tiver excedeu os limites do
envio de sua conta, o cliente SMTP pode exibir um dos seguintes erros:

• 454 Throttling failure: Maximum sending rate exceeded


• 454 Throttling failure: Daily message quota exceeded

Diferentes clientes SMTP lidam com esses erros de maneira diferente.

43
Amazon Simple Email Service Guia do desenvolvedor
Usar a interface SMTP

Configurar o e-mail com o Amazon


SES
Você pode enviar um e-mail com o Amazon Simple Email Service (Amazon SES) usando o console do
Amazon SES, a interface SMTP (Simple Mail Transfer Protocol) do Amazon SES ou a API do Amazon
SES. Em geral, você usa o console para enviar e-mails de teste e gerenciar sua atividade de envio. Para
enviar e-mails em massa, você pode usar a interface SMTP ou a API. Para obter mais informações preços
do e-mail do Amazon SES, consulte Preços do Amazon SES.

• Se você quiser usar um pacote de software, aplicação ou linguagem de programação habilitados


para SMTP para enviar e-mails pelo Amazon SES ou integrar o Amazon SES ao servidor de e-mails
existente, use a interface SMTP do Amazon SES. Para mais informações, consulte Envio de e-mails de
modo programático pela interface SMTP do Amazon SES (p. 52).
• Se você quiser chamar o Amazon SES usando solicitações HTTP brutas, use a API do Amazon SES.
Para mais informações, consulte Uso da API do Amazon SES para enviar e-mail (p. 78).

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.

Uso da interface SMTP do Amazon SES para


enviar e-mail
Para enviar e-mail de produção pelo Amazon SES, você pode usar a interface SMTP (Simple Mail Transfer
Protocol) ou a API do Amazon SES. Para obter mais informações sobre a API do Amazon SES, consulte
Uso da API do Amazon SES para enviar e-mail (p. 78). Esta seção descreve a interface SMTP.

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

Requisitos para enviar e-mail por SMTP


Para enviar e-mails usando a interface SMTP do Amazon SES, você precisará do seguinte:

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

Métodos para enviar e-mail por SMTP


Você pode enviar e-mail por SMTP usando qualquer um dos seguintes métodos:

• 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).

Informações de e-mail a serem fornecidas


Quando acessa o Amazon SES pela interface SMTP, sua aplicação de cliente SMTP monta a mensagem,
portanto, as informações que você precisa fornecer dependerão da aplicação que estiver usando. No
mínimo, a troca de SMTP entre um cliente e um servidor requer o seguinte:

• 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

Obtenção de credenciais SMTP do Amazon SES


Você precisa de um nome de usuário e senha de SMTP do Amazon SES para acessar a interface SMTP
do Amazon SES.

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

Obtenção de credenciais SMTP do Amazon SES usando o


console do Amazon SES
Quando usa o fluxo de trabalho do SES abaixo para gerar credenciais de SMTP usando o console, você
está usando um console do IAM para criar um usuário do IAM com as políticas adequadas para chamar o
Amazon SES e fornecer as credenciais SMTP associadas a esse usuário.

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

Para criar suas credenciais SMTP

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

8. Escolha Close Window.

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

Obtenção de credenciais SMTP do Amazon SES convertendo as


credenciais existentes da AWS
Se tiver um usuário do IAM que foi configurado usando a interface do IAM, você pode derivar as
credenciais SMTP do Amazon SES do usuário das credenciais dela da AWS.
Important

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.

// Modify this variable to include your AWS secret access key

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;

kDate = HmacSha256(date, "AWS4" + key);


kRegion = HmacSha256(region, kDate);
kService = HmacSha256(service, kRegion);
kTerminal = HmacSha256(terminal, kService);
kMessage = HmacSha256(message, kTerminal);
signatureAndVersion = Concatenate(version, kMessage);
smtpPassword = Base64(signatureAndVersion);

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 sign(key, msg):


return hmac.new(key, msg.encode('utf-8'), hashlib.sha256).digest()

def calculate_key(secret_access_key, region):


if region not in SMTP_REGIONS:
raise ValueError(f"The {region} Region doesn't have an SMTP endpoint.")

signature = sign(("AWS4" + secret_access_key).encode('utf-8'), DATE)


signature = sign(signature, region)
signature = sign(signature, SERVICE)
signature = sign(signature, TERMINAL)
signature = sign(signature, MESSAGE)
signature_and_version = bytes([VERSION]) + signature
smtp_password = base64.b64encode(signature_and_version)
return smtp_password.decode('utf-8')

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:

python path/to/smtp_credentials_generate.py wJalrXUtnFEMI/K7MDENG/


bPxRfiCYEXAMPLEKEY us-east-1

No comando anterior, faça o seguinte:

• Substitua path/to/ pelo caminho para o local em que você salvou


smtp_credentials_generate.py.
• Substitua wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY pela chave de acesso secreta que
você deseja converter em uma senha SMTP.
• Substitua us-east-1 pela região da AWS na qual você deseja usar as credenciais SMTP.

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:

python path/to/smtp_credentials_generate.py wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY us-


east-1

49
Amazon Simple Email Service Guia do desenvolvedor
Conectar-se a um endpoint SMTP do

No comando anterior, faça o seguinte:

• Substitua path/to/ pelo caminho para o local em que você salvou


smtp_credentials_generate.py.
• Substitua wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY pela chave de acesso secreta que você
deseja converter em uma senha SMTP.
• Substitua us-east-1 pela região da AWS na qual você deseja usar as credenciais SMTP.

Quando esse script é executado com êxito, a única saída é sua senha SMTP.

Conexão com um endpoint SMTP do Amazon SES


Para enviar e-mail usando a interface SMTP do Amazon SES, você conecta com um endpoint SMTP. Para
obter uma lista completa dos endpoints SMTP do Amazon SES, consulte Endpoints e cotas do Amazon
Simple Email Service na Referência geral da AWS.

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.

Envio de e-mails pelo Amazon SES usando pacotes


de software
Há diversos pacotes de software comerciais e de código aberto que oferecem suporte ao envio de e-mail
por SMTP. Aqui estão alguns exemplos:

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.

Para configurar o JIRA para enviar e-mail usando o Amazon SES

1. Usando seu navegador, faça login no JIRA com as credenciais de administrador.


2. Na janela do navegador, escolha Administration.
3. No menu System, escolha Mail.
4. Na página Mail administration, escolha Mail Servers.
5. Escolha Configure new SMTP mail server.
6. No formulário Add SMTP Mail Server, preencha os seguintes campos:

a. Name – Um nome descritivo para esse servidor.


b. From address (Endereço de origem): o endereço de onde o e-mail será enviado. Você deve
verificar esse endereço de e-mail com o Amazon SES antes de poder enviar a partir dele.
Para obter mais informações sobre verificação, consulte Identidades verificadas no Amazon
SES (p. 158).
c. Email prefix – Uma string que o JIRA acrescenta para cada linha de assunto antes de enviar.
d. Protocol – Escolha SMTP.
Note

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.

Você pode ver as configurações para o TLS Wrapper na imagem a seguir.

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.

Envio de e-mails de modo programático pela interface


SMTP do Amazon SES
Para enviar um e-mail usando a interface SMTP do Amazon SES, você pode usar uma linguagem de
programação, um servidor de e-mail ou uma aplicação habilitada para SMTP. Antes de começar, realize
as tarefas em Configuração do Amazon Simple Email Service (p. 29). Você também precisa obter as
seguintes informações:

• 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).

Selecione uma linguagem de programação para visualizar o exemplo dessa linguagem:

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.

Antes de realizar o procedimento a seguir, conclua as tarefas de configuração descritas em


Configuração do Amazon Simple Email Service (p. 29).

Para enviar um e-mail usando a interface SMTP do Amazon SES com C#

1. Crie um projeto de console no Visual Studio realizando as seguintes etapas:

a. Abra o Microsoft Visual Studio.


b. No menu File (Arquivo), escolha New (Novo) , Project (Projeto).
c. Na janela New Project, no painel esquerdo, expanda Installed, expanda Templates e, em
seguida, expanda Visual C#.
d. Em Visual C#, escolha Windows Classic Desktop.
e. No menu na parte superior da janela, escolha .NET Framework 4.5, conforme mostrado na
imagem a seguir.

Note

Você pode escolher uma versão posterior do .NET Framework, se necessário.


f. Escolha Console App (.NET Framework).
g. No campo Name (Nome), digite AmazonSESSample.
h. Escolha OK.
2. No seu projeto do Visual Studio, substitua todo o conteúdo de Program.cs pelo seguinte código:

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";

// Replace [email protected] with a "To" address. If your account


// is still in the sandbox, this address must be verified.
String TO = "[email protected]";

// Replace smtp_username with your Amazon SES SMTP user name.


String SMTP_USERNAME = "smtp_username";

// Replace smtp_password with your Amazon SES SMTP password.


String SMTP_PASSWORD = "smtp_password";

// (Optional) the name of a configuration set to use for this message.


// If you comment out this line, you also need to remove or comment out
// the "X-SES-CONFIGURATION-SET" header below.
String CONFIGSET = "ConfigSet";

// If you're using Amazon SES in a region other than US West (Oregon),


// replace email-smtp.us-west-2.amazonaws.com with the Amazon SES SMTP

// endpoint in the appropriate AWS Region.


String HOST = "email-smtp.us-west-2.amazonaws.com";

// 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;

// The subject line of the email


String SUBJECT =
"Amazon SES test (SMTP interface accessed using C#)";

// The body of the email


String BODY =
"<h1>Amazon SES Test</h1>" +
"<p>This email was sent through the " +
"<a href='https://aws.amazon.com/ses'>Amazon SES</a> SMTP interface
" +
"using the .NET System.Net.Mail library.</p>";

// Create and build a new MailMessage object


MailMessage message = new MailMessage();
message.IsBodyHtml = true;
message.From = new MailAddress(FROM, FROMNAME);
message.To.Add(new MailAddress(TO));
message.Subject = SUBJECT;
message.Body = BODY;
// Comment or delete the next line if you are not using a configuration
set
message.Headers.Add("X-SES-CONFIGURATION-SET", CONFIGSET);

54
Amazon Simple Email Service Guia do desenvolvedor
Envio de e-mails de modo programático

using (var client = new System.Net.Mail.SmtpClient(HOST, PORT))


{
// Pass SMTP credentials
client.Credentials =
new NetworkCredential(SMTP_USERNAME, SMTP_PASSWORD);

// Enable SSL encryption


client.EnableSsl = true;

// Try to send the message. Show status in console.


try
{
Console.WriteLine("Attempting to send email...");
client.Send(message);
Console.WriteLine("Email sent!");
}
catch (Exception ex)
{
Console.WriteLine("The email was not sent.");
Console.WriteLine("Error message: " + ex.Message);
}
}
}
}
}

3. Em Program.cs, substitua os seguintes endereços de e-mail por seus próprios valores:


Important

Os endereços de e-mail diferenciam maiúsculas de minúsculas. Certifique-se de que os


endereços sejam exatamente os mesmos que você verificou.

[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

8. Para construir o projeto, escolha Build e, em seguida, escolha Build Solution.


9. Para executar o programa, escolha Debug e escolha Start Debugging.
10. 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.
11. Entre no cliente de e-mail do endereço de destinatário. Você verá a mensagem que enviou.

Java

Este exemplo usa Eclipse IDE e a API JavaMail para enviar e-mail pelo Amazon SES usando a
interface SMTP.

Antes de realizar o procedimento a seguir, conclua as tarefas de configuração descritas em


Configuração do Amazon Simple Email Service (p. 29).

Para enviar um e-mail usando a interface SMTP do Amazon SES com Java

1. Em um navegador da web, vá para a página do JavaMail Github. Em Downloads, escolha


javax.mail.jar para fazer download da versão mais recente do JavaMail.
Important
Este tutorial requer JavaMail versão 1.5 ou posterior. Esses procedimentos foram
testados usando o JavaMail versão 1.6.1.
2. Crie um projeto no Eclipse realizando as seguintes etapas:

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;

public class AmazonSESSample {

// Replace [email protected] with your "From" address.


// This address must be verified.
static final String FROM = "[email protected]";
static final String FROMNAME = "Sender Name";

// Replace [email protected] with a "To" address. If your account


// is still in the sandbox, this address must be verified.
static final String TO = "[email protected]";

56
Amazon Simple Email Service Guia do desenvolvedor
Envio de e-mails de modo programático

// Replace smtp_username with your Amazon SES SMTP user name.


static final String SMTP_USERNAME = "smtp_username";

// Replace smtp_password with your Amazon SES SMTP password.


static final String SMTP_PASSWORD = "smtp_password";

// The name of the Configuration Set to use for this message.


// If you comment out or remove this variable, you will also need to
// comment out or remove the header below.
static final String CONFIGSET = "ConfigSet";

// 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)";

static final String BODY = String.join(


System.getProperty("line.separator"),
"<h1>Amazon SES SMTP Email Test</h1>",
"<p>This email was sent with Amazon SES using the ",
"<a href='https://github.com/javaee/javamail'>Javamail Package</a>",
" for <a href='https://www.java.com'>Java</a>."
);

public static void main(String[] args) throws Exception {

// Create a Properties object to contain connection configuration


information.
Properties props = System.getProperties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.port", PORT);
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.auth", "true");

// Create a Session object to represent a mail session with the specified


properties.
Session session = Session.getDefaultInstance(props);

// Create a message with the specified information.


MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(FROM,FROMNAME));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(TO));
msg.setSubject(SUBJECT);
msg.setContent(BODY,"text/html");

// Add a configuration set header. Comment or delete the


// next line if you are not using a configuration set
msg.setHeader("X-SES-CONFIGURATION-SET", CONFIGSET);

// Create a transport.
Transport transport = session.getTransport();

// Send the message.


try
{
System.out.println("Sending...");

// 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

transport.connect(HOST, SMTP_USERNAME, SMTP_PASSWORD);

// Send the email.


transport.sendMessage(msg, msg.getAllRecipients());
System.out.println("Email sent!");
}
catch (Exception ex) {
System.out.println("The email was not sent.");
System.out.println("Error message: " + ex.getMessage());
}
finally
{
// Close and terminate the connection.
transport.close();
}
}
}

7. Em AmazonSESSample.java, substitua os seguintes endereços de e-mail por seus próprios


valores:
Important

Os endereços de e-mail diferenciam maiúsculas de minúsculas. Certifique-se de que os


endereços sejam exatamente os mesmos que você verificou.

[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).

• YOUR_SMTP_USERNAME: substitua pela sua credencial de 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.
9. (Opcional) Se quiser usar um endpoint SMTP do Amazon SES em uma Região da AWS que
não seja a região Oeste dos EUA (Oregon), altere o valor da variável HOST para o endpoint que
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.
10. (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).
11. Salvar AmazonSESSample.java.
12. Para criar o projeto, escolha Project e, em seguida, escolha Build Project. (Se essa opção estiver
desativada, você pode ter a criação automática ativada.)
13. Para iniciar o programa e enviar o e-mail, escolha Run e Run novamente.
14. 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.

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:

• Instale o PHP: o PHP está disponível em http://php.net/downloads.php. Depois de instalar o PHP,


adicione o caminho para o PHP nas suas variáveis de ambiente, de forma que possa executar o
PHP a partir de qualquer prompt de comando.
• Instale o gerenciador de dependências Composer: após instalar o gerenciador de dependências
Composer, você pode baixar e instalar a classe PHPMailer e suas dependências. Para instalar o
Composer, siga as instruções de instalação em https://getcomposer.org/download.
• Instale a classe PHPMailer: após instalar o Composer, execute o comando a seguir para instalar o
PHPMailer:

path/to/composer require phpmailer/phpmailer

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

1. Crie um arquivo chamado amazon-ses-smtp-sample.php. Abra o arquivo com um editor de


texto e cole o seguinte código:

<?php

// Import PHPMailer classes into the global namespace


// These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

// 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';

// Replace [email protected] with your "From" address.


// This address must be verified with Amazon SES.
$sender = '[email protected]';
$senderName = 'Sender Name';

// Replace [email protected] with a "To" address. If your account


// is still in the sandbox, this address must be verified.
$recipient = '[email protected]';

// Replace smtp_username with your Amazon SES SMTP user name.


$usernameSmtp = 'smtp_username';

// Replace smtp_password with your Amazon SES SMTP password.


$passwordSmtp = 'smtp_password';

// Specify a configuration set. If you do not want to use a configuration


// set, comment or remove the next line.
$configurationSet = 'ConfigSet';

59
Amazon Simple Email Service Guia do desenvolvedor
Envio de e-mails de modo programático

// If you're using Amazon SES in a region other than US West (Oregon),


// replace email-smtp.us-west-2.amazonaws.com with the Amazon SES SMTP
// endpoint in the appropriate region.
$host = 'email-smtp.us-west-2.amazonaws.com';
$port = 587;

// The subject line of the email


$subject = 'Amazon SES test (SMTP interface accessed using PHP)';

// The plain-text body of the email


$bodyText = "Email Test\r\nThis email was sent through the
Amazon SES SMTP interface using the PHPMailer class.";

// The HTML-formatted body of the email


$bodyHtml = '<h1>Email Test</h1>
<p>This email was sent through the
<a href="https://aws.amazon.com/ses">Amazon SES</a> SMTP
interface using the <a href="https://github.com/PHPMailer/PHPMailer">
PHPMailer</a> class.</p>';

$mail = new PHPMailer(true);

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);

// Specify the message recipients.


$mail->addAddress($recipient);
// You can also add CC, BCC, and additional To recipients here.

// Specify the content of the message.


$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $bodyHtml;
$mail->AltBody = $bodyText;
$mail->Send();
echo "Email sent!" , PHP_EOL;
} catch (phpmailerException $e) {
echo "An error occurred. {$e->errorMessage()}", PHP_EOL; //Catch errors from
PHPMailer.
} catch (Exception $e) {
echo "Email not sent. {$mail->ErrorInfo}", PHP_EOL; //Catch errors from Amazon
SES.
}

?>

2. Em amazon-ses-smtp-sample.php, substitua o seguinte pelos seus próprios valores:

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

60
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente

[email protected]: substitua pelo endereço do destinatário. 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). Certifique-se de que o
endereço informado seja exatamente o mesmo que você verificou.
• smtp_username: substitua pela sua credencial de nome de usuário SMTP, que você obteve
na página Configurações de SMTP do console do Amazon SES. Essa não é igual ao ID de
chave de acesso da AWS. 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.
• smtp_password: substitua pela sua senha SMTP, que você obteve na página Configurações
de SMTP do console do Amazon SES. Essa não é igual à chave de acesso secreta da AWS.
• (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) email-smtp.us-west-2.amazonaws.com: se você quiser usar um endpoint
SMTP do Amazon SES em uma região diferente de Oeste dos EUA (Oregon), substitua pelo
endpoint SMTP do da região que você 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.
3. Salvar amazon-ses-smtp-sample.php.
4. Para executar o programa, abra um prompt de comando no mesmo diretório de amazon-ses-
smtp-sample.php e, em seguida, digite php amazon-ses-smtp-sample.php.
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.
6. Entre no cliente de e-mail do endereço de destinatário. Você verá a mensagem que enviou.

Integração do Amazon SES com seu servidor de e-


mail existente
Se você administrar atualmente seu próprio servidor de e-mails, poderá usar o endpoint SMTP do
Amazon SES para enviar todos os e-mails de saída ao Amazon SES. Não há necessidade de modificar as
aplicações e clientes de e-mail existentes; a mudança para o Amazon SES será transparente para eles.

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)

Integração do Amazon SES com o Postfix


Postfix é uma alternativa ao Message Transfer Agent (MTA) do Sendmail. Para obter informações sobre
Postfix, acesse http://www.postfix.org. Os procedimentos neste tópico funcionarão com Linux, macOS ou
Unix.

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

As referências a sendmail a seguir referem-se ao comando Postfixsendmail. Não as confunda


com a aplicação Sendmail.
• Instale o Postfix. O procedimento para concluir esta etapa pode variar dependendo de seu sistema
operacional.
• Instale um pacote de autenticação SASL. O procedimento para concluir esta etapa pode variar
dependendo de seu sistema operacional. Por exemplo, se usar um sistema RedHat, deverá instalar
o pacote cyrus-sasl-plain. Se usar um sistema Debian ou Ubuntu, deverá instalar o pacote
libsasl2-modules.
• Confirme o endereço de e-mail ou domínio que você usará para enviar e-mails. Para mais informações,
consulte Criação da identidade de um endereço de e-mail (p. 168).
• Se a sua conta ainda estiver no sandbox, você só poderá enviar e-mail para endereços de e-mail
verificados. Para mais informações, consulte Saída da sandbox do Amazon SES (p. 32).

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.

Para configurar o Postfix

1. Na linha de comando, digite o seguinte comando:

sudo postconf -e "relayhost = [email-smtp.us-west-2.amazonaws.com]:587" \


"smtp_sasl_auth_enable = yes" \
"smtp_sasl_security_options = noanonymous" \
"smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd" \
"smtp_use_tls = yes" \
"smtp_tls_security_level = encrypt" \
"smtp_tls_note_starttls_offer = yes"

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

Substitua SMTPUSERNAME e SMTPPASSWORD pelo seu nome de usuário e senha do SMTP,


respectivamente. O nome do usuário e a senha SMTP não são iguais ao ID de chave
de acesso e à chave de acesso secreta da AWS. Para obter mais informações sobre
credenciais, consulte the section called “Obter as credenciais SMTP” (p. 46).
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 exemplo anterior com
o endpoint SMTP do para a região apropriada. Para mais informações, consulte the section
called “Regiões” (p. 2).

Salve e feche sasl_passwd.


5. Em um prompt de comando, digite o comando a seguir para criar um arquivo de banco de dados de
hashmap que contém suas credenciais SMTP:

sudo postmap hash:/etc/postfix/sasl_passwd

6. (Opcional) Os arquivos /etc/postfix/sasl_passwd e /etc/postfix/sasl_passwd.db


que você criou nas etapas anteriores não são criptografados. Como esses arquivos contêm suas
credenciais do SMTP, recomendamos que você modifique a propriedade e as permissões dos
arquivos para restringir o acesso a eles. Para restringir o acesso a esses arquivos:

a. Em um prompt de comando, digite o comando a seguir para alterar a propriedade dos arquivos:

sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

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:

sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

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:

sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt'

• Se você usa Ubuntu ou uma distribuição relacionada, digite o comando a seguir:

sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt'

• 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

sudo security find-certificate -a -p /System/Library/Keychains/


SystemRootCertificates.keychain > /etc/ssl/certs/ca-bundle.crt

Depois que você gerar o certificado, digite o comando a seguir:

sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt'

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):

sudo postfix start; sudo postfix reload

9. Envie um e-mail de teste digitando o seguinte em uma linha de comando, pressionando


Enter após cada linha. Substitua [email protected] pelo endereço de e-mail do
remetente. O endereço From (De) precisa ser verificado para uso com o Amazon SES. Substitua
destinatá[email protected] pelo endereço de destino. Se sua conta ainda estiver na sandbox, o
endereço do destinatário também precisa ser verificado. Por fim, a última linha da mensagem precisa
conter um ponto final (.) sem nenhum outro conteúdo.

sendmail -f [email protected] [email protected]


From: Sender Name <[email protected]>
Subject: Amazon SES Test
This message was sent using Amazon SES.
.

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.

Exemplo de uso avançado


Este exemplo mostra como enviar um e-mail que usa um conjunto de configurações (p. 270) e que usa
a codificação MIME multipartes para enviar uma versão da mensagem tanto em texto simples quanto
em HTML junto com um anexo. Isso também inclui uma tag de link (p. 583), que pode ser usada para
categorizar eventos de clique. O conteúdo do e-mail é especificado em um arquivo externo, de modo que
você não precise digitar manualmente os comandos na sessão do Postfix.

Para enviar um e-mail MIME multipartes usando o Postfix

1. Em um editor de texto, crie um novo arquivo chamado mime-email.txt.


2. No arquivo de texto, cole o conteúdo a seguir, substituindo os valores em vermelho pelos valores
apropriados para a sua conta:

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

Amazon SES Test

This message was sent from Amazon SES using the SMTP interface.

For more information, see:


http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html

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

Salve e feche o arquivo .


3. Na linha de comando, digite o seguinte comando. Substitua [email protected] pelo seu
endereço de e-mail e [email protected] pelo endereço do destinatário.

sendmail -f [email protected] [email protected] < mime-email.txt

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.

Integração do Amazon SES com o Sendmail


O Sendmail foi lançado no início dos anos 1980 e vem ganhando continuamente melhorias. Ele é um
agente de transferência de mensagens (MTA) flexível e configurável com uma grande comunidade de
usuários. O Sendmail foi adquirido pela Proofpoint em 2013, mas a Proofpoint continua oferecendo uma
versão de código aberto do Sendmail. Você pode fazer download da versão de código aberto do Sendmail
no site da Proofpoint ou por meio dos gerenciadores de pacote da maioria das distribuições do Linux.

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:

• Instalar o pacote do Sendmail no servidor.


Note
Dependendo da distribuição do sistema operacional que você usa, talvez também seja
necessário instalar os seguintes pacotes: sendmail-cf, m4 e cyrus-sasl-plain.
• Verificar uma identidade para usar como seu endereço de remetente. Para mais informações, consulte
Criação da identidade de um endereço de e-mail (p. 168).

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.

Para configurar o Sendmail

1. Em um editor de arquivo, abra o arquivo /etc/mail/authinfo. Se o arquivo não existir, crie-o.

Adicione a linha a seguir a /etc/mail/authinfo:

AuthInfo:email-smtp.us-west-2.amazonaws.com "U:root" "I:smtpUsername" "P:smtpPassword"


"M:PLAIN"

66
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente

No exemplo anterior, faça as seguintes alterações:

• Substitua email-smtp.us-west-2.amazonaws.com pelo endpoint SMTP do Amazon SES que


deseja usar.
• Substitua SMTPUserName pelo seu nome de usuário SMTP do Amazon SES.
• Substitua smtpPassword por sua senha SMTP do Amazon SES.

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

Quando terminar, salve authinfo.


2. Na linha de comando, digite o comando a seguir para gerar o arquivo /etc/mail/authinfo.db:

sudo sh -c 'makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo'

3. Na linha de comando, digite o comando a seguir para adicionar o suporte à retransmissão para o
endpoint SMTP do Amazon SES.

sudo sh -c 'echo "Connect:email-smtp.us-west-2.amazonaws.com RELAY" >> /etc/mail/


access'

No comando anterior, substitua email-smtp.us-west-2.amazonaws.com pelo endereço do


endpoint SMTP do Amazon SES que deseja usar.
4. Na linha de comando, digite o comando a seguir para gerar novamente /etc/mail/access.db:

sudo sh -c 'makemap hash /etc/mail/access.db < /etc/mail/access'

5. Na linha de comando, digite o comando a seguir para criar backups dos arquivos sendmail.cf e
sendmail.mc:

sudo sh -c 'cp /etc/mail/sendmail.cf /etc/mail/sendmail_cf.backup && cp /etc/mail/


sendmail.mc /etc/mail/sendmail_mc.backup'

6. Adicione as seguintes linhas ao arquivo /etc/mail/sendmail.mc antes de qualquer definição do


MAILER().

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

No texto anterior, faça o seguinte:

• Substitua email-smtp.us-west-2.amazonaws.com pelo endpoint SMTP do Amazon SES que


deseja usar.
• Substitua example.com pelo domínio a ser usado para enviar e-mail.

67
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente

Ao concluir, salve o arquivo.


Note

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:

sudo chmod 666 /etc/mail/sendmail.cf

8. Na linha de comando, digite o comando a seguir para gerar novamente sendmail.cf:

sudo sh -c 'm4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf'

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:

sudo chmod 644 /etc/mail/sendmail.cf

10. Na linha de comando, digite o comando a seguir para reiniciar o Sendmail:

sudo /etc/init.d/sendmail restart

Dependendo da versão do Linux ou do Sendmail, se o indicado acima não funcionar, tente fazer o
seguinte:

sudo su service sendmail restart

11. Conclua as etapas a seguir para enviar um e-mail de teste:

a. Na linha de comando, insira o seguinte comando:

/usr/sbin/sendmail -vf [email protected] [email protected]

Substitua [email protected] pelo endereço de e-mail do remetente. Substitua


[email protected] pelo endereço do destinatário. Quando terminar, pressione Enter.
b. Insira o conteúdo de mensagem a seguir. Pressione Enter ao final de cada linha.

From: [email protected]
To: [email protected]
Subject: Amazon SES test email

This is a test message sent from Amazon SES using Sendmail.

Quando terminar de inserir o conteúdo do e-mail, pressione Ctrl+D para enviá-lo.


12. Verifique o cliente de e-mail do destinatário para o e-mail. Se você não encontrar o e-mail, verifique a
pasta de spam. Se você ainda não conseguir localizar o e-mail, verifique o log do Sendmail no servidor
de e-mail. O log geralmente está localizado em /var/log/mail.log ou em /var/log/maillog.

68
Amazon Simple Email Service Guia do desenvolvedor
Integrar o ao seu servidor de e-mail existente

Integração do Amazon SES com o IIS SMTP do Microsoft


Windows Server
Você pode configurar o servidor IIS SMTP do Microsoft Windows Server para enviar e-mails pelo Amazon
SES. Essas instruções foram escritas usando o Microsoft Windows Server 2012 em uma instância do
instância do Amazon EC2. Você pode usar a mesma configuração no Microsoft Windows Server 2008 e no
Microsoft Windows Server 2008 R2.
Note

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

1. Primeiro, configure o Microsoft Windows Server 2012 usando as instruções a seguir.

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.

a. Volte para Server Manager Dashboard.


b. No menu Tools, escolha Internet Information Services (IIS) 6.0 Manager.
c. Clique com o botão direito em SMTP Virtual Server #1 e selecione Properties.
d. Na guia Access, em Relay Restrictions, escolha Relay.
e. Na caixa de diálogo Relay Restrictions, escolha Add.
f. Em Single Computer, insira 127.0.0.1 para o endereço IP. Você agora concedeu acesso para este
servidor transmitir e-mails ao Amazon SES por meio do serviço SMTP IIS.

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.

Integração do Amazon SES com o Exim


O Exim é um Mail Transfer Agent (MTA) altamente flexível e configurável. Para saber mais sobre o Exim,
acesse o site do Exim.
Note

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.

Para configurar o Exim para enviar e-mail pelo Amazon SES

1. Em um editor de texto, abra o arquivo /etc/exim.conf.local. Se o arquivo não existir, copie o


modelo de /etc/exim4/exim4.conf.template.
2. Mo /etc/exim.conf.local, faça as seguintes alterações:

a. Na seção routers, após a linha begin routers, adicione o seguinte:

send_via_ses:
driver = manualroute
domains = ! +local_domains
transport = ses_smtp
route_list = * email-smtp.us-west-2.amazonaws.com;

No código anterior, substitua email-smtp.us-west-2.amazonaws.com pelo endpoint SMTP


que você deseja usar para enviar a mensagem. Para mais informações, consulte Regiões e o
Amazon SES (p. 2).
b. Na seção transports, após a linha begin transports, adicione o seguinte:

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 = *

c. Na seção authenticators, após a linha begin authenticators, adicione o seguinte:

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

Suas credenciais de SMTP não são iguais ao ID da chave de acesso e à chave de


acesso secreta da AWS. Para obter mais informações sobre como obter as credenciais
de SMTP, consulte Obtenção de credenciais SMTP do Amazon SES (p. 46).
3. Salvar /etc/exim.conf.local.
4. Quando terminar de atualizar a configuração, digite o comando a seguir para reiniciar o Exim.

sudo /etc/init.d/exim4 restart

Note

Esse comando pode ser diferente dependendo do sistema operacional usado.


5. Na linha de comando, conclua as seguintes etapas para enviar uma mensagem de teste:

a. Digite o comando

exim -v [email protected]

Substitua [email protected] pelo endereço para o qual você deseja enviar a


mensagem.
b. Insira o seguinte, pressionando Enter no final de cada linha:

From: [email protected]
Subject: Test message
This is a test.

No comando anterior, substitua [email protected] pelo endereço de e-mail do qual você


deseja enviar a mensagem.

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

Teste de sua conexão com a interface SMTP do


Amazon SES usando a linha de comando
Você pode usar os métodos descritos nesta seção a partir da linha de comando para testar sua conexão
com o endpoint SMTP do Amazon SES, validar suas credenciais SMTP e solucionar problemas de
conexão. Esses procedimentos usam ferramentas e bibliotecas que estão incluídas nos sistemas
operacionais mais comuns.

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

Como testar sua conexão com a interface SMTP do Amazon SES


É possível usar a linha de comando para testar sua conexão com a interface SMTP do Amazon SES sem
autenticar e sem enviar nenhuma mensagem. Esse procedimento é útil para solucionar problemas básicos
de conectividade.

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

Linux, macOS, or Unix

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.

Como se conectar à interface SMTP usando SSL explícito

• Na linha de comando, insira o seguinte comando para se conectar ao servidor SMTP do Amazon
SES:

openssl s_client -crlf -quiet -starttls smtp -connect email-smtp.us-


west-2.amazonaws.com:587

No comando anterior, substitua email-smtp.us-west-2.amazonaws.com pelo URL do


endpoint SMTP do Amazon SES pata a região da AWS você que deseja usar. Para mais
informações, consulte the section called “Regiões” (p. 2).

Se a conexão for bem-sucedida, você verá um resultado semelhante a este:

depth=2 C = US, O = Amazon, CN = Amazon Root CA 1


verify return:1
depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
verify return:1
depth=0 CN = email-smtp.us-west-2.amazonaws.com
verify return:1
250 Ok

A conexão se fecha automaticamente após cerca de 10 segundos de inatividade.

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.

Como conectar-se à interface SMTP usando SSL implícito

• Na linha de comando, insira o seguinte comando para se conectar ao servidor SMTP do Amazon
SES:

openssl s_client -crlf -quiet -connect email-smtp.us-west-2.amazonaws.com:465

No comando anterior, substitua email-smtp.us-west-2.amazonaws.com pelo URL do


endpoint SMTP do Amazon SES pata a região da AWS você que deseja usar. Para mais
informações, consulte the section called “Regiões” (p. 2).

Se a conexão for bem-sucedida, você verá um resultado semelhante a este:

depth=2 C = US, O = Amazon, CN = Amazon Root CA 1


verify return:1
depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
verify return:1
depth=0 CN = email-smtp.us-west-2.amazonaws.com
verify return:1
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-VCSHDP1YZ
A1b2C3d4E5f6G7h8I9j0

A conexão se fecha automaticamente após cerca de 10 segundos de inatividade.

PowerShell

É possível usar o cmdlet Test-NetConnection no PowerShell para se conectar ao servidor SMTP do


Amazon SES.
Note

O cmdlet Test-NetConnection pode determinar se o computador pode se conectar


ao endpoint SMTP do Amazon SES. No entanto, isso não testa se o computador pode
estabelecer uma conexão SSL implícita ou explícita com o endpoint SMTP. Para testar uma
conexão SSL, é possível instalar o OpenSSL para Windows ou concluir o procedimento
no Uso da linha de comando para enviar e-mail usando a interface SMTP do Amazon
SES (p. 74) para enviar um e-mail de teste.

Como conectar-se à interface SMTP usando o cmdlet Test-NetConnection

• No PowerShell, insira o seguinte comando para se conectar ao servidor SMTP do Amazon SES:

Test-NetConnection -Port 587 -ComputerName email-smtp.us-west-2.amazonaws.com

No comando anterior, substitua email-smtp.us-west-2.amazonaws.com pelo URL do


endpoint SMTP do Amazon SES para a região da AWS e substitua 587 pelo número da porta.
Para obter mais informações sobre endpoints regionais no Amazon SES, consulte the section
called “Regiões” (p. 2).

Se a conexão foi bem-sucedida, é exibida uma saída semelhante a este exemplo:

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

Uso da linha de comando para enviar e-mail usando a interface


SMTP do Amazon SES
Também é possível usar a linha de comando para enviar mensagens usando a interface SMTP do Amazon
SES. Esse procedimento é útil para testar credenciais SMTP e para testar a capacidade de destinatários
específicos receberem mensagens enviadas usando o Amazon SES.

Linux, macOS, or Unix

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.

Para enviar um e-mail da linha de comando usando a interface SMTP

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:

echo -n "SMTPUsername" | openssl enc -base64

Anote o resultado de saída desse comando.


2. Na linha de comando, insira o seguinte comando para codificar a senha de SMTP, substituindo
SMTPPassword por sua senha de SMTP:

echo -n "SMTPPassword" | openssl enc -base64

Anote o resultado de saída desse comando.


3. Em um editor de texto, crie um novo arquivo. Cole o seguinte código no arquivo:

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

4. Faça as seguintes alterações no arquivo que você criou na etapa anterior:

• Substitua example.com pelo seu domínio de envio.

74
Amazon Simple Email Service Guia do desenvolvedor
Como testar sua conexão com a
interface SMTP do Amazon SES

• Substitua Base64EncodedSMTPUserName pelo seu nome de usuário SMTP codificado com


base64.
• Substitua Base64EncodedSMTPPassword pela sua senha SMTP codificada com base64.
• Substitua [email protected] pelo endereço de e-mail que você está usando como
remetente. Essa identidade deve ser verificada.
• Substitua [email protected] pelo endereço de e-mail do destinatário. Se sua conta do
Amazon SES ainda estiver na sandbox, este endereço deve ser verificado.
• Substitua ConfigSet pelo nome do conjunto de configurações (p. 270) que você deseja usar
ao enviar esse e-mail.
Note

Se não desejar usar um conjunto de configurações, você poderá omitir toda a linha que
começa com X-SES-CONFIGURATION-SET.

Ao concluir, salve o arquivo como input.txt.


5. Na linha de comando, escolha uma das seguintes opções:

• Para enviar usando SSL explícito pela porta 587: insira o seguinte comando:

openssl s_client -crlf -quiet -starttls smtp -connect email-smtp.us-


west-2.amazonaws.com:587 < input.txt

• Para enviar usando SSL implícito pela porta 465: insira o seguinte comando:

openssl s_client -crlf -quiet -connect email-smtp.us-west-2.amazonaws.com:465 <


input.txt

Note

Substitua email-smtp.us-west-2.amazonaws.com pelo URL do endpoint SMTP do


Amazon SES para a sua região da AWS. Para mais informações, consulte the section
called “Regiões” (p. 2).

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

A sequência de números e texto que se segue a 250 Ok é o ID de mensagem do e-mail.


Note

A conexão é fechada automaticamente após cerca de 10 segundos de inatividade.

PowerShell

É possível usar a classe Net.Mail.SmtpClient para enviar e-mail usando SSL explícito na porta 587.
Note

A classe Net.Mail.SmtpClient 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.
75
Amazon Simple Email Service Guia do desenvolvedor
Como testar sua conexão com a
interface SMTP do Amazon SES

Enviar um e-mail pelo PowerShell usando SSL explícito

1. Em um editor de texto, crie um novo arquivo. Cole o seguinte código no arquivo:

function SendEmail($Server, $Port, $Sender, $Recipient, $Subject, $Body) {


$Credentials = [Net.NetworkCredential](Get-Credential)

$SMTPClient = New-Object Net.Mail.SmtpClient($Server, $Port)


$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object
System.Net.NetworkCredential($Credentials.Username, $Credentials.Password);

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

$Subject = "Test email sent from Amazon SES"


$Body = "This message was sent from Amazon SES using PowerShell (explicit SSL,
port 587)."

$Sender = "[email protected]"
$Recipient = "[email protected]"

SendEmail $Server $Port $Sender $Recipient $Subject $Body


}

SendTestEmail

Ao concluir, salve o arquivo como SendEmail.ps1.


2. Faça as seguintes alterações no arquivo que você criou na etapa anterior:

• Substitua [email protected] pelo endereço de e-mail do qual você deseja enviar a


mensagem.
• Substitua [email protected] pelo endereço de e-mail para o qual você deseja enviar
a mensagem.
• Substitua email-smtp.us-west-2.amazonaws.com pelo URL do endpoint SMTP do
Amazon SES para a sua região da AWS. Para mais informações, consulte Regiões e o Amazon
SES (p. 2).
3. No PowerShell, insira o seguinte comando:

.\path\to\SendEmail.ps1

No comando anterior, substitua path\to\SendEmail.ps1 pelo caminho para o arquivo criado


na Etapa 1.
4. Quando solicitado, insira o nome de usuário e senha do SMTP.

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.

Para enviar um e-mail pelo PowerShell usando SSL implícito

1. Em um editor de texto, crie um novo arquivo. Cole o seguinte código no arquivo:

[System.Reflection.Assembly]::LoadWithPartialName("System.Web") > $null

function SendEmail($Server, $Port, $Sender, $Recipient, $Subject, $Body) {


$Credentials = [Net.NetworkCredential](Get-Credential)

$mail = New-Object System.Web.Mail.MailMessage


$mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver",
$Server)
$mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/
smtpserverport", $Port)
$mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl",
$true)
$mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername",
$Credentials.UserName)
$mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword",
$Credentials.Password)
$mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/
smtpconnectiontimeout", $timeout / 1000)
$mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", 2)
$mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/
smtpauthenticate", 1)

$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

$Subject = "Test email sent from Amazon SES"


$Body = "This message was sent from Amazon SES using PowerShell (implicit SSL,
port 465)."

$Sender = "[email protected]"
$Recipient = "[email protected]"

SendEmail $Server $Port $Sender $Recipient $Subject $Body


}

SendTestEmail

Ao concluir, salve o arquivo como SendEmail.ps1.

77
Amazon Simple Email Service Guia do desenvolvedor
Uso da API

2. Faça as seguintes alterações no arquivo que você criou na etapa anterior:

• Substitua [email protected] pelo endereço de e-mail do qual você deseja enviar a


mensagem.
• Substitua [email protected] pelo endereço de e-mail para o qual você deseja enviar
a mensagem.
• Substitua email-smtp.us-west-2.amazonaws.com pelo URL do endpoint SMTP do
Amazon SES para a sua região da AWS. Para mais informações, consulte Regiões e o Amazon
SES (p. 2).
3. No PowerShell, insira o seguinte comando:

.\path\to\SendEmail.ps1

No comando anterior, substitua path\to\SendEmail.ps1 pelo caminho para o arquivo criado


na Etapa 1.
4. Quando solicitado, insira o nome de usuário e senha do SMTP.

Uso da API do Amazon SES para enviar e-mail


Para enviar e-mail de produção pelo Amazon SES, você pode usar a interface SMTP (Simple Mail Transfer
Protocol) ou a API do Amazon SES. Para obter mais informações sobre a interface SMTP, consulte Uso da
interface SMTP do Amazon SES para enviar e-mail (p. 44). Esta seção descreve como enviar e-mails
usando a API.

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.

Você pode chamar a API das seguintes maneiras:

• 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)

Envio de e-mail formatado usando a API do Amazon


SES
Você pode enviar um e-mail formatado usando o AWS Management Console ou chamando a API do
Amazon SES diretamente, por meio de uma aplicação, ou indiretamente, por meio de um AWS SDK, do
AWS Command Line Interface ou do AWS Tools for Windows PowerShell.

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

Enviar e-mail bruto usando a API do Amazon SES


Você pode usar a operação SendRawEmail do Amazon SES para enviar mensagens altamente
personalizadas para seus destinatários.

Esta seção inclui procedimentos para construir e enviar e-mail bruto usando a API do Amazon SES.

Sobre campos do cabeçalho do e-mail


O SMTP (Simple Mail Transfer Protocol) especifica como as mensagens de e-mail devem ser enviadas
ao definir o envelope de e-mail e alguns de seus parâmetros, mas não se preocupa com o conteúdo
da mensagem. Em vez disso, o Internet Message Format (RFC 5322) define como a mensagem será
construída.

Com a especificação do Internet Message Format, todas as mensagens de e-mail consistem em um


cabeçalho e um corpo. O cabeçalho consiste em metadados de mensagem e o corpo contém a mensagem

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.

From: "Sender Name" <[email protected]>


To: [email protected]
Subject: Customer service contact info
Content-Type: multipart/mixed;
boundary="a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a"

--a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a
Content-Type: multipart/alternative;
boundary="sub_a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a"

--sub_a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Please see the attached file for a list of customers to contact.

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

Por exemplo, suponha que o corpo da mensagem contém o seguinte texto:

१९७२ मे रे टॉमलंिसन ने पहला ई-मेल संेदश भेजा | रे टॉमलंिसन ने ही स्रव्परथम @ चि्नह का चयन किया और इ्नही को ईेमल का
आवि्षकारक माना जाता है

Se você escolher codificar esse texto usando a codificação base64, primeiro especifique o seguinte
cabeçalho:

Content-Transfer-Encoding: base64

Em seguida, na seção do corpo do e-mail, inclua o texto codificado em 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).

Envio de e-mail bruto usando a API do Amazon SES


A API do Amazon SES fornece a ação SendRawEmail, que permite compor e enviar uma mensagem de
e-mail no formato que você especificar. Para obter uma descrição detalhada de SendRawEmail, consulte
a Referência da API do Amazon Simple Email Service.
Note

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;

// JavaMail libraries. Download the JavaMail API


// from https://javaee.github.io/javamail/
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

// AWS SDK libraries. Download the AWS SDK for Java


// from https://aws.amazon.com/sdk-for-java
import com.amazonaws.regions.Regions;
import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder;
import com.amazonaws.services.simpleemail.model.RawMessage;
import com.amazonaws.services.simpleemail.model.SendRawEmailRequest;

public class AmazonSESSample {

// Replace [email protected] with your "From" address.


// This address must be verified with Amazon SES.
private static String SENDER = "Sender Name <[email protected]>";

// Replace [email protected] with a "To" address. If your account


// is still in the sandbox, this address must be verified.

83
Amazon Simple Email Service Guia do desenvolvedor
Enviar e-mail bruto

private static String RECIPIENT = "[email protected]";

// Specify a configuration set. If you do not want to use a configuration


// set, comment the following variable, and the
// ConfigurationSetName=CONFIGURATION_SET argument below.
private static String CONFIGURATION_SET = "ConfigSet";

// The subject line for the email.


private static String SUBJECT = "Customer service contact info";

// 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";

// The email body for recipients with non-HTML email clients.


private static String BODY_TEXT = "Hello,\r\n"
+ "Please see the attached file for a list "
+ "of customers to contact.";

// The HTML body of the email.


private static String BODY_HTML = "<html>"
+ "<head></head>"
+ "<body>"
+ "<h1>Hello!</h1>"
+ "<p>Please see the attached file for a "
+ "list of customers to contact.</p>"
+ "</body>"
+ "</html>";

public static void main(String[] args) throws AddressException, MessagingException,


IOException {

Session session = Session.getDefaultInstance(new Properties());

// Create a new MimeMessage object.


MimeMessage message = new MimeMessage(session);

// Add subject, from and to lines.


message.setSubject(SUBJECT, "UTF-8");
message.setFrom(new InternetAddress(SENDER));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(RECIPIENT));

// Create a multipart/alternative child container.


MimeMultipart msg_body = new MimeMultipart("alternative");

// Create a wrapper for the HTML and text parts.


MimeBodyPart wrap = new MimeBodyPart();

// Define the text part.


MimeBodyPart textPart = new MimeBodyPart();
textPart.setContent(BODY_TEXT, "text/plain; charset=UTF-8");

// Define the HTML part.


MimeBodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(BODY_HTML,"text/html; charset=UTF-8");

// Add the text and HTML parts to the child container.


msg_body.addBodyPart(textPart);
msg_body.addBodyPart(htmlPart);

// Add the child container to the wrapper object.


wrap.setContent(msg_body);

// Create a multipart/mixed parent container.


MimeMultipart msg = new MimeMultipart("mixed");

84
Amazon Simple Email Service Guia do desenvolvedor
Enviar e-mail bruto

// Add the parent container to the message.


message.setContent(msg);

// Add the multipart/alternative part to the message.


msg.addBodyPart(wrap);

// Define the attachment


MimeBodyPart att = new MimeBodyPart();
DataSource fds = new FileDataSource(ATTACHMENT);
att.setDataHandler(new DataHandler(fds));
att.setFileName(fds.getName());

// Add the attachment to the message.


msg.addBodyPart(att);

// Try to send the email.


try {
System.out.println("Attempting to send an email through Amazon SES "
+"using the AWS SDK for Java...");

// Instantiate an Amazon SES client, which will make the service


// call with the supplied AWS credentials.
AmazonSimpleEmailService client =
AmazonSimpleEmailServiceClientBuilder.standard()
// Replace US_WEST_2 with the AWS Region you're using for
// Amazon SES.
.withRegion(Regions.US_WEST_2).build();

// Print the raw email content on the console


PrintStream out = System.out;
message.writeTo(out);

// Send the email.


ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
message.writeTo(outputStream);
RawMessage rawMessage =
new RawMessage(ByteBuffer.wrap(outputStream.toByteArray()));

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

# Replace [email protected] with your "From" address.


# This address must be verified with Amazon SES.
SENDER = "Sender Name <[email protected]>"

# Replace [email protected] with a "To" address. If your account


# is still in the sandbox, this address must be verified.
RECIPIENT = "[email protected]"

# Specify a configuration set. If you do not want to use a configuration


# set, comment the following variable, and the
# ConfigurationSetName=CONFIGURATION_SET argument below.
CONFIGURATION_SET = "ConfigSet"

# If necessary, replace us-west-2 with the AWS Region you're using for Amazon SES.
AWS_REGION = "us-west-2"

# The subject line for the email.


SUBJECT = "Customer service contact info"

# The full path to the file that will be attached to the email.
ATTACHMENT = "path/to/customers-to-contact.xlsx"

# The email body for recipients with non-HTML email clients.


BODY_TEXT = "Hello,\r\nPlease see the attached file for a list of customers to
contact."

# The HTML body of the email.


BODY_HTML = """\
<html>
<head></head>
<body>
<h1>Hello!</h1>
<p>Please see the attached file for a list of customers to contact.</p>
</body>
</html>
"""

# The character encoding for the email.


CHARSET = "utf-8"

# Create a new SES resource and specify a region.


client = boto3.client('ses',region_name=AWS_REGION)

# Create a multipart/mixed parent container.


msg = MIMEMultipart('mixed')
# Add subject, from and to lines.
msg['Subject'] = SUBJECT
msg['From'] = SENDER
msg['To'] = RECIPIENT

# Create a multipart/alternative child container.


msg_body = MIMEMultipart('alternative')

# 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)

# Add the text and HTML parts to the child container.


msg_body.attach(textpart)
msg_body.attach(htmlpart)

# Define the attachment part and encode it using MIMEApplication.


att = MIMEApplication(open(ATTACHMENT, 'rb').read())

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))

# Attach the multipart/alternative child container to the multipart/mixed


# parent container.
msg.attach(msg_body)

# Add the attachment to the parent container.


msg.attach(att)
#print(msg)
try:
#Provide the contents of the email.
response = client.send_raw_email(
Source=SENDER,
Destinations=[
RECIPIENT
],
RawMessage={
'Data':msg.as_string(),
},
ConfigurationSetName=CONFIGURATION_SET
)
# Display an error if something goes wrong.
except ClientError as e:
print(e.response['Error']['Message'])
else:
print("Email sent! Message ID:"),
print(response['MessageId'])

Como usar modelos para enviar e-mails


personalizados com a API do Amazon SES
Você pode usar a operação de API CreateTemplate para criar modelos de e-mail. Esses modelos incluem
uma linha de assunto e as partes em texto e HTML do corpo de e-mail. As seções de assunto e corpo
também podem conter valores exclusivos e personalizados para cada destinatário.

Há alguns limites e outras considerações ao usar esses recursos:

• 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

Parte 1: Configurar notificações de eventos de falha de


processamento
Se você enviar um e-mail que contenha conteúdo de personalização inválido, o Amazon SES pode
até aceitar a mensagem, mas não poderá entregá-la. Por esse motivo, se você planeja enviar e-mails
personalizados, configure o Amazon SES para enviar notificações de eventos de falha de processamento
pelo Amazon SNS. Ao receber uma notificação de evento de Falha de renderização, você pode identificar
qual mensagem continha o conteúdo inválido, corrigir os problemas e enviar a mensagem novamente.

O procedimento nesta seção é opcional, mas altamente recomendado.

Para configurar notificações de eventos de Falha de renderização

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.

Para obter os procedimentos, consulte Assinar um tópico no Guia do desenvolvedor do Amazon


Simple Notification Service.
3. Execute os procedimentos em the section called “Configurar um destino do Amazon SNS” (p. 346)
para configurar os conjuntos de configurações para publicação de eventos de falha de processamento
no seu tópico sobre o Amazon SNS.

Parte 2: Criar um modelo de e-mail


Nesta seção, você usa a operação de API CreateTemplate para criar um novo modelo de e-mail com
atributos de personalização.

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.

Para criar o modelo

1. Em um editor de texto, crie um novo arquivo. Cole o seguinte código no arquivo.

{
"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}}."
}
}

Esse código contém as seguintes propriedades:

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

O exemplo anterior inclui duas tags: {{name}} e {{favoriteanimal}}.

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:

aws ses create-template --cli-input-json file://mytemplate.json

Parte 3: Enviar os e-mails personalizados


Depois de criar um modelo de e-mail, você poderá usá-lo para enviar e-mails. Há duas operações
da API que você pode usar para enviar e-mails usando modelos: SendTemplatedEmail e
SendBulkTemplatedEmail. A operação SendTemplatedEmail é útil para enviar um e-mail
personalizado a um único destino (uma coleção de destinatários "To", "CC" e "BCC" que receberá o
mesmo e-mail). A operação SendBulkTemplatedEmail é útil para enviar e-mails exclusivos a vários
destinos em uma única chamada para a API do Amazon SES. Esta seção traz exemplos de como usar a
AWS CLI para enviar e-mails usando as duas operações.

Enviar e-mail em modelo a um único destino


Você pode usar a operação SendTemplatedEmail para enviar um e-mail para um único destino. Todos
os destinatários no objeto Destination receberão o mesmo e-mail.

Para enviar um e-mail em modelo a um único destino

1. Em um editor de texto, crie um novo arquivo. Cole o seguinte código no arquivo.

{
"Source":"Mary Major <[email protected]>",
"Template": "MyTemplate",
"ConfigurationSetName": "ConfigSet",
"Destination": {
"ToAddresses": [ "[email protected]"
]
},
"TemplateData": "{ \"name\":\"Alejandro\", \"favoriteanimal\": \"alligator\" }"
}

Esse código contém as seguintes propriedades:

• Source – O endereço de e-mail do remetente.


• Template – O nome do modelo a ser aplicado ao e-mail.
• ConfigurationSetName – O nome do conjunto de configurações para usar ao enviar o e-mail de
verificação.
Note

Recomendamos que você use um conjunto de configurações definido para publicar


eventos de falha de processamento no Amazon SNS. Para mais informações, consulte the
section called “Parte 1: Configurar notificações” (p. 88).
• Destination (Destino): os endereços dos destinatários. Você pode incluir vários endereços "To",
"CC" e "BCC". Quando você usa a operação SendTemplatedEmail, todos os destinatários
recebem o mesmo e-mail.

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:

aws ses send-templated-email --cli-input-json file://myemail.json

Enviar e-mail em modelo a vários destinos


Você pode usar a operação SendBulkTemplatedEmail para enviar um e-mail a vários destinos em
uma única chamada para a API. O Amazon SES envia um e-mail exclusivo para os destinatários em cada
objeto Destination.

Para enviar um e-mail de modelo a vários destinos

1. Em um editor de texto, crie um novo arquivo. Cole o seguinte código no arquivo.

{
"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

Esse código contém as seguintes propriedades:

• Source – O endereço de e-mail do remetente.


• Template – O nome do modelo a ser aplicado ao e-mail.
• ConfigurationSetName – O nome do conjunto de configurações para usar ao enviar o e-mail de
verificação.
Note

Recomendamos que você use um conjunto de configurações definido para publicar


eventos de falha de processamento no Amazon SNS. Para mais informações, consulte the
section called “Parte 1: Configurar notificações” (p. 88).
• Destinations – Uma matriz que contém um ou mais destinos.
• Destination (Destino): os endereços dos destinatários. Você pode incluir vários endereços "To",
"CC" e "BCC". Quando você usa a operação SendBulkTemplatedEmail, todos os destinatários
dentro do mesmo objeto Destination recebem o mesmo e-mail.
• ReplacementTemplateData: um objeto JSON 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.
• DefaultTemplateData: um objeto JSON 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. Este objeto contém dados de fallback. Se um objeto Destination contiver
um objeto JSON vazio na propriedade ReplacementTemplateData, os valores da propriedade
DefaultTemplateData serão usados.
2. Altere os valores no código da etapa anterior de acordo com as suas necessidades e salve o arquivo
como mybulkemail.json.
3. Na linha de comando, digite o seguinte comando para enviar o e-mail em massa:

aws ses send-bulk-templated-email --cli-input-json file://mybulkemail.json

Personalização de e-mail avançada


O recurso de modelo no Amazon SES é baseado no sistema de modelos Handlebars. Você pode usar o
Handlebars para criar modelos que incluam recursos avançados, como atributos aninhados, iteração de
matriz, instruções condicionais básicas e a criação de parciais em linha. Esta seção fornece exemplos
desses recursos.

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

Analisar atributos aninhados


O Handlebars inclui suporte para caminhos aninhados, o que torna fácil organizar complexos dados do
cliente e, em seguida, consultá-los em seus modelos de 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.

Depois de criar o modelo, você pode usar a operação SendTemplatedEmail ou


SendBulkTemplatedEmail para enviar e-mails para destinatários usando esse modelo. Desde que cada
destinatário tenha, pelo menos, um valor no objeto Interests, eles receberão um e-mail que inclua uma
lista detalhada de seus interesses. 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":"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

Usar instruções condicionais básicas


Esta seção se baseia no exemplo descrito na seção anterior. O exemplo na seção anterior usa o auxiliar
each para fazer a iteração por meio de uma lista de interesses. No entanto, os destinatários para os quais
nenhum interesse está especificado recebem um e-mail que contém uma lista vazia. Ao usar o auxiliar
{{if}}, você poderá formatar o e-mail de forma diferente se um determinado atributo estiver presente nos
dados do modelo. O código a seguir usará o auxiliar {{if}} para exibir a lista com marcadores na seção
anterior se a matriz Subscription contiver todos os valores. Se a matriz estiver vazia, outro bloco de
texto será exibido.

{
"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:

Criação de parciais em linha


Você pode usar parciais em linha para simplificar os modelos que incluem strings repetidas. Por
exemplo, é possível criar um parcial em linha que inclua o nome do destinatário e, se estiver disponível, o
sobrenome, adicionando o seguinte código no início de seu modelo:

{{#* inline \"fullName\"}}{{firstName}}{{#if lastName}} {{lastName}}{{/if}}{{/inline}}\n

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.

Gerenciamento de modelos de e-mail


Além de criar modelos de e-mail (p. 87), você também pode usar a API do Amazon SES para atualizar
ou excluir modelos existentes, listar todos os modelos existentes ou visualizar o conteúdo de um modelo.

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

Visualização de uma lista de modelos de e-mail


Você pode usar a operação ListTemplates na API do Amazon SES para visualizar uma lista de todos os
seus modelos de e-mail existentes.

Para visualizar uma lista de modelos de e-mail

• Na linha de comando, insira o seguinte comando:

aws ses list-templates

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.

Visualização do conteúdo de um modelo de e-mail específico


Você pode usar a operação GetTemplate na API do Amazon SES para visualizar o conteúdo de um
modelo de e-mail específico.

Para visualizar o conteúdo de um modelo de e-mail específico

• Na linha de comando, insira o seguinte comando:

aws ses get-template --template-name MyTemplate

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.

Exclusão de um modelo de e-mail


Você pode usar a operação DeleteTemplate na API do Amazon SES para excluir um modelo de e-mail
específico.

Para excluir um modelo de e-mail

• Na linha de comando, insira o seguinte comando:

aws ses delete-template --template-name MyTemplate

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

Atualização de um modelo de e-mail


Você pode usar a operação UpdateTemplate na API do Amazon SES para atualizar um modelo de e-mail
existente. Por exemplo, essa operação é útil se você quiser alterar a linha de assunto do modelo de email
ou se precisar modificar o corpo da mensagem em si.

Para atualizar um modelo de e-mail

1. Use o comando GetTemplate para recuperar o modelo existente inserindo o seguinte comando na
linha de comandos:

aws ses get-template --template-name MyTemplate

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.

Ao concluir, salve o arquivo como update_template.json.


4. Na linha de comando, insira o seguinte comando:

98
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK

aws ses update-template --cli-input-json file://path/to/update_template.json

No comando anterior, substitua path/to/update_template.json pelo caminho para o arquivo


update_template.json que você criou na etapa anterior.

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

Se o modelo especificado não existir, esse comando retornará um erro de TemplateDoesNotExist.


Se o modelo não contiver a propriedade TextPart nem a propriedade HtmlPart, este comando
retornará um erro InvalidParameterValue.

Como enviar e-mails pelo Amazon SES usando um


AWS SDK
Você pode usar um AWS SDK para enviar e-mails pelo Amazon SES. AWS SDKs estão disponíveis para
várias linguagens de programação. Para obter mais informações, consulte Ferramentas para a Amazon
Web Services.

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.

Esta solução foi testada com os seguintes componentes:

• Microsoft Visual Studio Community 2017, versão 15.4.0.


• Microsoft .NET Framework versão 4.6.1.
• Pacote AWSSDK.Core (versão 3.3.19), instalado usando NuGet.
• Pacote AWSSDK.SimpleEmail (versão 3.3.6.1), instalado usando NuGet.

Antes de começar, execute as seguintes tarefas:

• Instale o Visual Studio: o Visual Studio está disponível em https://www.visualstudio.com/.

Para enviar um e-mail usando o AWS SDK for .NET

1. Crie um novo projeto realizando as seguintes etapas:

a. Inicie o Visual Studio.


b. No menu File (Arquivo), escolha New (Novo) , Project (Projeto).
c. Na janela New Project, no painel esquerdo, expanda Installed e expanda Visual C#.
d. No painel à direita, escolha Console App (.NET Framework).
e. Em Name, digite AmazonSESSample e selecione OK.
2. Use o NuGet para incluir pacotes do Amazon SES na sua solução realizando as etapas a seguir:

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]";

// Replace [email protected] with a "To" address. If your account


// is still in the sandbox, this address must be verified.
static readonly string receiverAddress = "[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

static readonly string configSet = "ConfigSet";

// The subject line for the email.


static readonly string subject = "Amazon SES test (AWS SDK for .NET)";

// The email body for recipients with non-HTML email clients.


static readonly string textBody = "Amazon SES Test (.NET)\r\n"
+ "This email was sent through Amazon SES "
+ "using the AWS SDK for .NET.";

// The HTML body of the email.


static readonly string htmlBody = @"<html>
<head></head>
<body>
<h1>Amazon SES Test (AWS SDK for .NET)</h1>
<p>This email was sent with
<a href='https://aws.amazon.com/ses/'>Amazon SES</a> using the
<a href='https://aws.amazon.com/sdk-for-net/'>
AWS SDK for .NET</a>.</p>
</body>
</html>";

static void Main(string[] args)


{
// Replace USWest2 with the AWS Region you're using for Amazon SES.
// Acceptable values are EUWest1, USEast1, and USWest2.
using (var client = new
AmazonSimpleEmailServiceClient(RegionEndpoint.USWest2))
{
var sendRequest = new SendEmailRequest
{
Source = senderAddress,
Destination = new Destination
{
ToAddresses =
new List<string> { receiverAddress }
},
Message = new Message
{
Subject = new Content(subject),
Body = new Body
{
Html = new Content
{
Charset = "UTF-8",
Data = htmlBody
},
Text = new Content
{
Charset = "UTF-8",
Data = textBody
}
}
},
// If you are not using a configuration set, comment
// or remove the following line
ConfigurationSetName = configSet
};
try
{
Console.WriteLine("Sending email using Amazon SES...");
var response = client.SendEmail(sendRequest);
Console.WriteLine("The email was sent successfully.");
}
catch (Exception ex)
{

101
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK

Console.WriteLine("The email was not sent.");


Console.WriteLine("Error message: " + ex.Message);

}
}

Console.Write("Press any key to continue...");


Console.ReadKey();
}
}
}

4. Na caixa de editor, faça o seguinte:

• Substitua [email protected] pelo endereço de e-mail do remetente "From:". Esse


endereço deve ser verificado. Para mais informações, consulte Identidades (p. 158).
• Substitua destinatá[email protected] pelo endereço "To:". Se sua conta ainda estiver na
sandbox, esse endereço "To" também deverá ser verificado.
• Substitua ConfigSet pelo nome do conjunto de configurações para usar ao enviar esse e-
mail.
• Substitua USWest2 pelo nome do endpoint da Região da AWS que você usar para enviar
e-mails com o Amazon SES. 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.

Quando terminar, salve Program.cs.


5. Crie e execute o aplicativo concluindo as seguintes etapas:

a. No menu Build, escolha Build Solution.


b. No menu Debug, escolha Start Debugging. Uma janela do console será exibida.
6. Analise a saída do console. Se o e-mail tiver sido enviado com sucesso, o console exibirá "The
email was sent successfully."
7. 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.

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.

Antes de começar, execute as seguintes tarefas:

• Instale o Eclipse: o Eclipse está disponível em https://www.eclipse.org/downloads. O código neste


tutorial foi testado com o Eclipse Neon.3 (versão 4.6.3), executando a versão 1.8 do Java Runtime
Environment.
• Instale o AWS Toolkit for Eclipse — As instruções para adicionar o AWS Toolkit for Eclipse à sua
instalação do Eclipse estão disponíveis em https://aws.amazon.com/eclipse. O código neste tutorial
foi testado com a versão 2.3.1 do AWS Toolkit for Eclipse.

Para enviar um e-mail usando o AWS SDK for Java

1. Crie um projeto Java da AWS no Eclipse realizando as seguintes etapas:

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:

i. Para Project name (Project name), digite um nome de projeto.


ii. Em AWS SDK for Java Samples (Amostras do AWS SDK for Java), selecione Amazon
Simple Email Service JavaMail Sample (Amostra de JavaMail do Amazon Simple Email
Service).
iii. Escolha Finish.
2. No Eclipse, no painel Package Explorer, expanda o seu projeto.
3. Em seu projeto, expanda a pasta src/main/java, expanda a pasta
com.amazon.aws.samples e, em seguida, clique duas vezes em AmazonSESSample.java.
4. Substitua o todo o conteúdo de AmazonSESSample.java pelo seguinte código:

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;

public class AmazonSESSample {

// Replace [email protected] with your "From" address.


// This address must be verified with Amazon SES.
static final String FROM = "[email protected]";

// Replace [email protected] with a "To" address. If your account


// is still in the sandbox, this address must be verified.
static final String TO = "[email protected]";

// 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";

// The subject line for the email.


static final String SUBJECT = "Amazon SES test (AWS SDK for Java)";

// The HTML body for the email.


static final String HTMLBODY = "<h1>Amazon SES test (AWS SDK for Java)</h1>"
+ "<p>This email was sent with <a href='https://aws.amazon.com/ses/'>"
+ "Amazon SES</a> using the <a href='https://aws.amazon.com/sdk-for-java/'>"
+ "AWS SDK for Java</a>";

// The email body for recipients with non-HTML email clients.


static final String TEXTBODY = "This email was sent through Amazon SES "
+ "using the AWS SDK for Java.";

public static void main(String[] args) throws IOException {

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());
}
}
}

5. Em AmazonSESSample.java, substitua o seguinte pelos seus próprios valores:


Important

Os endereços de e-mail diferenciam maiúsculas de minúsculas. Certifique-se de que os


endereços sejam exatamente os mesmos que você verificou.

[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

Antes de começar, execute as seguintes tarefas:

• Instale o PHP: o PHP está disponível em http://php.net/downloads.php. Este tutorial requer


PHP versão 5.5 ou superior. Depois de instalar o PHP, adicione o caminho para o PHP nas
suas variáveis de ambiente, de forma que possa executar o PHP a partir de qualquer prompt de
comando. O código neste tutorial foi testado usando PHP 7.2.7.
• Instalar o AWS SDK for PHP versão 3 – Para ver instruções de download e instalação, consulte a
documentação do AWS SDK for PHP. O código neste tutorial foi testado com a versão 3.64.13 do
SDK.

Para enviar um e-mail pelo Amazon SES usando o AWS SDK for PHP

1. Em um editor de texto, crie um arquivo chamado amazon-ses-sample.php. Cole o seguinte


código:

<?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;

// Create an SesClient. Change the value of the region parameter if you're


// using an AWS Region other than US West (Oregon). Change the value of the
// profile parameter if you want to use a profile in your credentials file
// other than the default.
$SesClient = new SesClient([
'profile' => 'default',
'version' => '2010-12-01',
'region' => 'us-west-2'
]);

// Replace [email protected] with your "From" address.


// This address must be verified with Amazon SES.
$sender_email = '[email protected]';

// Replace these sample addresses with the addresses of your recipients. If


// your account is still in the sandbox, these addresses must be verified.
$recipient_emails = ['[email protected]','[email protected]'];

// Specify a configuration set. If you do not want to use a configuration


// set, comment the following variable, and the
// 'ConfigurationSetName' => $configuration_set argument below.
$configuration_set = 'ConfigSet';

$subject = 'Amazon SES test (AWS SDK for PHP)';


$plaintext_body = 'This email was sent with Amazon SES using the AWS SDK for
PHP.' ;
$html_body = '<h1>AWS Amazon Simple Email Service Test Email</h1>'.
'<p>This email was sent with <a href="https://aws.amazon.com/ses/">'.
'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-
php/">'.
'AWS SDK for PHP</a>.</p>';
$char_set = 'UTF-8';

try {
$result = $SesClient->sendEmail([
'Destination' => [
'ToAddresses' => $recipient_emails,
],

105
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK

'ReplyToAddresses' => [$sender_email],


'Source' => $sender_email,
'Message' => [
'Body' => [
'Html' => [
'Charset' => $char_set,
'Data' => $html_body,
],
'Text' => [
'Charset' => $char_set,
'Data' => $plaintext_body,
],
],
'Subject' => [
'Charset' => $char_set,
'Data' => $subject,
],
],
// If you aren't using a configuration set, comment or delete the
// following line
'ConfigurationSetName' => $configuration_set,
]);
$messageId = $result['MessageId'];
echo("Email sent! Message ID: $messageId"."\n");
} catch (AwsException $e) {
// output error message if fails
echo $e->getMessage();
echo("The email was not sent. Error message: ".$e->getAwsErrorMessage()."\n");
echo "\n";
}

2. Em amazon-ses-sample.php, substitua o seguinte pelos seus próprios valores:

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

Antes de começar, execute as seguintes tarefas:

• Instale o Ruby: o Ruby está disponível em https://www.ruby-lang.org/en/downloads/. O código neste


tutorial foi testado usando Ruby 1.9.3. Depois de instalar o Ruby, adicione o caminho para o Ruby
nas suas variáveis de ambiente, de forma que possa executar o Ruby a partir de qualquer prompt
de comando.
• Instale o AWS SDK for Ruby: para baixar e obter as instruções de instalação, consulte Instalação
AWS SDK for Ruby no Guia do desenvolvedor do AWS SDK for Ruby. O código de exemplo neste
tutorial foi testado com a versão 2.9.36 do AWS SDK for Ruby.
• 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).

Para enviar um e-mail pelo Amazon SES usando o AWS SDK for Ruby

1. Em um editor de texto, crie um arquivo chamado amazon-ses-sample.rb. Cole o seguinte


código no arquivo:

require 'aws-sdk'

# Replace [email protected] with your "From" address.


# This address must be verified with Amazon SES.
sender = "[email protected]"

# Replace [email protected] with a "To" address. If your account


# is still in the sandbox, this address must be verified.
recipient = "[email protected]"

# Specify a configuration set. If you do not want to use a configuration


# set, comment the following variable and the
# configuration_set_name: configsetname argument below.
configsetname = "ConfigSet"

# 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

# The subject line for the email.


subject = "Amazon SES test (AWS SDK for Ruby)"

# The HTML body of the email.


htmlbody =
'<h1>Amazon SES test (AWS SDK for Ruby)</h1>'\
'<p>This email was sent with <a href="https://aws.amazon.com/ses/">'\
'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-ruby/">'\
'AWS SDK for Ruby</a>.'

# The email body for recipients with non-HTML email clients.


textbody = "This email was sent with Amazon SES using the AWS SDK for Ruby."

# Specify the text encoding scheme.


encoding = "UTF-8"

# Create a new SES resource and specify a region


ses = Aws::SES::Client.new(region: awsregion)

# Try to send the email.


begin

# Provide the contents of the email.


resp = ses.send_email({
destination: {
to_addresses: [
recipient,
],
},
message: {
body: {
html: {
charset: encoding,
data: htmlbody,
},
text: {
charset: encoding,
data: textbody,
},
},
subject: {
charset: encoding,
data: subject,
},
},
source: sender,
# Comment or remove the following line if you are not using
# a configuration set
configuration_set_name: configsetname,
})
puts "Email sent!"

# If something goes wrong, display an error message.


rescue Aws::SES::Errors::ServiceError => error
puts "Email not sent. Error message: #{error}"

end

2. Em amazon-ses-sample.rb, substitua o seguinte pelos seus próprios valores:

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

108
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK

[email protected]: substitua pelo endereço do destinatário. 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). Certifique-se de que o
endereço informado seja exatamente o mesmo que você verificou.
• (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.rb.
4. Para executar o programa, abra um prompt de comando no mesmo diretório de amazon-ses-
sample.rb e digite ruby amazon-ses-sample.rb
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.
6. Entre no cliente de e-mail do endereço de destinatário. Você encontrará a mensagem que enviou.

Python

Este tópico mostra como usar o AWS SDK for Python (Boto) para enviar um e-mail pelo Amazon SES.

Antes de começar, execute as seguintes tarefas:

• 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

1. Em um editor de texto, crie um arquivo chamado amazon-ses-sample.py. Cole o seguinte


código no arquivo:

import boto3
from botocore.exceptions import ClientError

# Replace [email protected] with your "From" address.


# This address must be verified with Amazon SES.
SENDER = "Sender Name <[email protected]>"

# Replace [email protected] with a "To" address. If your account


# is still in the sandbox, this address must be verified.
RECIPIENT = "[email protected]"

109
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK

# Specify a configuration set. If you do not want to use a configuration


# set, comment the following variable, and the
# ConfigurationSetName=CONFIGURATION_SET argument below.
CONFIGURATION_SET = "ConfigSet"

# If necessary, replace us-west-2 with the AWS Region you're using for Amazon SES.
AWS_REGION = "us-west-2"

# The subject line for the email.


SUBJECT = "Amazon SES Test (SDK for Python)"

# The email body for recipients with non-HTML email clients.


BODY_TEXT = ("Amazon SES Test (Python)\r\n"
"This email was sent with Amazon SES using the "
"AWS SDK for Python (Boto)."
)

# The HTML body of the email.


BODY_HTML = """<html>
<head></head>
<body>
<h1>Amazon SES Test (SDK for Python)</h1>
<p>This email was sent with
<a href='https://aws.amazon.com/ses/'>Amazon SES</a> using the
<a href='https://aws.amazon.com/sdk-for-python/'>
AWS SDK for Python (Boto)</a>.</p>
</body>
</html>
"""

# The character encoding for the email.


CHARSET = "UTF-8"

# Create a new SES resource and specify a region.


client = boto3.client('ses',region_name=AWS_REGION)

# Try to send the email.


try:
#Provide the contents of the email.
response = client.send_email(
Destination={
'ToAddresses': [
RECIPIENT,
],
},
Message={
'Body': {
'Html': {
'Charset': CHARSET,
'Data': BODY_HTML,
},
'Text': {
'Charset': CHARSET,
'Data': BODY_TEXT,
},
},
'Subject': {
'Charset': CHARSET,
'Data': SUBJECT,
},
},
Source=SENDER,
# If you are not using a configuration set, comment or delete the
# following line
ConfigurationSetName=CONFIGURATION_SET,
)

110
Amazon Simple Email Service Guia do desenvolvedor
Como enviar e-mail usando um AWS SDK

# Display an error if something goes wrong.


except ClientError as e:
print(e.response['Error']['Message'])
else:
print("Email sent! Message ID:"),
print(response['MessageId'])

2. Em amazon-ses-sample.py, substitua o seguinte pelos seus próprios valores:

[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]: substitua pelo endereço do destinatário. 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). Certifique-se de que o
endereço informado seja exatamente o mesmo que você verificou.
• (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.py.
4. Para executar o programa, abra um prompt de comando no mesmo diretório de amazon-ses-
sample.py e, em seguida, digite python amazon-ses-sample.py.
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.
6. Entre no cliente de e-mail do endereço de destinatário. Você verá a mensagem que enviou.

Criação de um arquivo de credenciais compartilhado para usar


ao enviar e-mails pelo Amazon SES usando um AWS SDK
O procedimento a seguir mostra como criar um arquivo de credenciais compartilhadas no diretório inicial.
Para o código de amostra do SDK funcionar corretamente, você deve criar este arquivo.

1. Em um editor de texto, crie um novo arquivo. No arquivo, cole o código a seguir:

[default]
aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY

2. No arquivo de texto recém-criado, substitua YOUR_AWS_ACCESS_KEY pelo seu ID da chave de acesso


da AWS exclusivo e substitua YOUR_AWS_SECRET_ACCESS_KEY pela chave de acesso secreta da
AWS exclusiva.
3. Salve o arquivo. A tabela a seguir mostra a localização correta e o nome do arquivo para o seu
sistema operacional.

Se você estiver usando... Salve o arquivo...

Windows C:\Users\<yourUserName>\.aws\credentials

Linux, macOS ou Unix ~/.aws/credentials

111
Amazon Simple Email Service Guia do desenvolvedor
Codificações de conteúdo

Important

Não inclua uma extensão de arquivo ao salvar o arquivo de credenciais.

Codificações de conteúdo compatíveis com o Amazon


SES
O conteúdo a seguir é fornecido para consulta.

O Amazon SES é compatível com as seguintes codificações de conteúdo:

• 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

Amazon SES e protocolos de segurança


Este tópico descreve os protocolos de segurança que você pode usar quando se conecta ao Amazon SES,
bem como quando o Amazon SES entrega um e-mail a um receptor.

Remetente de e-mail para o Amazon SES


O protocolo de segurança que você usa para se conectar ao Amazon SES depende de você estar usando
a API do Amazon SES ou a interface SMTP do Amazon SES, conforme descrito a seguir.

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

Amazon SES para o receptor


O Amazon SES suporta TLS 1.2, TLS 1.1 e TLS 1.0 para conexões por TLS.

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.

É possível alterar esse comportamento usando conjuntos de configurações. Use a operação de


API PutConfigurationSetDeliveryOptions para definir a propriedade TlsPolicy de um conjunto de
configurações como Require. É possível usar a AWS CLI para fazer essa alteração.

Para configurar o Amazon SES para exigir conexões TLS em um conjunto de configurações

• Na linha de comando, insira o seguinte comando:

aws sesv2 put-configuration-set-delivery-options --configuration-set-


name MyConfigurationSet --tls-policy REQUIRE

No exemplo anterior, substitua MyConfigurationSet pelo nome do seu 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.

Criptografia de ponta a ponta


É possível usar o Amazon SES para enviar mensagens que são criptografadas usando S/MIME ou PGP.
As mensagens que usam esses protocolos são criptografadas pelo remetente. O conteúdo delas só pode
ser visualizado por destinatários que possuem as chaves privadas necessárias para descriptografar as
mensagens.

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

Campos de cabeçalho do Amazon SES


O Amazon SES pode aceitar todos os cabeçalhos de e-mail que seguem o formato descrito na RFC 822.

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.

Tipos de anexo não suportados pelo Amazon SES


Você pode enviar mensagens com anexos por meio do Amazon SES usando o padrão Multipurpose
Internet Mail Extensions (MIME). O Amazon SES aceita todos os tipos de anexos de arquivos, exceto
anexos com as extensões de arquivo na lista a seguir.

115
Amazon Simple Email Service Guia do desenvolvedor
Tipos de anexos incompatíveis

.ade .hta .mau .mst .psc1

.adp .inf .mav .ops .psc2

.app .ins .maw .pcd .tmp

.asp .isp .mda .pif .url

.bas .its .mdb .plg .vb

.bat .js .mde .prf .vbe

.cer .jse .mdt .prg .vbs

.chm .ksh .mdw .reg .vps

.cmd .lib .mdz .scf .vsmacros

.com .lnk .msc .scr .vss

.cpl .mad .msh .sct .vst

.crt .maf .msh1 .shb .vsw

.csh .mag .msh2 .shs .vxd

.der .mam .mshxml .sys .ws

.exe .maq .msh1xml .ps1 .wsc

.fxp .mar .msh2xml .ps1xml .wsf

.gadget .mas .msi .ps2 .wsh

.hlp .mat .msp .ps2xml .xnk

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

Recebimento de e-mails com o


Amazon SES
Além de usar o Amazon SES para gerenciar seu envio de e-mail, você também pode configurar o SES
para receber e-mails em nome de um ou mais de seus domínios. Como destinatário de e-mail, o SES lida
com as operações de recebimento de e-mails subjacentes, como a comunicação com outros servidores de
e-mail, a verificação de spam e vírus, rejeição de e-mails de fontes não confiáveis (endereços contidos em
listas de bloqueio do Spamhaus ou do SES) e a aceitação de e-mails para destinatários em seu domínio.

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.

Tópicos nesta seção:


• Conceitos de recebimento de e-mail e casos do Amazon SES (p. 117)
• Configuração do recebimento de e-mails do Amazon SES (p. 123)
• Demonstrações de recebimento de e-mails do Amazon SES no console (p. 130)
• Exibir métricas para o recebimento de e-mails do Amazon SES (p. 157)

Conceitos de recebimento de e-mail e casos do


Amazon SES
Quando você usa o Amazon SES como seu receptor de e-mails, é necessário informar ao serviço o que
fazer com seus e-mails. O método principal, regras de recebimento, oferece a você controle minucioso
sobre seus e-mails recebendo usando o controle baseado em destinatário para especificar um conjunto
de ações a serem executadas com base no destinatário. O outro método, filtros de endereço IP, fornece
um amplo nível de controle baseado em IP para bloquear ou permitir e-mails com base no endereço ou
intervalo de endereços IP de origem.

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.

Tópicos nesta seção:

117
Amazon Simple Email Service Guia do desenvolvedor
Controle baseado em destinatário
usando regras de recebimento

• Controle baseado em destinatário usando regras de recebimento (p. 118)


• Controle baseado em IP usando filtros de endereço IP (p. 119)
• Processo de recebimento de e-mails (p. 119)
• Casos de uso e restrições para recebimento de e-mails do Amazon SES (p. 120)
• Autenticação de recebimento de e-mails e varredura de malware (p. 122)

Controle baseado em destinatário usando regras de


recebimento
A principal maneira de controlar e-mails recebidos é especificar como eles são tratados por meio de uma
lista ordenada de ações para qualquer uma das identidades de domínio confirmadas que incluir domínios,
subdomínios ou endereços de e-mail. Observe que os endereços de e-mail devem pertencer a uma das
identidades de domínio confirmadas. Essas ações são definidas e ordenadas em regras de recebimento
que você cria dentro de um conjunto de regras.

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

Controle baseado em IP usando filtros de endereço IP


Você pode controlar o fluxo de e-mails em um nível mais abrangente configurando filtros de endereços
IP. Filtros de endereços IP são opcionais e permitem que você especifique se deseja aceitar ou bloquear
e-mails provenientes de um endereço IP ou um intervalo de endereços IP. Seus filtros de endereços IP
podem incluir listas de bloqueio (endereços IP dos quais você deseja bloquear e-mails de entrada) e listas
de permissão (endereços IP dos quais você deseja sempre aceitar e-mails).

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

• Se desejar permitir e-mails provenientes de um endereço IP do Amazon EC2, deve adicioná-


lo à sua lista de permissão. Todos os e-mails originados do Amazon EC2 são bloqueados por
padrão.
• 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.

Processo de recebimento de e-mails


Quando o Amazon SES recebe um e-mail para seu domínio, ocorrem os seguintes eventos:

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

• O endereço IP esteja na sua lista de bloqueio.


• O endereço IP esteja na lista de bloqueio do Amazon SES, mas não em sua lista de permissão.
2. O Amazon SES examina o conjunto de regras ativo para determinar se alguma das regras de
recebimento contém uma condição de destinatário:
• Se houver uma condição de destinatário e ela corresponder a qualquer um dos destinatários do e-mail
recebido, o Amazon SES aceita o e-mail. Do contrário, se não houver nenhuma correspondência, o
Amazon SES bloqueará o e-mail.
• Se a regra de recebimento não contiver uma condição de destinatário, o Amazon SES aceita o e-mail,
todas as ações da regra serão aplicadas a todas as identidades verificadas que você possui.
3. O Amazon SES autentica o e-mail e verifica seu conteúdo em busca de spam e malware:
• O endereço IP do host remoto que entregou o e-mail para o Amazon SES é verificado em relação à
política SPF especificada no domínio do MAIL FROM usado durante a transação SMTP.
• As assinaturas DKIM presentes na seção de cabeçalho do e-mail são verificadas.
• Se a varredura de conteúdo estiver habilitada, o conteúdo do e-mail será verificado quanto a spam e
malware.
• A autenticação de e-mail e os resultados da varredura de conteúdo são disponibilizados durante a
avaliação das regras de recebimento.

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.

Casos de uso e restrições para recebimento de e-


mails do Amazon SES
Esta seção aborda algumas considerações gerais e casos de uso para o recebimento de e-mails do
Amazon SES. Apresentados em formato de pergunta e resposta, estão perguntas e fatos comuns para
ajudar a determinar se seria benéfico usar o Amazon SES para receber e gerenciar e-mails em nome de
um ou mais dos domínios verificados que você possui.

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.

Clientes de e-mail baseados em POP ou IMAP


O Microsoft Outlook pode ser usado para receber e-mails de entrada?

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.

Usando outros serviços do AWS


Você configurou as permissões apropriadas?

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.

Qual o tamanho dos e-mails que você receberá?

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.

Como você deseja acionar o processamento de seu e-mail?

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.

Deseja que os e-mails sejam criptografados?

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 recebimento de e-mails e varredura


de malware
O Amazon SES autentica cada e-mail recebido e, opcionalmente, verifica o conteúdo do e-mail em busca
de spam e malware. O SES não realiza nenhuma ação no e-mail recebido com base nos resultados
da autenticação de e-mail ou da varredura de conteúdo; no entanto, os resultados dessas operações
são fornecidos como atributos que você pode usar nas ações da regra de recebimento do SES, como
Notificações do Amazon SNS (p. 151) ou cabeçalhos em uma mensagem entregue ao Amazon
S3 (p. 142).

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 cabeçalho Authentication-Results é descrito em RFC 8601

Verificação de conteúdo de e-mail para detecção de spam e malware

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

Os valores possíveis para os cabeçalhos acima estão listados em:

• spam (p. 148)


• vírus (p. 149)

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

Configuração do recebimento de e-mails do


Amazon SES
Esta seção descreve os pré-requisitos necessários para que você possa começar a configurar o Amazon
SES para receber seu e-mail. É importante que você tenha lido Conceitos de recebimento de e-mail
e casos do Amazon SES (p. 117) para entender os conceitos de como o Amazon SES funciona e
considerar como você deseja receber, filtrar e processar seus e-mails.

Antes de configurar o recebimento de e-mails criando um conjunto de regras, regras de recebimento e


filtros de endereços IP, você deve primeiro concluir os seguintes pré-requisitos de configuração:

• 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)

Verificação de seu domínio para recebimento de e-


mails do Amazon SES
Assim como com qualquer domínio que você deseja usar para enviar ou receber e-mails com o Amazon
SES, primeiro é necessário comprovar que é seu proprietário. O procedimento de verificação inclui iniciar
a verificação do domínio com o SES e, em seguida, publicar os registros de DNS, sejam CNAME ou TXT,
em seu provedor de DNS dependendo do método de verificação que você usar.

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.

Publicação de um registro MX para o recebimento de


e-mails do Amazon SES
Um registro mail exchanger (registro MX) é uma configuração que especifica quais servidores de
mensagens podem aceitar e-mails enviados para seu domínio.

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.

Para adicionar os registros MX à configuração de DNS para seu domínio

1. Faça login no console de gerenciamento para seu provedor de DNS.


2. Crie um novo registro MX.
3. Para o registro MX Name (Nome), insira seu domínio. Por exemplo, se você deseja que o Amazon
SES gerencie o e-mail que é enviado para o domínio exemplo.com, insira o seguinte:

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

Os consoles de gerenciamento de alguns provedores de DNS incluem campos separados


para o registro Value (Valor) e o registro Priority (Prioridade). Se esse for o caso para o seu
provedor de DNS, insira 10 para o valor Priority (Prioridade) e insira o URL do endpoint de e-
mails de entrada para o Value (Valor).

Instruções para a criação de registros MX para vários provedores


Os procedimentos para a criação de um registro MX para seu domínio dependem de qual provedor de
DNS você usa. Esta seção inclui links para a documentação de vários provedores de DNS comuns.
Esta lista não é uma lista completa de provedores. Se o seu provedor não estiver listado abaixo, você
provavelmente ainda poderá usá-lo com o Amazon SES. A inclusão na lista não é um endosso ou
recomendação de produtos ou serviços de nenhuma empresa.

Nome do provedor de DNS/hospedagem Link da documentação

Amazon Route 53 Criação de registros usando o console do Amazon


Route 53

125
Amazon Simple Email Service Guia do desenvolvedor
Concessão de permissões

Nome do provedor de DNS/hospedagem Link da documentação

GoDaddy Adicionar um registro MX (link externo)

DreamHost Como faço para alterar meus registros MX? (link


externo)

Cloudflare Configurar registros de e-mail (link externo)

HostGator Alterar registros MX – Windows (link externo)

Namecheap Como posso configurar os registros MX


necessários para o serviço de e-mail? (link
externo)

Names.co.uk Alterar configurações de DNS de seus domínios


(link externo)

Wix Adicionar ou atualizar registros MX em sua conta


do Wix (link externo)

Concessão de permissões ao Amazon SES para


recebimento de e-mails
Algumas das tarefas que você pode executar ao receber e-mails no Amazon SES, como enviar e-mails
para um bucket do Amazon Simple Storage Service (Amazon S3) ou chamar uma função do AWS
Lambda, exigem permissões especiais. Esta seção mostra políticas de exemplo para vários casos de uso
comuns.

Tópicos nesta seção:


• Conceder permissão ao Amazon SES para gravar em um bucket do S3 (p. 126)
• Conceder permissão ao Amazon SES para usar sua chave mestra do AWS KMS (p. 127)
• Conceder ao Amazon SES permissão para invocar uma função da AWS Lambda (p. 128)
• Dê permissão ao Amazon SES para publicar em um tópico do Amazon SNS que pertença a uma outra
conta da AWS (p. 129)

Conceder permissão ao Amazon SES para gravar em um bucket


do S3
Quando aplicada a um bucket do S3, a seguinte política concede ao Amazon SES permissão para gravar
nesse bucket. Para obter mais informações sobre a criação de regras de recebimento que transferem
e-mails de entrada para o Amazon S3, consulte Ação Deliver to S3 bucket (Entregar ao bucket do
S3) (p. 142).

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"
}
}
}
]
}

Faça as seguintes alterações no exemplo de política anterior:

• Substitua myBucket pelo nome do bucket do S3 no qual você deseja gravar.


• 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
contém a ação de bucket do Amazon S3.
• Substitua receipt_rule_name pelo nome da regra de recebimento que contém a entrega para a ação
de bucket do Amazon S3.

Conceder permissão ao Amazon SES para usar sua chave


mestra do AWS KMS
Para o Amazon SES criptografar seus e-mails, ele deve ter permissão para usar a chave do AWS KMS
especificada ao configurar sua regra de recebimento. Você pode usar a chave do KMS padrão (aws/ses)
na sua conta ou uma chave gerenciada pelo cliente criada por você. Se você usar a chave do KMS padrão,
não será necessário realizar nenhuma etapa adicional para conceder permissão ao Amazon SES para
usá-la. Se você usar uma chave gerenciada pelo cliente, precisará conceder ao Amazon SES permissão
para usá-la adicionando uma instrução à política da chave.

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"
}
}
}

Faça as seguintes alterações no exemplo de política anterior:

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.

Conceder ao Amazon SES permissão para invocar uma função


da AWS Lambda
Para habilitar o Amazon SES a chamar uma função do AWS Lambda, você pode escolher a função ao
criar uma regra de recebimento no console do Amazon SES. Quando você faz isso, o Amazon SES
adiciona automaticamente as permissões necessárias à função.

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"
}

Faça as seguintes alterações no exemplo de política anterior:

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.

Dê permissão ao Amazon SES para publicar em um tópico do


Amazon SNS que pertença a uma outra conta da AWS
Se você quiser publicar notificações de um tópico em uma conta da AWS separada, você tem que anexar
uma política ao tópico do Amazon SNS. O tópico do SNS deve estar na mesma região que o conjunto de
regras de domínio e recebimento.

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"
}
}
}
]
}

Faça as seguintes alterações no exemplo de política anterior:

• 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": "*"
}
]
}

Demonstrações de recebimento de e-mails do


Amazon SES no console
Esta seção descreve os assistentes de console de recebimento de e-mails usados para configurar regras
de recebimento e filtros de endereços IP para gerenciar o recebimento de e-mails. Antes de usar os
assistentes de console, é importante que você tenha lido Conceitos de recebimento de e-mail e casos
do Amazon SES (p. 117) para entender os conceitos de como funciona o recebimento de e-mails e
Configurar o recebimento de e-mails (p. 123) garantir que você tenha concluído os pré-requisitos de
configuração.

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)

Demonstração da criação de regras de recebimento


no console
Esta seção demonstra como criar e definir regras de recebimento usando o console do Amazon SES. Os
principais pontos para entender como funcionam as regras de recebimento são:

• Os conjuntos de regras contêm um conjunto ordenado de regras de recebimento; as regras de


recebimento contêm um conjunto ordenado de ações.
• As regras de recebimento informam ao Amazon SES como lidar com e-mails recebidos executando uma
lista ordenada de ações que você especifica.
• Existe a opção de ordenar essa lista de ações dependendo de primeiro atender a uma condição de
destinatário; se não especificado, as ações serão aplicadas a todas as identidades que pertencem aos
seus domínios verificados.
• As regras de recebimento são criadas e definidas em um contêiner chamado conjunto de regras; embora
você possa criar vários conjuntos de regras, apenas um pode estar ativo de cada vez.
• As regras de recebimento dentro do conjunto de regras ativo são executadas na ordem especificada.
• Antes de criar suas regras de recebimento, você deve primeiro criar um conjunto de regras para contê-
las.

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.

Antes de prosseguir com a demonstração, certifique-se de ter atendido a todos os pré-requisitos


necessários para usar o recebimento de e-mails com base em destinatário. Além disso

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.

Criação de conjuntos de regras e regras de recebimento


Esta demonstração começa criando primeiro um conjunto de regras para conter suas regras e prossegue
para o assistente Create rule (Criar regra) para criar, definir e ordenar suas regras de recebimento. O
assistente contém quatro telas para definir configurações de regras, adicionar condições de destinatário,
adicionar ações e revisar todas as configurações.

Para criar uma regra de recebimento 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 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

a. Em Recipient conditions (Condições do destinatário), escolha Add new recipient condition


(Adicionar nova condição de destinatário) para especificar o endereço de e-mail ou o domínio
ao qual você deseja aplicar a regra de recebimento. A tabela a seguir usa o endereço
usuá[email protected] para mostrar como especificar condições de destinatários.

Se você deseja... Especifique o seguinte Observações


destinatário...

Faça a correspondência [email protected] Também faz a


com um endereço de e-mail correspondência com
específico. variações do endereço que
contêm rótulos (como user
[email protected] e user
[email protected]). No
entanto, se você especificar
um endereço que contenha
um rótulo, somente esse
endereço específico será
vinculado.

Faça a correspondência de example.com


todos os endereços em um
domínio, mas não daqueles
em seus subdomínios.

Faça a correspondência de subdomínio.exemplo.com


todos os endereços em um
subdomínio específico, mas
não daqueles no domínio pai.

Faça a correspondência de .exemplo.com Observe o ponto (.) antes do


todos os endereços em todos nome de domínio.
os subdomínios, mas não
daqueles no domínio pai.

Faça a correspondência de example.com Crie dois destinatários


todos os endereços dentro separados: uma com o nome
de um domínio e todos os .exemplo.com do domínio e um com um
endereços em todos os seus ponto seguido pelo nome do
subdomínios. domínio.

Faça a correspondência de [Nenhum] Deixe o campo de destinatário


todos os destinatários em em branco.
todos os domínios verificados

Important

Se várias contas do Amazon SES receberem e-mails em um domínio comum (por


exemplo, se várias equipes da mesma empresa tiverem contas separadas do Amazon
SES), o Amazon SES processará todas as regras de recebimento correspondentes
simultaneamente para cada uma dessas contas. Esse comportamento pode resultar em
uma situação em que uma conta gera uma devolução e, ao mesmo tempo, outra conta
aceita o e-mail.

132
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento

Recomendamos coordenar com outras equipes na sua organização que usam o


Amazon SES para garantir que cada conta use regras de recebimento exclusivas, e
que essas regras não se sobreponham. Nessas situações, é melhor configurar suas
regras de recebimento para usar apenas endereços de e-mail ou subdomínios que sejam
exclusivos para o seu grupo ou equipe.
b. Repita essa etapa para cada condição de destinatário que deseja adicionar. Quando você
terminar de adicionar destinatários, escolha Next (Avançar).
12. Na página Add actions (Adicionar ações), use o procedimento a seguir para adicionar uma ou mais
ações à regra 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).

Modificações de regra após a criação


Depois de criar um conjunto de regras, você pode editar o conjunto de regras e as regras de recebimento
nele contidas. Eles não apenas podem ser editados, mas também há a opção de duplicar o conjunto de
regras ou suas regras para criar novas rapidamente. A lista a seguir mostra as modificações disponíveis
para o conjunto de regras e as regras de recebimento:

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

Os tipos de ação são os seguintes:

• Ação Add header (Adicionar cabeçalho) (p. 134)


• Ação Retornar reposta de devolução (p. 134)
• Ação Invoke Lambda function (Invocar uma função do Lambda) (p. 135)
• Ação Deliver to S3 bucket (Entregar ao bucket do S3) (p. 142)
• Ação Publish to Amazon SNS topic (Publicar em um tópico do Amazon SNS) (p. 144)
• Ação Stop rule set (Interromper conjunto de regras) (p. 155)
• Ação Integrate with Amazon WorkMail (Integrar com o Amazon WorkMail) (p. 155)

Ação Add header (Adicionar cabeçalho)


A ação Add Header adiciona um cabeçalho personalizado ao e-mail recebido. Normalmente, você usa
essa ação apenas em combinação com outra ação. Essa ação tem as seguintes opções.

• 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").

Ação Retornar reposta de devolução


A ação Bounce (Devolução) rejeita o e-mail retornando uma reposta de devolução para o remetente e,
opcionalmente, o notificará por meio do Amazon SNS. Essa ação tem as seguintes opções.

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

Ação Invoke Lambda function (Invocar uma função do Lambda)


A ação do Lambda chama seu código por meio de uma função do Lambda e, opcionalmente, o notifica por
meio do Amazon SNS. Essa ação tem as seguintes opções e requisitos.

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.

Existe um tempo limite de 30 segundos nas invocações de RequestResponse.

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

Redação de sua função do Lambda

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:

callback( null, { "disposition" : "STOP_RULE_SET" });

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)

Exemplos de casos de uso


Os exemplos a seguir descrevem algumas regras que você pode configurar para usar os resultados da
função do Lambda para controlar o fluxo de e-mails. Para fins de demonstração, muitos destes exemplos
usam a ação do S3 como o resultado.

Caso de uso 1: Descartar spam em todos os domínios


Este exemplo demonstra uma regra global que descarta spam em todos os seus domínios. As regras 2 e
3 são incluídas para mostrar que você pode aplicar regras específicas do domínio depois que o spam é
descartado em todos os domínios.

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.

Caso de uso 2: Devolver spam em todos os domínios


Este exemplo demonstra uma regra global que devolve spam em todos os seus domínios. As regras 2 e
3 são incluídas para mostrar que você pode aplicar regras específicas do domínio depois que o spam é
devolvido em todos os domínios.

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

Caso de uso 3: Aplicar a regra mais específica


Este exemplo demonstra como usar a ação de interrupção para impedir que os e-mails sejam processados
por várias regras. Neste exemplo, você tem uma regra para um endereço específico e outra regra
para todos os endereços de e-mail sob o domínio. Ao usar a ação de interrupção, as mensagens que
correspondem à regra para o endereço de e-mail específico não são processadas pela regra mais
genérica que se aplica ao domínio.

Rule1
Lista de destinatários: [email protected]

Ações

1. Ação do Lambda (assíncrona).


2. Ação de interrupção.

Rule2
Lista de destinatários: example.com

Ações

1. Qualquer ação.

Caso de uso 4: Registrar eventos de e-mail no CloudWatch


Este exemplo demonstra como manter um log de auditoria de todos os e-mail que passam pelo seu
sistema antes de salvar o e-mail no Amazon SES.

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.

Caso de uso 5: Descartar e-mails que falham no DKIM


Este exemplo demonstra como salvar todos os e-mails de entrada em um bucket do Amazon S3, mas
enviar apenas e-mails que vão para um determinado endereço de e-mail e passam no DKIM em sua
aplicação de e-mail automatizada.

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

1. Ação do Lambda (assíncrona) que aciona o aplicativo automatizado.

Caso de uso 6: Filtrar e-mails com base na linha de assunto


Este exemplo demonstra como descartar todos os e-mails de entrada de um domínio que contenham a
palavra "desconto" na linha de assunto e, em seguida, processar os e-mails destinados a um sistema
automatizado de uma forma e processar os e-mails direcionados para todos os outros destinatários no
domínio de outra forma.

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

1. Ação do S3 com o bucket 1.


2. Ação do Lambda (assíncrona) que aciona o aplicativo automatizado.
3. Ação de interrupção.

Rule3
Lista de destinatários: example.com

139
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento

Ações

1. Ação do S3 com o bucket 2.


2. Ação do Lambda (assíncrona) que processa um e-mail para o resto do domínio.

Exemplos de função do Lambda


Este tópico contém exemplos de funções do Lambda que controlam o fluxo de e-mails.

Exemplo 1: Descartar spam


Este exemplo interrompe o processamento de mensagens que tenham pelo menos um indicador de spam.

exports.handler = function(event, context, callback) {


console.log('Spam filter');

var sesNotification = event.Records[0].ses;


console.log("SES Notification:\n", JSON.stringify(sesNotification, null, 2));

// Check if any spam check failed


if (sesNotification.receipt.spfVerdict.status === 'FAIL'
|| sesNotification.receipt.dkimVerdict.status === 'FAIL'
|| sesNotification.receipt.spamVerdict.status === 'FAIL'
|| sesNotification.receipt.virusVerdict.status === 'FAIL') {
console.log('Dropping spam');
// Stop processing rule set, dropping message
callback(null, {'disposition':'STOP_RULE_SET'});
} else {
callback(null, null);
}
};

Exemplo 2: Continuar se um cabeçalho específico for encontrado


Este exemplo continua o processamento da regra atual somente se o e-mail contiver um valor de
cabeçalho específico.

exports.handler = function(event, context, callback) {


console.log('Header matcher');

var sesNotification = event.Records[0].ses;


console.log("SES Notification:\n", JSON.stringify(sesNotification, null, 2));

// Iterate over the headers


for (var index in sesNotification.mail.headers) {
var header = sesNotification.mail.headers[index];

// Examine the header values


if (header.name === 'X-Header' && header.value === 'X-Value') {
console.log('Found header with value.');
callback(null, null);
return;
}
}

// Stop processing the rule if the header value wasn't found


callback(null, {'disposition':'STOP_RULE'});
};

Exemplo 3: Recuperar e-mail do Amazon S3


Este exemplo obtém o e-mail bruto do Amazon S3 e o processa.

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.

var AWS = require('aws-sdk');


var s3 = new AWS.S3();

var bucketName = '<YOUR BUCKET GOES HERE>';

exports.handler = function(event, context, callback) {


console.log('Process email');

var sesNotification = event.Records[0].ses;


console.log("SES Notification:\n", JSON.stringify(sesNotification, null, 2));

// Retrieve the email from your bucket


s3.getObject({
Bucket: bucketName,
Key: sesNotification.mail.messageId
}, function(err, data) {
if (err) {
console.log(err, err.stack);
callback(err);
} else {
console.log("Raw email:\n" + data.Body);

// Custom email processing goes here

callback(null, null);
}
});
};

Exemplo 4: Devolver as mensagens que falham na autenticação do DMARC

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';

const AWS = require('aws-sdk');

// Assign the emailDomain environment variable to a constant.


const emailDomain = process.env.emailDomain;

exports.handler = (event, context, callback) => {


console.log('Spam filter starting');

const sesNotification = event.Records[0].ses;


const messageId = sesNotification.mail.messageId;
const receipt = sesNotification.receipt;

console.log('Processing message:', messageId);

// If DMARC verdict is FAIL and the sending domain's policy is REJECT


// (p=reject), bounce the email.
if (receipt.dmarcVerdict.status === 'FAIL'
&& receipt.dmarcPolicy.status === 'REJECT') {

141
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento

// The values that make up the body of the bounce message.


const sendBounceParams = {
BounceSender: `mailer-daemon@${emailDomain}`,
OriginalMessageId: messageId,
MessageDsn: {
ReportingMta: `dns; ${emailDomain}`,
ArrivalDate: new Date(),
ExtensionFields: [],
},
// Include custom text explaining why the email was bounced.
Explanation: "Unauthenticated email is not accepted due to the sending domain's
DMARC policy.",
BouncedRecipientInfoList: receipt.recipients.map((recipient) => ({
Recipient: recipient,
// Bounce with 550 5.6.1 Message content rejected
BounceType: 'ContentRejected',
})),
};

console.log('Bouncing message with parameters:');


console.log(JSON.stringify(sendBounceParams, null, 2));
// Try to send the bounce.
new AWS.SES().sendBounce(sendBounceParams, (err, data) => {
// If something goes wrong, log the issue.
if (err) {
console.log(`An error occurred while sending bounce for message:
${messageId}`, err);
callback(err);
// Otherwise, log the message ID for the bounce email.
} else {
console.log(`Bounce for message ${messageId} sent, bounce message ID:
${data.MessageId}`);
// Stop processing additional receipt rules in the rule set.
callback(null, {
disposition: 'stop_rule_set',
});
}
});
// If the DMARC verdict is anything else (PASS, QUARANTINE or GRAY), accept
// the message and process remaining receipt rules in the rule set.
} else {
console.log('Accepting message:', messageId);
callback();
}
};

Ação Deliver to S3 bucket (Entregar ao bucket do S3)


A ação do S3 entrega o e-mail para um bucket do Amazon S3 e, opcionalmente, o notificará por meio do
Amazon SNS. Essa ação tem as seguintes opções.

• 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

Ação Publish to Amazon SNS topic (Publicar em um tópico do Amazon SNS)


A ação do SNS publica o e-mail usando uma notificação do Amazon SNS. A notificação inclui o conteúdo
completo do e-mail. Essa ação tem as seguintes opções.

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

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.
• 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)

Conteúdo de notificações para o recebimento de e-mails do Amazon SES

Todas as notificações de recebimento de e-mails são publicadas em tópicos do Amazon Simple


Notification Service (Amazon SNS) no formato JavaScript Object Notation (JSON).

Por exemplos de notificação, consulte Exemplos de notificação (p. 151).

Sumário

144
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento

• Objeto JSON de nível superior (p. 145)


• receipt object (p. 145)
• action object (p. 147)
• dkimVerdict object (p. 147)
• dmarcVerdict object (p. 148)
• spamVerdict object (p. 148)
• spfVerdict object (p. 149)
• virusVerdict object (p. 149)
• mail object (p. 149)
• commonHeaders object (p. 150)

Objeto JSON de nível superior

O objeto JSON de nível superior contém os seguintes campos.

Nome do campo Descrição

notificationType O tipo de notificação. Para esse tipo de notificação,


o valor é sempre Received.

receipt (p. 145) O objeto que contém informações sobre a entrega


de e-mails.

mail (p. 149) O objeto que contém informações sobre o e-mail


associado à notificação.

content String que contém 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.
Note

Este campo só está presente somente se


a notificação foi acionada por uma ação
do SNS. As notificações acionadas por
todas as outras ações não contêm esse
campo.

receipt object

O objeto receipt tem os seguintes campos.

Nome do campo Descrição

action (p. 147) O objeto que encapsula informações sobre a ação


que foi executada. Para obter uma lista de valores
possíveis, consulte action object (p. 147).

dkimVerdict (p. 147) O objeto que indica se a verificação DomainKeys


Identified Mail (DKIM) foi bem-sucedida. Para
obter uma lista de valores possíveis, consulte
dkimVerdict object (p. 147).

145
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento

Nome do campo Descrição

dmarcPolicy Indica as configurações de Domain-based


Message Authentication, Reporting & Conformance
(DMARC) para o domínio de envio. Esse campo
só será exibido se a mensagem não passar na
autenticação de DMARC.

Os valores possíveis para esse campo são:

• none: o proprietário das solicitações de domínio


de envio que nenhuma ação específica seja
executada em mensagens que falharem na
autenticação DMARC.
• quarantine: o proprietário das solicitações de
domínio de envio que mensagens que falharem
na autenticação DMARC sejam tratadas pelos
receptores como suspeitos.
• reject: o proprietário das solicitações do
domínio de envio que as mensagens que
falharem na autenticação DMARC sejam
rejeitadas.

dmarcVerdict (p. 148) O objeto que indica se a verificação de Domain-


based Message Authentication, Reporting &
Conformance (DMARC) foi bem-sucedida. Para
obter uma lista de valores possíveis, consulte
dmarcVerdict object (p. 148).

processingTimeMillis Sequência que especifica o período, em


milissegundos, do momento em que o Amazon
SES recebeu a mensagem até o momento em que
ele acionou a ação.

recipients Uma lista de destinatários (especificamente,


os endereços de RCPT TO do envelope)
que foram correspondidos pela regra de
recebimento (p. 130) ativa. Os endereços
listados aqui podem ser diferentes daqueles
listados no campo destination no the section
called “mail object” (p. 149).

spamVerdict (p. 148) O objeto que indica se a mensagem é spam. Para


obter uma lista de valores possíveis, consulte
spamVerdict object (p. 148).

spfVerdict (p. 149) O objeto que indica se a verificação Sender Policy


Framework (SPF) foi bem-sucedida. Para obter
uma lista de valores possíveis, consulte spfVerdict
object (p. 149).

timestamp Sequência que especifica a data e a hora em que a


ação foi acionada, no formato ISO 8601.

virusVerdict (p. 149) O objeto que indica se a mensagem contém vírus.


Para obter uma lista de valores possíveis, consulte
virusVerdict object (p. 149).

146
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento

action object

O objeto action tem os seguintes campos.

Nome do campo Descrição

type String que indica o tipo de ação que foi executada.


Os valores possíveis são S3, SNS, Bounce,
Lambda, Stop e WorkMail.

topicArn Sequência que contém o nome do recurso da


Amazon (ARN) do tópico do Amazon SNS no qual
a notificação foi publicada.

bucketName Sequência que contém o nome do bucket do


Amazon S3 no qual a mensagem foi publicada.
Presente apenas para o tipo de ação do S3.

objectKey Sequência que contém um nome que identifica


exclusivamente o e-mail no bucket do Amazon S3.
Ela é igual ao messageId em the section called
“mail object” (p. 149). Presente apenas para o
tipo de ação do S3.

smtpReplyCode String que contém o código de resposta SMTP,


conforme definido pelo RFC 5321. Presente
apenas para o tipo de ação de devolução.

statusCode String que contém o código de status aprimorado


SMTP, conforme definido pelo RFC 3463. Presente
apenas para o tipo de ação de devolução.

message String que contém o texto legível a ser incluído na


mensagem de devolução. Presente apenas para o
tipo de ação de devolução.

sender String que contém o endereço do remetente do e-


mail que foi devolvido. Esse é o endereço de e-
mail a partir do qual a mensagem de devolução foi
enviada. Presente apenas para o tipo de ação de
devolução.

functionArn Sequência que contém o ARN da função do


Lambda que foi acionada. Presente apenas para o
tipo de ação do Lambda.

invocationType Sequência que contém o tipo de invocação da


função do Lambda. Os possíveis valores são
RequestResponse e Event. Presente apenas
para o tipo de ação do Lambda.

organizationArn String que contém o Nome de recurso da Amazon


(ARN) da organização do Amazon WorkMail.
Presente apenas para o tipo de ação WorkMail.

dkimVerdict object

O objeto dkimVerdict tem os seguintes campos.

147
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento

Nome do campo Descrição

status String que contém o veredicto do DKIM. Os valores


possíveis são:

• PASS: a mensagem passou na autenticação


DKIM.
• FAIL: a mensagem não passou na autenticação
DKIM.
• GRAY: a mensagem não é assinada pelo
DKIM ou o domínio de origem e o domínio de
assinatura DKIM não correspondem.
• PROCESSING_FAILED: há um problema que
impede o Amazon SES de verificar a assinatura
DKIM. Por exemplo, consultas de DNS estão
falhando ou o cabeçalho da assinatura do DKIM
não está formatado corretamente.

dmarcVerdict object

O objeto dmarcVerdict tem os seguintes campos.

Nome do campo Descrição

status String que contém o veredicto do DMARC. Os


valores possíveis são:

• PASS: a mensagem passou na autenticação


DMARC.
• FAIL: a mensagem falhou na autenticação
DMARC.
• GRAY: pelo menos um dos SPF ou DKIM passou
na autenticação, mas o domínio de envio não
tem uma política DMARC ou usa a política
p=none.
• PROCESSING_FAILED: há um problema
que impede que o Amazon SES forneça um
veredicto do DMARC.

spamVerdict object

O objeto spamVerdict tem os seguintes campos.

Nome do campo Descrição

status String que contém o resultado da verificação de


spam. Os valores possíveis são:

• PASS: a verificação de spam determinou que é


improvável que a mensagem contenha spam.
• FAIL: a verificação de spam determinou que é
provável que a mensagem contenha spam.

148
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento

Nome do campo Descrição


• GRAY: o Amazon SES examinou o e-mail, mas
não pôde determinar com segurança se ele é
spam.
• PROCESSING_FAILED: o Amazon SES não
pôde examinar o e-mail. Por exemplo, o e-mail
não é uma mensagem MIME válida.

spfVerdict object

O objeto spfVerdict tem os seguintes campos.

Nome do campo Descrição

status String que contém o veredicto do SPF. Os valores


possíveis são:

• PASS: a mensagem passou na autenticação


SPF.
• FAIL: a mensagem não passou na autenticação
SPF.
• GRAY: não há política de SPF no domínio usado
no comando MAIL FROM.
• PROCESSING_FAILED: há um problema que
impede o Amazon SES de verificar o registro do
SPF. Por exemplo, há falhas nas consultas de
DNS.

virusVerdict object

O objeto virusVerdict tem os seguintes campos.

Nome do campo Descrição

status String que contém o resultado da verificação de


vírus. Os valores possíveis são:

• PASS: a mensagem não contêm vírus.


• FAIL: a mensagem contém vírus.
• GRAY: o Amazon SES examinou o e-mail, mas
não pôde determinar com segurança se ele
contém um vírus.
• PROCESSING_FAILED: o Amazon SES não
pode examinar o conteúdo do e-mail. Por
exemplo, o e-mail não é uma mensagem MIME
válida.

mail object

O objeto mail tem os seguintes campos.

149
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento

Nome do campo Descrição

destination Uma lista completa de todos os endereços de


destinatários (incluindo os destinatários Para: e
Cc:) dos cabeçalhos MIME dos e-mails de entrada.

messageId Sequência que contém o ID exclusivo atribuído ao


e-mail pelo Amazon SES. Se o e-mail foi entregue
ao Amazon S3, o ID da mensagem também é a
chave de objeto do Amazon S3 que foi usada para
gravar a mensagem em seu bucket do Amazon S3.

source Sequência que contém o endereço de e-mail


(especificamente o endereço MAIL FROM (E-MAIL
DE) do envelope) do qual o e-mail foi enviado.

timestamp String que contém o horário em que o e-mail foi


recebido, no formato ISO8601.

headers Uma lista de cabeçalhos do Amazon SES e seus


cabeçalhos personalizados. Cada cabeçalho tem
os seguintes campos: name e value.

commonHeaders (p. 150) Uma lista de cabeçalhos comuns a todos os e-


mails. Cada cabeçalho tem os seguintes campos:
name e value.

headersTruncated Sequência que especifica se os cabeçalhos foram


truncados na notificação, o que acontece se
os cabeçalhos tiverem mais do que 10 KB. Os
possíveis valores são true e false.

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.

Nome do campo Descrição

messageId O ID da mensagem original.

date A data e hora em que o Amazon SES recebeu a


mensagem.

to O cabeçalho To do e-mail.

cc O cabeçalho CC do e-mail.

bcc O cabeçalho BCC do e-mail.

from O cabeçalho From do e-mail.

sender O cabeçalho Sender do e-mail.

returnPath O cabeçalho Return-Path do e-mail.

replyTo O cabeçalho Reply-To do e-mail.

150
Amazon Simple Email Service Guia do desenvolvedor
Criar regras de recebimento

Nome do campo Descrição

subject O cabeçalho Subject do e-mail.

Exemplos de notificações para o recebimento de e-mails do Amazon SES

Esta seção inclui exemplos dos seguintes tipos de notificações:

• 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).

Notificação de uma ação do SNS

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

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]"
],
"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"
}
}
}

Ação Stop rule set (Interromper conjunto de regras)


A ação Stop (Interromper) termina a avaliação do conjunto de regras de recebimento e, opcionalmente, o
notifica por meio do Amazon SNS. Essa ação tem as seguintes opções.

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

Ação Integrate with Amazon WorkMail (Integrar com o Amazon WorkMail)


A ação WorkMail integra com o Amazon WorkMail. Se o Amazon WorkMail realize todo o processamento
de seus e-mails, normalmente você não usará essa ação diretamente, pois o Amazon WorkMail cuida da
configuração. Essa ação tem as seguintes opções.

• Organization ARN (ARN da organização): o ARN da organização do Amazon


WorkMail. Os ARNs da organização do Amazon WorkMail estão no formato
arn:aws:workmail:region:account_ID:organization/organization_ID, em que:
• region é a região em que você está usando o Amazon SES e o Amazon WorkMail. (Você deve usá-
los na mesma região.) Um exemplo é us-east-1.
• account_ID é o ID da conta da AWS. Você pode encontrar o ID de sua conta da AWS na página
Conta do Console de Gerenciamento da AWS.
• organization_ID é um identificador exclusivo que o Amazon WorkMail gera quando você cria uma
organização. Você pode localizar o ID da organização no console do Amazon WorkMail na página
Organization Settings (Configurações da organização) da sua organização.

Um exemplo de ARN de organização do Amazon WorkMail é arn:aws:workmail:us-


east-1:123456789012:organization/m-68755160c4cb4e29a2b2f8fb58f359d7. Para obter informações
sobre organizações do Amazon WorkMail, consulte o Guia do administrador do Amazon WorkMail.
• SNS Topic (Tópico do SNS): o nome ou ARN do tópico do Amazon SNS a ser notificado quando
a ação do Amazon WorkMail 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.

155
Amazon Simple Email Service Guia do desenvolvedor
Criar filtros IP

Demonstração da criação de filtros de endereços IP


no console
Esta seção demonstra como configurar filtros de endereço IP usando o console do Amazon SES. A
filtragem de endereços IP permite que você forneça um amplo nível de controle. Esses filtros de IP
permitem bloquear ou permitir explicitamente todas as mensagens de endereços IP ou intervalos de
endereços IP específicos.

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

Criar filtros de endereços IP


Para criar filtros de endereços IP 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 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

Exibir métricas para o recebimento de e-mails do


Amazon SES
Use o Amazon CloudWatch (CloudWatch) para exibir métricas de falhas para as regras de recebimento.
Você encontrará as métricas em SES/Rule Metrics.

Há duas métricas de falha:

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

A figura a seguir mostra as métricas no console do CloudWatch.

157
Amazon Simple Email Service Guia do desenvolvedor
Criação e verificação de identidades

Identidades verificadas no Amazon


SES
No Amazon SES, uma identidade verificada é um domínio ou um endereço de e-mail que você
usa para enviar ou receber e-mails. Antes de poder enviar um e-mail usando o Amazon SES, você
deve criar verificar cada identidade que usará como um endereço "From" (De), "Source" (Fonte),
"Sender" (Remetente) ou "Return-Path" (Caminho de retorno). Verificar uma identidade com o Amazon
SES confirma que é o proprietário dela e ajuda a evitar o uso não autorizado.

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)

Criação e verificação de identidades no Amazon


SES
No Amazon SES, você pode criar uma identidade no nível do domínio ou pode criar uma identidade de
endereço de e-mail. Esses tipos de identidade não são mutuamente exclusivos. Na maioria dos casos, a
criação de uma identidade de domínio elimina a necessidade de criar e identificar identidades de endereço
de e-mail individuais, a menos que você queira aplicar configurações personalizadas a um endereço de
e-mail específico. Quer você crie um domínio e utilize endereços de e-mail com base no domínio ou crie
endereços de e-mail individuais, ambas as abordagens oferecem benefícios. O método escolhido depende
de suas necessidades específicas, conforme discutido abaixo.

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:

Somente o domínio é verificado Somente o endereço de e-mail é O domínio e o endereço de e-


verificado mail são verificados

Os subdomínios e endereços de O endereço de e-mail é • Os subdomínios herdam


e-mail herdam a verificação do verificado explicitamente. a verificação do domínio
domínio principal. principal.
• O endereço de e-mail é
verificado explicitamente.

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.

Status do console/API: Status do console/API: Status do console/API:

• Domínio/subdomínios = • Endereço de e-mail = • Domínio/subdomínios =


verificados verificado verificados
• Endereço de e-mail = não • Endereço de e-mail =
verificado. verificado.

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.

Por exemplo, suponha que você verifique [email protected], a.b.example.com, b.example.com


e example.com. Estas são as configurações de identidade verificadas que serão usadas nos seguintes
cenários:
• Os e-mails enviados de usuá[email protected] (um endereço que não está especificamente
verificado) usam as configurações para exemplo.com.
• Os e-mails enviados de usuá[email protected] (um endereço que está especificamente
verificado) usam as configurações para usuá[email protected].
• Os e-mails enviados de usuá[email protected] (um endereço que não está especificamente
verificado) usam as configurações para b.exemplo.com.

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)

Criar uma identidade de domínio


Parte da criação de uma identidade de domínio é configurar sua verificação baseada em DKIM.
DomainKeys Identified Mail (DKIM) é um método de autenticação de e-mail que o Amazon SES usa para
verificar a quem o domínio pertence e que os servidores de e-mail de recebimento usam para validar a
autenticidade dos e-mails. Você pode escolher configurar o DKIM usando Easy DKIM ou Bring Your Own
DKIM (BYODKIM) e, dependendo de sua escolha, você terá que configurar o comprimento da chave de
assinatura da chave privada da seguinte maneira:

• 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

Verificar uma identidade de domínio requer acesso às configurações de DNS do domínio. As


alterações nessas configurações podem levar até 48 horas para serem propagadas.

160
Amazon Simple Email Service Guia do desenvolvedor
Criar uma identidade de domínio

Para 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. Para o Default configuration set (Conjunto de configurações padrão), selecione o conjunto de


configurações existente que você deseja atribuir à sua identidade. Se você ainda não criou nenhum
conjunto de configurações, consulte Conjuntos de configurações (p. 270).
Note

O Amazon SES só usa como padrão o conjunto de configurações atribuído quando


nenhum outro conjunto é especificado no momento do envio. Se um conjunto de
configurações é especificado, o Amazon SES aplica o conjunto especificado em vez do
conjunto padrão.
7. (Opcional) Se você quiser Use a custom MAIL FROM domain (Usar um domínio MAIL FROM
personalizado), marque a caixa de seleção e realize as etapas a seguir. Para mais informações,
consulte the section called “Uso de um domínio MAIL FROM personalizado” (p. 199).

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:

i. No campo Identity type (Tipo de identidade), escolha Easy DKIM.


ii. No campo DKIM signing key length (Tamanho da chave de assinatura DKIM) , escolha
RSA_2048_BIT ou RSA_1024_BIT (p. 184).
iii. Para Publish DNS records to Route53 (Publicar registros 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 CNAME associados no momento da criação, deixando Enabled
(Ativado) 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).)
b. Fornecer token de autenticação DKIM (BYODKIM):

i. Certifique-se de já ter gerado um par de chaves pública e privada, e adicionado a chave


pública ao seu provedor de host DNS. Para mais informações, consulte the section called
“BYODKIM - Bring Your Own DKIM (Traga seu próprio DKIM)” (p. 187).
ii. No campo Identity type (Tipo de identidade), escolha Provide DKIM authentication token
(BYODKIM) (Fornecer token de autenticação do DKIM [BYODKIM]).
iii. Em Private key (Chave privada), cole a chave privada que gerou com base em seu par de
chaves pública e privada. A chave privada deve usar criptografia RSA de, no mínimo, 1.024
bits e, no máximo, 2.048 bits (p. 184), e deve ser codificada usando codificação em base64
(PEM).
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.
iv. Para Selector name (Nome do seletor), insira o nome do seletor a ser especificado nas
configurações de DNS do seu domínio.
9. Verifique se a caixa Enabled (Habilitado) está marcada na caixa DKIM signatures (Assinaturas do
DKIM).
10. (Opcional) Adicione uma ou mais etiquetas à sua identidade de domínio, incluindo uma chave de
etiqueta e um valor opcional para a chave:

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

Verificar uma identidade de domínio DKIM com seu


provedor DNS
Após ter criado sua identidade de domínio configurada com o DKIM, é necessário concluir o processo de
verificação com seu provedor DNS seguindo os respectivos procedimentos de autenticação para o tipo de
DKIM escolhido.

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

Como verificar um domínio configurado com 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

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. 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.
• Route 53 como seu provedor de host DNS: se você usar o Route 53 na mesma conta
usada ao enviar e-mails usando o SES e o domínio estiver registrado, o Amazon SES
atualizará automaticamente as configurações de DNS do seu domínio se tiver habilitado
SES a publicá-los no momento da criação. Caso contrário, você pode publicá-los
facilmente no Route 53 com um clique de botão após a criação. Consulte the section called
“Editando uma identidade usando o console” (p. 180). Se suas configurações de DNS
não forem atualizadas automaticamente, realize os procedimentos em Edição de registros.
• Se você não tiver certeza de quem é seu provedor de DNS: consulte o administrador do
sistema para obter mais informações.

BYODKIM

Como verificar um domínio configurado com BYODKIM

1. Para recapitular, ao criar o domínio com BYODKIM, ou você configurou um domínio


existente com BYODKIM ou adicionou a chave privada (do par de chaves públicas/privadas
autogerado (p. 187)) e o prefixo de nome do seletor aos respectivos campos na página
Advanced DKIM Settings (Configurações avançadas do DKIM) do console do SES. Agora,
é necessário concluir o processo de verificação atualizando os seguintes registros para seu
provedor de host DNS.
2. Na tabela Publish DNS records (Publicar registros DNS), copie o registro de nome do seletor
que aparece na coluna Name (Nome) para ser publicado (adicionado) ao provedor de
DNS. Como alternativa, é possível escolher Download .csv record set (Baixar conjunto de
registros .csv) para salvar uma cópia em seu computador.

A imagem a seguir mostra um exemplo do registro de nome do seletor a ser publicado em


seu provedor de DNS.

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

3. Acesse o provedor de hospedagem Web ou de DNS do seu domínio e adicione o registro


de nome do seletor que 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

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. 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.
4. Se ainda não tiver feito isso, não se esqueça de adicionar a chave pública do seu par de
chaves públicas/privadas autogerado (p. 187) ao provedor de hospedagem Web ou de DNS
do seu 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:

• 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
Publish DNS records (Publicar registros DNS).
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. A DKIM configuration (Configuração do DKIM) do seu
domínio aparece como Successful (Bem-sucedida) e o Identity status (Status da identidade) parece
como Verified (Verificado).
5. Se quiser configurar e verificar um domínio MAIL FROM personalizado (p. 199), siga os
procedimentos em Configurar o domínio MAIL FROM (p. 200).

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.

Provedor de DNS/hospedagem Link da documentação

GoDaddy Adicionar um registro CNAME (link externo)

DreamHost Como adicionar registros DNS personalizados?


(link externo)

Cloudflare Gerenciamento de registros DNS no Cloudflare


(link externo)

HostGator Gerenciar registros DNS com HostGator/eNom


(link externo)

167
Amazon Simple Email Service Guia do desenvolvedor
Criação da identidade de um endereço de e-mail

Provedor de DNS/hospedagem Link da documentação

Namecheap Como adicionar registros TXT/SPF/DKIM/DMARC


para o meu domínio? (link externo)

Names.co.uk Alterar configurações de DNS dos domínios (link


externo)

Wix Como adicionar ou atualizar registros CNAME na


sua conta do Wix (link externo)

Solucionar problemas de verificação de domínio


Se você concluiu as etapas anteriores, mas seu domínio não for verificado após 72 horas, confira o
seguinte:

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

Criação da identidade de um endereço de e-mail


Realize o procedimento a seguir para criar a identidade de um endereço de e-mail usando o console do
Amazon SES.

Para criar uma identidade de um endereço de e-mail (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. 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. Para o Default configuration set (Conjunto de configurações padrão), selecione o conjunto de


configurações existente que você deseja atribuir à sua identidade. Se você ainda não criou nenhum
conjunto de configurações, consulte Conjuntos de configurações (p. 270).
Note

O Amazon SES só usa como padrão o conjunto de configurações atribuído quando


nenhum outro conjunto é especificado no momento do envio. Se um conjunto de
configurações é especificado, o Amazon SES aplica o conjunto especificado em vez do
conjunto padrão.
7. (Opcional) Adicione uma ou mais etiquetas à sua identidade de domínio, incluindo uma chave de
etiqueta e um valor opcional para a chave:

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

Verificar a identidade de um endereço de e-mail


Depois de criar sua identidade de endereço de e-mail, você deve concluir o processo de verificação.

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

Como verificar a identidade de um endereço de e-mail

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

Solução de problemas de verificação de endereço de e-mail


Se você não receber o e-mail de verificação dentro de cinco minutos após criar sua identidade, tente as
seguintes etapas para solucionar o problema:

• Verifique se você inseriu o endereço corretamente.


• Verifique se o endereço de e-mail que está tentando verificar pode receber e-mail. Você pode testar isso
usando outro endereço de e-mail para enviar um e-mail de teste para o endereço que deseja verificar.
• Verifique sua pasta de lixeira.

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.

Crie e verifique uma identidade e atribua um conjunto


de configurações padrão ao mesmo tempo
Você pode usar a operação CreateEmailIdentity na API do Amazon SES v2 para criar uma nova identidade
de e-mail e definir sua configuração padrão ao mesmo tempo.
Note

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.

Para excluir um conjunto de configurações usando o AWS CLI

• Na linha de comando, digite o seguinte comando para usar a operação CreateEmailIdentity


(CriarIdentidadeE-mail).

aws sesv2 create-email-identity --email-identity ADDRESS-OR-DOMAIN --configuration-set-


name CONFIG-SET

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.

Verificar o endereço de e-mail

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.

Abra a mensagem e clique no link que está nela.


Note

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 verificar seu domínio

Para obter mais informações sobre como verificar domínios, consulte Criar uma identidade de
domínio (p. 160).

Usar modelos personalizados de e-mail de verificação


Quando você tenta verificar um endereço de e-mail, o Amazon SES envia um e-mail para esse endereço,
semelhante ao exemplo mostrado na imagem a seguir.

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

Tópicos nesta seção:


• Criar um modelo personalizado de e-mail de verificação (p. 171)
• Editar um modelo personalizado de e-mail de verificação (p. 173)
• Enviar e-mails de verificação usando modelos personalizados (p. 173)
• Perguntas frequentes sobre e-mails de verificação personalizados (p. 174)

Criar um modelo personalizado de e-mail de verificação


Para criar um e-mail de verificação personalizado, use a operação da API
CreateCustomVerificationEmailTemplate. Esta operação aceita as seguintes entradas:

Atributo Descrição

TemplateName O nome do modelo. O nome que você especificar precisa ser exclusivo.

FromEmailAddress O endereço de e-mail do qual a verificação de e-mail foi enviada. O


endereço ou domínio que você especificar deve estar verificado para uso
com a sua conta do Amazon SES.
Note

O atributo FromEmailAddress não comporta nomes de


exibição (também chamados de nomes "amigáveis").

TemplateSubject A linha de assunto do e-mail de verificação.

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

SuccessRedirectionURL O URL ao qual os usuários são enviados, se seus endereços de e-mail


foram verificados com êxito.

FailureRedirectionURL O URL ao qual os usuários são enviados, se seus endereços de e-mail


não foram verificados com êxito.

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.

1. Em um editor de texto, crie um novo arquivo. Cole o seguinte conteúdo no editor:

{
"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

Para facilitar a leitura do exemplo anterior, o atributo TemplateContent contém quebras de


linha. Se você colar o exemplo anterior em seu arquivo de texto, remova as quebras de linha
antes de prosseguir.

172
Amazon Simple Email Service Guia do desenvolvedor
Usar modelos personalizados de e-mail de verificação

Substitua os valores de TemplateName, FromEmailAddress, TemplateSubject,


TemplateContent, SuccessRedirectionURL e FailureRedirectionURL por seus próprios
valores.
Note

O endereço de e-mail que você especifica para o parâmetro FromEmailAddress tem


que ser verificado ou tem que ser um endereço em um domínio verificado. Para mais
informações, consulte Identidades verificadas no Amazon SES (p. 158).

Ao concluir, salve o arquivo como customverificationemail.json.


2. Na linha de comando, digite o comando a seguir para criar um modelo personalizado de e-mail de
verificação:

aws sesv2 create-custom-verification-email-template --cli-input-json file://


customverificationemail.json

3. (Opcional) Você pode confirmar a criação do modelo digitando o seguinte comando:

aws sesv2 list-custom-verification-email-templates

Editar um modelo personalizado de e-mail de verificação


Você pode editar um modelo personalizado de e-mail de verificação usando a operação
UpdateCustomVerificationEmailTemplate. Esta operação aceita as mesmas
entradas que a operação CreateCustomVerificationEmailTemplate (ou seja, os
atributos TemplateName, FromEmailAddress, TemplateSubject, TemplateContent,
SuccessRedirectionURL e FailureRedirectionURL). No entanto, com a operação
UpdateCustomVerificationEmailTemplate, nenhum desses atributos são necessários. Quando
você passa um valor para o TemplateName igual ao nome de um modelo personalizado de e-mail de
verificação existente, os atributos que você especificar substituem os atributos que estavam no modelo
originalmente.

Enviar e-mails de verificação usando modelos personalizados


Depois de criar pelo menos um modelo personalizado de e-mail de verificação, você poderá enviá-
lo aos clientes chamando a operação da API SendCustomVerificationEmail. Chame a operação
SendCustomVerificationEmail usando qualquer SDK da AWS ou a AWS CLI. Esta operação
SendCustomVerificationEmail aceita as seguintes entradas:

Atributo Descrição

EmailAddress O endereço de e-mail que está sendo verificado.

TemplateName O nome do modelo personalizado de e-mail de verificação enviado ao


endereço de e-mail que está sendo verificado.

ConfigurationSetName (Opcional) O nome de um conjunto de configurações para usar ao enviar


o e-mail de verificaçã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).

Perguntas frequentes sobre e-mails de verificação


personalizados
Esta seção contém respostas às perguntas frequentes sobre o recurso de modelo personalizado de e-mail
de verificação.

P1. Quantos modelos personalizados de e-mail de verificação posso criar?


Você pode criar até 50 modelos personalizados de e-mail de verificação para cada conta do Amazon SES.

P2. Como os e-mails de verificação personalizados são exibidos aos


destinatários?
Os e-mails de verificação personalizados incluem o conteúdo que você especificou quando criou o modelo,
seguido por um link que os destinatários devem clicar para verificar os endereços de e-mail deles.

P3. Posso visualizar o e-mail de verificação personalizado?


Para visualizar um e-mail de verificação personalizado, use a operação
SendCustomVerificationEmail para enviar um e-mail de verificação para um endereço seu. Se você
não clicar no link de verificação, o Amazon SES não cria uma nova identidade. Se você clicar no link de
verificação, é possível excluir a identidade recém-criada usando a operação DeleteIdentity.

P4. Posso incluir imagens em meus modelos personalizados de e-mail de


verificação?
Você pode incorporar imagens ao HTML para seus modelos usando a codificação base64. Quando você
incorpora imagens dessa forma, o Amazon SES as converte automaticamente em anexos. Você pode
codificar uma imagem na linha de comando, fazendo um dos seguintes comandos:

Linux, macOS, or Unix

base64 -i imagefile.png | tr -d '\n' > output.txt

Windows

certutil -encodehex -f imagefile.png output.txt 0x40000001

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.

Tag HTML Atributos permitidos

abbr class, id, style, title

acronym class, id, style, title

address class, id, style, title

area class, id, style, title

b class, id, style, title

bdo class, id, style, title

big class, id, style, title

blockquote cite, class, id, style, title

body class, id, style, title

br class, id, style, title

button class, id, style, title

caption class, id, style, title

center class, id, style, title

cite class, id, style, title

code class, id, style, title

col class, id, span, style, title, width

colgroup class, id, span, style, title, width

dd class, id, style, title

del class, id, style, title

dfn class, id, style, title

dir class, id, style, title

div class, id, style, title

dl class, id, style, title

175
Amazon Simple Email Service Guia do desenvolvedor
Usar modelos personalizados de e-mail de verificação

Tag HTML Atributos permitidos

dt class, id, style, title

em class, id, style, title

fieldset class, id, style, title

font class, id, style, title

form class, id, style, title

h1 class, id, style, title

h2 class, id, style, title

h3 class, id, style, title

h4 class, id, style, title

h5 class, id, style, title

h6 class, id, style, title

head class, id, style, title

hr class, id, style, title

html class, id, style, title

i class, id, style, title

img align, alt, class, height, id, src,


style, title, width

input class, id, style, title

ins class, id, style, title

kbd class, id, style, title

label class, id, style, title

legend class, id, style, title

li class, id, style, title

map class, id, style, title

menu class, id, style, title

ol class, id, start, style, title, type

optgroup class, id, style, title

option class, id, style, title

p class, id, style, title

pre class, id, style, title

q cite, class, id, style, title

176
Amazon Simple Email Service Guia do desenvolvedor
Usar modelos personalizados de e-mail de verificação

Tag HTML Atributos permitidos

s class, id, style, title

samp class, id, style, title

select class, id, style, title

small class, id, style, title

span class, id, style, title

strike class, id, style, title

strong class, id, style, title

sub class, id, style, title

sup class, id, style, title

table class, id, style, summary, title,


width

tbody class, id, style, title

td abbr, axis, class, colspan, id,


rowspan, style, title, width

textarea class, id, style, title

tfoot class, id, style, title

th abbr, axis, class, colspan, id,


rowspan, scope, style, title, width

thead class, id, style, title

tr class, id, style, title

tt class, id, style, title

u class, id, style, title

ul class, id, style, title, type

var class, id, style, title

Note

Os modelos personalizados de e-mail de verificação não podem incluir etiquetas de comentário.

P6. Quantos endereços de e-mail verificados podem existir em minha conta?


A conta do Amazon SES pode ter até 10.000 identidades verificadas em cada região da AWS. No Amazon
SES, as identidades incluem tanto os endereços de e-mail quanto os domínios verificados.

P7. Posso criar modelos personalizados de e-mail de verificação usando o


console do Amazon SES?
No momento, só é possível criar, editar e excluir e-mails de verificação personalizados usando a API do
Amazon SES.

177
Amazon Simple Email Service Guia do desenvolvedor
Usar modelos personalizados de e-mail de verificação

P8. Posso acompanhar eventos de abertura e clique que ocorrem quando os


clientes recebem e-mails de verificação personalizados?
Os e-mails de verificação personalizados não podem incluir o rastreamento de aberturas ou de cliques.

P9. Os e-mails de verificação personalizados podem incluir cabeçalhos


personalizados?
Os e-mails de verificação personalizados não podem incluir cabeçalhos personalizados.

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.

O link email address (endereço de e-mail) neste texto refere-se a aws-email-domain-


[email protected], uma caixa de entrada ativamente monitorada pela equipe do Amazon SES.

P11. Os e-mails de verificação personalizados são assinados por DKIM?


Para que os e-mails de verificação sejam assinados por DKIM, o endereço de e-mail que você especifica
no atributo FromEmailAddress ao criar o modelo de e-mail de verificação deve ser configurado para
gerar uma assinatura de DKIM. Para obter mais informações sobre como configurar o DKIM para domínios
e endereços de e-mail, consulte the section called “Autenticação de e-mail com DKIM” (p. 183).

P12. Por que as operações de API do modelo personalizado de e-mail de


verificação não são exibidas no SDK ou na CLI?
Se você não está conseguindo usar as operações do modelo personalizado de e-mail de verificação em
um SDK ou na AWS CLI, é possível que você esteja usando uma versão mais antiga do SDK ou da CLI.
As operações do modelo personalizado de e-mail de verificação estão disponíveis nos seguintes SDKs e
CLIs:

• Versão 1.14.6 ou mais recente da AWS Command Line Interface


• Versão 3.3.205.0 ou mais recente do AWS SDK for .NET
• Versão 1.3.20170531.19 ou mais recente do AWS SDK for C++
• Versão 1.12.43 ou mais recente do AWS SDK for Go
• Versão 1.11.245 ou mais recente do AWS SDK for Java
• Versão 2.166.0 ou mais recente do AWS SDK for JavaScript
• Versão 3.45.2 ou mais recente do AWS SDK for PHP
• Versão 1.5.1 ou mais recente do AWS SDK for Python (Boto)
• Versão 1.5.0 ou mais recente do gem aws-sdk-ses no AWS SDK for Ruby

P13. Por que recebo erros ProductionAccessNotGranted quando envio e-


mails de verificação personalizados?
O erro ProductionAccessNotGranted indica que sua conta ainda está no sandbox do Amazon SES.
Só é possível enviar e-mails de verificação personalizados se sua conta tiver sido removida do sandbox.
Para mais informações, consulte Saída da sandbox do Amazon SES (p. 32).

178
Amazon Simple Email Service Guia do desenvolvedor
Gerenciamento de identidades

Gerenciamento de identidades no Amazon SES


No console do Amazon SES, você pode exibir uma lista de identidades para exibir e editar suas
configurações de detalhes, associar um conjunto de configurações padão ou excluir uma ou mais
identidades.
Note

Os procedimentos descritos nesta seção se aplicam somente às identidades na Região da AWS


selecionada. Para gerenciar identidades que foram criadas em mais de uma região, repita os
procedimentos para cada Região da AWS.

Visualização de uma lista de identidades no Amazon


SES
Você pode usar o console ou a API do Amazon SES para visualizar uma lista de identidades de domínio
e endereço de e-mail verificadas ou aguardando verificação. Você também pode visualizar as indetidades
para os quais a verificação não foi bem-sucedida.

Para visualizar suas identidades de domínio e endereço de e-mail (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 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

Exclusão de uma identidade no Amazon SES


Você pode usar o console ou a API do Amazon SES para remover uma identidade de domínio ou de
endereço de e-mail da sua conta na Região da AWS selecionada.

Para remover uma identidade de domínio ou de endereço de e-mail (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).

Edição de uma identidade existente no Amazon SES


Você pode usar o console ou a API do Amazon SES para editar uma identidade de domínio ou de
endereço de e-mail da sua conta na selecionada Região da AWS.

Para editar uma identidade de domínio ou de endereço de e-mail (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 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. Se você deseja editar atributos na guia Authentication (Autenticação), e sua identidade de


domínio está hospedada no Amazon Route 53, e você ainda não publicou seus registros de
DNS, haverá um botão Publish DNS records to Route53 (Publicar registros DNS no Route53) ao
lado do botão Edit (Editar) em um ou ambos os contêineres DomainKeys Identified Mail (DKIM)
(Correio identificado DomainKeys DKIM) ou Custom MAIL FROM domain (Customizar domínio E-
MAIL DE).
Note

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.

Edite uma identidade para usar um conjunto de


configurações padrão usando a API
Você pode usar a operação PuteMailIdentityConfigurationSetAttributes para adicionar ou remover um
conjunto de configurações padrão de uma identidade de e-mail existente.
Note
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.

Para adicionar um conjunto de configurações padrão usando a AWS CLI

• Na linha de comando, insira o seguinte comando para usar a operação


PuteMailIdentityConfigurationSetAttributes.

aws sesv2 put-email-identity-configuration-set-attributes --email-identity ADDRESS-OR-


DOMAIN --configuration-set-name CONFIG-SET

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.

Para remover um conjunto de configurações padrão usando o AWS CLI

• Na linha de comando, insira o seguinte comando para usar a operação


PuteMailIdentityConfigurationSetAttributes.

aws sesv2 put-email-identity-configuration-set-attributes --email-identity ADDRESS-OR-


DOMAIN

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.

Recupere o conjunto de configurações padrão usado


pela identidade (API)
Você pode usar a operação GetEmailIdentity para retornar o conjunto de configurações padrão para uma
identidade de e-mail, se aplicável.
Note
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.

181
Amazon Simple Email Service Guia do desenvolvedor
Substitua o conjunto de configurações
padrão usado pela identidade (API)

Para retornar um conjunto de configurações padrão usando o AWS CLI

• Na linha de comando, insira o comando a seguir para usar a operação GetEmailIdentity


(ObterIdentidadeE-mail).

aws sesv2 get-email-identity --email-identity ADDRESS-OR-DOMAIN

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.

Substitua o conjunto de configurações padrão usado


pela identidade (API)
Você pode usar a operação SendEmail para enviar emails com um conjunto de configurações diferente. Se
você fizer isso, o conjunto de configurações que você especificar substituirá o conjunto de configurações
padrão para a identidade.
Note

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.

Para substituir um conjunto de configurações padrão usando o AWS CLI

• Na linha de comando, insira o comando a seguir para usar a operação SendEmail (EnviarE-mail).

aws sesv2 send-email --destination file://DESTINATION-JSON --content file://CONTENT-JSON --


from-email-address ADDRESS-OR-DOMAIN --configuration-set-name CONFIG-SET

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.

Se o comando for executado com êxito, ele produzirá um MessageId.

Configuração de identidades no Amazon SES


O Amazon Simple Email Service (Amazon SES) usa o Simple Mail Transfer Protocol (SMTP) para enviar e-
mail. Como o SMTP não fornece nenhuma autenticação por si só, spammers podem enviar mensagens de
e-mail que declaram vir de outra pessoa enquanto ocultam sua real origem. Por falsificar cabeçalhos de e-
mail e fazer spoofing de endereços IP de origem, os spammers podem enganar os destinatários a pensar
que as mensagens de e-mail que estão recebendo são autênticas.

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

Métodos de autenticação de e-mail


O Amazon Simple Email Service (Amazon SES) usa o Simple Mail Transfer Protocol (SMTP) para enviar
e-mail. Como o SMTP não fornece autenticação por si só, spammers podem enviar mensagens de e-mail
que alegam ser de outra pessoa e, ao mesmo tempo, ocultar sua real origem. Por falsificar cabeçalhos
de e-mail e fazer spoofing de endereços IP de origem, os spammers podem enganar os destinatários a
pensar que as mensagens de e-mail que estão recebendo são autênticas.

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)

Autenticação de e-mail com DKIM no Amazon SES


DomainKeys Identified Mail (DKIM) é um padrão de segurança de e-mail projetado para garantir que
um e-mail que declara ter vindo de um domínio específico foi realmente autorizado pelo proprietário
desse domínio. Ele usa criptografia de chave pública para assinar um e-mail com uma chave privada. Os
servidores dos destinatários podem então usar uma chave pública publicada no DNS de um domínio para
confirmar que partes do e-mail não foram modificadas durante o trânsito.

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

Comprimento da chave de assinatura DKIM


Como muitos provedores de DNS agora suportam totalmente a criptografia RSA DKIM de 2048 bits, o
Amazon SES também suporta o DKIM 2048 para permitir uma autenticação mais segura de e-mails e,
portanto, o usa como o comprimento de chave padrão quando você configura o Easy DKIM usando a
API ou o console. As chaves de 2048 bits podem ser configuradas e usadas no Bring Your Own DKIM
(BYODKIM) também, no qual o comprimento da chave de assinatura deve ser de, pelo menos, 1024 bits e
de, no máximo, 2048 bits.

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.

Considerações sobre o DKIM


Ao usar o DKIM para autenticar seu e-mail, as seguintes regras serão aplicadas:

• 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

Compreensão das propriedades da assinatura DKIM herdadas


É 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 desabilitar a assinatura DKIM na


Você não pode habilitar a assinatura DKIM na identidade do endereço de e-mail.
identidade do endereço de e-mail. Você não pode reabilitar a assinatura DKIM na
identidade do endereço de e-mail.

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

Easy DKIM no Amazon SES


Quando você configura o Easy DKIM para uma identidade de domínio, o Amazon SES adiciona
automaticamente uma chave DKIM de 2.048 bits a cada e-mail enviado dessa identidade. Você pode
configurar o Easy DKIM usando o console ou a API do Amazon SES.
Note

Para configurar o Easy DKIM, é necessário modificar as configurações de DNS do seu


domínio. Se você usa o Route 53 como seu provedor de DNS, o Amazon SES pode criar
automaticamente os registros apropriados para você. Se você usa outro provedor de DNS,
consulte a documentação do provedor para saber mais sobre como alterar as configurações de
DNS do seu domínio.
Warning

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.

Configuração do Easy DKIM para uma identidade verificada existente

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.

Para configurar o Easy DKIM para um 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. Na lista de identidades, escolha uma identidade na qual o Identity type (Tipo de identidade) é Domain
(Domínio).
Note

Se precisar criar ou verificar um domínio, consulte Criar uma identidade de


domínio (p. 160).
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 o botão Easy
DKIM no campo Identity type (Tipo de identidade).
6. No campo DKIM signing key length (Comprimento da chave de assinatura DKIM), escolha
RSA_2048_BIT ou RSA_1024_BIT (p. 184).
7. No campo DKIM signatures (Assinaturas do DKIM), marque a caixa de seleção Enabled (Habilitado).
8. Selecione Save changes.
9. Agora que você configurou sua identidade de domínio com o Easy 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 Easy DKIM.

Alterar o comprimento da chave de assinatura Easy DKIM para uma identidade

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.

Para alterar os bits de comprimento da chave de assinatura DKIM

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.

Fornecer seu próprio token de autenticação DKIM (BYODKIM) no Amazon SES


Como alternativa ao uso do Easy DKIM (p. 185), você pode configurar a autenticação DKIM usando
seu próprio par de chaves pública e privada. Este processo é conhecido como Bring Your Own DKIM
(BYODKIM).

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.

Tópicos nesta seção:


• Etapa 1: Criar o par de chaves (p. 188)
• Etapa 2: adicionar o seletor e a chave pública à configuração de domínio do provedor de
DNS (p. 188)
• Etapa 3: configurar e verificar um domínio para usar BYODKIM (p. 189)

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.

Etapa 1: Criar o par de chaves

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:

openssl genrsa -f4 -out private.key nnnn

2. Na linha de comando, digite o comando a seguir para gerar a chave pública:

openssl rsa -in private.key -outform PEM -pubout -out public.key

Etapa 2: adicionar o seletor e a chave pública à configuração de domínio do provedor de DNS

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.

Como adicionar a chave pública à configuração DNS do seu domínio

1. Faça login no console de gerenciamento do seu provedor hospedagem ou DNS.


2. Como adicionar um novo registro de texto à configuração de DNS do seu domínio O registro deve ter
o seguinte formato:

Name (Nome) Type Valor

TXT
selector._domainkey.example.com p=yourPublicKey

No exemplo anterior, faça as seguintes alterações:

• Substitua selector por um nome exclusivo que identificará a chave.


Note

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.

Provedor de DNS/hospedagem Link da documentação

Amazon Route 53 Edição de registros no Guia do desenvolvedor


do Amazon Route 53

GoDaddy Adicionar um registro TXT (link externo)

DreamHost Como adicionar registros DNS personalizados?


(link externo)

Cloudflare Gerenciamento de registros DNS no Cloudflare


(link externo)

HostGator Gerenciar registros DNS com HostGator/eNom


(link externo)

Namecheap Como adicionar registros TXT/SPF/DKIM/


DMARC para o meu domínio? (link externo)

Names.co.uk Alterar configurações de DNS dos domínios (link


externo)

Wix Adicionar ou atualizar registros TXT em sua


conta do Wix (link externo)

Etapa 3: configurar e verificar um domínio para usar BYODKIM

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

Opção 1: Criar uma nova identidade de domínio que usa BYODKIM

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

Para criar uma identidade usando BYODKIM no console

• 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 criar uma identidade usando BYODKIM na AWS CLI

Para configurar um novo domínio, use a operação CreateEmailIdentity na API do Amazon SES.

1. No editor de texto, cole o código a seguir:

{
"EmailIdentity":"example.com",
"DkimSigningAttributes":{
"DomainSigningPrivateKey":"privateKey",
"DomainSigningSelector":"selector"
}
}

No exemplo anterior, faça as seguintes alterações:

• Substitua example.com pelo domínio que você deseja criar.


• Substitua privateKey pela sua chave privada.
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.
• Substitua selector pelo seletor exclusivo que você especificou na criação do registro TXT durante
a configuração do DNS para seu domínio.

Ao concluir, salve o arquivo como create-identity.json.


2. Na linha de comando, insira o seguinte comando:

aws sesv2 create-email-identity --cli-input-json file://path/to/create-identity.json

No comando anterior, substitua path/to/create-identity.json pelo caminho completo do


arquivo que você criou na etapa anterior.

Opção 2: Configurar uma identidade de domínio existente

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

Para atualizar uma identidade de domínio usando BYODKIM no 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) é Domain
(Domínio).
Note

Se precisar criar ou verificar um domínio, consulte Criar uma identidade de


domínio (p. 160).
4. Na guia Authentication (Autenticação), no painel DomainKeys Identified Mail (DKIM), escolha Edit
(Editar).
5. No painel Advanced DKIM settings (Configurações avançadas de DKIM), selecione o botão Provide
DKIM authentication token (Fornecer token de autenticação DKIM) no campo Identity type (Tipo de
identidade).
6. Em Private key (Chave privada), cole a chave privada que você gerou anteriormente.
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.

Para atualizar uma identidade de domínio usando BYODKIM na AWS CLI

Para configurar um domínio existente, use a operação PutEmailIdentityDkimSigningAttributes


na API do Amazon SES.

1. No editor de texto, cole o código a seguir:

{
"SigningAttributes":{
"DomainSigningPrivateKey":"privateKey",
"DomainSigningSelector":"selector"
},
"SigningAttributesOrigin":"EXTERNAL"
}

No exemplo anterior, faça as seguintes alterações:

• Substitua privateKey pela sua chave privada.


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.
191
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail

• Substitua selector pelo seletor exclusivo que você especificou na criação do registro TXT durante
a configuração do DNS para seu domínio.

Ao concluir, salve o arquivo como update-identity.json.


2. Na linha de comando, insira o seguinte comando:

aws sesv2 put-email-identity-dkim-signing-attributes --email-identity example.com --


cli-input-json file://path/to/update-identity.json

No comando anterior, faça as seguintes alterações:

• Substitua path/to/update-identity.json pelo caminho completo do arquivo criado na etapa


anterior.
• Substitua example.com pelo domínio que você deseja atualizar.

Verificação do status de DKIM de um domínio que usa BYODKIM

Para verificar o status DKIM de um domínio no console

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

Para verificar o status de DKIM de um domínio usando a AWS CLI

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.

• Na linha de comando, insira o seguinte comando:

aws sesv2 get-email-identity --email-identity example.com

No comando anterior, substitua example.com pelo seu domínio.

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):

• O valor da propriedade SigningAttributesOrigin é EXTERNAL.


• O valor de SigningEnabled é true.
• O valor de Status é SUCCESS.

Como gerenciar o Easy DKIM e o BYODDKIM


Você pode gerenciar as configurações do DKIM para suas identidades autenticadas com Easy DKIM
ou BYODKIM usando o console do Amazon SES baseado na Web ou usando a API do Amazon SES. É
possível usar qualquer um desses métodos para obter os registros DKIM para uma identidade, ou para
habilitar ou desabilitar a assinatura DKIM para uma identidade.

Como obter registros DKIM para uma identidade

Você pode obter registros DKIM para seu domínio ou endereço de e-mail a qualquer momento usando o
console do Amazon SES.

Para obter registros DKIM para 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 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

1. Na linha de comando, digite o seguinte comando:

aws ses get-identity-dkim-attributes --identities "example.com"

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:

token1._domainkey.example.com CNAME token1.dkim.amazonses.com


token2._domainkey.example.com CNAME token2.dkim.amazonses.com
token3._domainkey.example.com CNAME token3.dkim.amazonses.com

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

Desabilitação do Easy DKIM para uma identidade

Você pode desabilitar rapidamente a autenticação DKIM para uma identidade usando o console do
Amazon SES.

Para desabilitar o DKIM para uma identidade

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.

Para desabilitar o DKIM para uma identidade usando a AWS CLI

• Na linha de comando, digite o seguinte comando:

aws ses set-identity-dkim-enabled --identity example.com --no-dkim-enabled

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.

Habilitação do Easy DKIM para uma identidade

Se tiver desabilitado o DKIM anteriormente para uma identidade, é possível habilitá-lo novamente usando
o console do Amazon SES.

Para habilitar o DKIM para uma identidade

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.

Para habilitar o DKIM para uma identidade usando a AWS CLI

• Na linha de comando, digite o seguinte comando:

196
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail

aws ses set-identity-dkim-enabled --identity example.com --dkim-enabled

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.

Substituição da assinatura DKIM herdada em uma identidade de endereço de e-mail

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.

Esta seção contém os seguintes tópicos:

• Compreensão das propriedades da assinatura DKIM herdadas (p. 197)


• Substituição da assinatura DKIM herdada em uma identidade de endereço de e-mail (console) (p. 198)
• Substituição da assinatura DKIM herdada em uma identidade de endereço de e-mail (AWS
CLI) (p. 198)

Compreensão das propriedades da assinatura DKIM herdadas

É 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

Você não pode reabilitar a assinatura DKIM na


identidade do endereço de e-mail.

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.

Substituição da assinatura DKIM herdada em uma identidade de endereço de e-mail (console)

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

A guia Authentication (Autenticação) só estará presente se a identidade do endereço de e-


mail selecionada pertencer a um domínio que já foi verificado pelo SES. Se você ainda não
tiver verificado seu domínio, consulte Criar uma identidade de domínio (p. 160).
5. Embaixo de Advanced DKIM settings (Configurações avançadas de DKIM), no campo DKIM
signatures (Assinaturas DKIM), limpe a caixa de seleção Enabled (Ativadas) para desativar a
assinatura DKIM ou selecione-a para reativar a assinatura DKIM (se ela tiver sido substituída
anteriormente).
6. Selecione Save changes.

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

aws sesv2 put-email-identity-dkim-attributes --email-identity [email protected] --


no-signing-enabled

a. Substituir [email protected] pela identidade de endereço de e-mail para a qual você


quer desabilitar a assinatura DKIM.
b. --no-signing-enabled desabilitará a assinatura DKIM. Para reabilitar a assinatura DKIM, use
--signing-enabled.

Assinatura DKIM manual no Amazon SES


Se preferir, em vez de usar o Easy DKIM, você pode adicionar manualmente as assinaturas DKIM às suas
mensagens e enviá-las usando o Amazon SES. Se você optar por assinar manualmente suas mensagens,
primeiro será necessário criar uma assinatura DKIM. Depois de criar a mensagem e a assinatura DKIM,
você poderá usar a API SendRawEmail para enviá-la.

Se você decidir assinar seu e-mail manualmente, considere os seguintes fatores:

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

Uso de um domínio MAIL FROM personalizado


Quando um e-mail é enviado, ele tem dois endereços que indicam sua origem: um endereço From exibido
para o destinatário da mensagem e um endereço MAIL FROM que indica onde a mensagem foi originada.
O endereço MAIL FROM, às vezes, é chamado de remetente do envelope, envelope de, endereço de
devolução ou endereço de caminho de retorno. Os servidores de e-mail usam o endereço MAIL FROM
para retornar mensagens de devolução e outras notificações de erro. O endereço MAIL FROM geralmente
só pode ser visualizado pelos destinatários se eles visualizarem o código-fonte da mensagem.

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.

Por que usar um domínio MAIL FROM personalizado?


Por padrão, as mensagens que você envia pelo Amazon SES usam um subdomínio de amazonses.com
como domínio MAIL FROM. A autenticação da Sender Policy Framework (SPF) valida essas mensagens
com êxito porque o domínio MAIL FROM padrão corresponde ao aplicativo que enviou o e-mail, neste
caso, o Amazon SES.

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.

Escolher um domínio MAIL FROM


A seguir, o termo MAIL FROM domain sempre se refere a um subdomínio. Esse subdomínio usado para o
domínio MAIL FROM deve atender aos seguintes requisitos:

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

Configurar o domínio MAIL FROM


O processo de configuração de um domínio MAIL FROM personalizado requer que você adicione registros
à configuração do DNS do domínio. Você deve publicar um registro MX para que seu domínio possa
receber as notificações de devolução e reclamação que os provedores de e-mail enviam a você. Você
também deve publicar um registro SPF (tipo TXT) para provar que o Amazon SES está autorizado a enviar
e-mails de seu domínio.

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

Configuração de um domínio MAIL FROM para um domínio verificado

É 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

1. Faça login no Amazon SES em https://console.aws.amazon.com/ses/.


2. No painel de navegação, em Configuration, escolha Verified identities.
3. Na lista de identidades, escolha a identidade que você quer configurar onde o Identity type (Tipo de
identidade) seja Domain (Domínio) e Status seja Verified (Verificado).

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

Name (Nome) Type Valor

subdomínio.domínio.com MX 10 feedback-
smtp.região.amazonses.com

subdomínio.domínio.com TXT "v=spf1


include:amazonses.com ~all"

Nos registros anteriores,

• subdomínio.domínio.com serão preenchidos com seu subdomínio MAIL FROM


• região será preenchida com o nome da Região da AWS onde você deseja verificar o domínio
MAIL FROM (como us-west-2, us-east-1, eu-west-1 etc.)
• O número 10 listado com o valor de MX é a ordem de preferência para o servidor de e-mail e
precisará ser inserido em um campo de valor separado, conforme especificado pela GUI do
provedor de DNS.
• O valor do registro TXT do SPF deve incluir as aspas.

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.

Nome do provedor de DNS/hospedagem Link da documentação

GoDaddy • MX: Adicionar um registro MX (link externo)


• TXT: Adicionar um registro TXT (link externo)

DreamHost • MX: Como faço para alterar meus registros


MX? (link externo)
• TXT: Como faço para adicionar registros DNS
personalizados? (link externo)

Cloudflare • MX: Como faço para adicionar ou editar e-


mails ou registros MX? (link externo)
• TXT: Gerenciamento de registros de DNS no
CloudFlare (link externo)

HostGator • MX: Alterar registros MX — Windows (link


externo)
• TXT: Gerenciar registros DNS com HostGator/
eNom (link externo)

Namecheap • MX: Como posso configurar os registros MX


necessários para o serviço de e-mail? (link
externo)
• TXT: Como adicionar registros TXT/SPF/
DKIM/DMARC para o meu domínio? (link
externo)

Names.co.uk • MX: Alterar configurações de DNS de seus


domínios (link externo)
• TXT: Alterar suas configurações do DNS dos
domínios (link externo)

Wix • MX: Adicionar ou atualizar registros MX em


sua conta do Wix (link externo)
• TXT: Adicionar ou atualizar registros TXT em
sua conta do Wix (link externo)

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.

Configuração de um domínio MAIL FROM para um endereço de e-mail verificado

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

1. Faça login no Amazon SES em https://console.aws.amazon.com/ses/.


2. No painel de navegação, em Configuration, escolha Verified identities.
3. Na lista de identidades, escolha a identidade que você quer configurar, com o Identity type sendo
Email adress e Status sendo Verified.

• Se o Status for Unverified (Não verificado), conclua os procedimentos em Verificar a identidade de


um endereço de e-mail (p. 169) para verificar o domínio do endereço de e-mail.
4. Na guia MAIL FROM Domain (Domínio MAIL FROM), escolha Edit (Editar) no painel Custom MAIL
FROM domain (Domínio MAIL FROM personalizado).
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 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

Name (Nome) Type Valor

subdomínio.domínio.com MX 10 feedback-
smtp.região.amazonses.com

subdomínio.domínio.com TXT "v=spf1


include:amazonses.com ~all"

Nos registros anteriores,

• subdomínio.domínio.com serão preenchidos com seu subdomínio MAIL FROM


• região será preenchida com o nome da Região da AWS onde você deseja verificar o domínio
MAIL FROM (como us-west-2, us-east-1, eu-west-1 etc.)
• O número 10 listado com o valor de MX é a ordem de preferência para o servidor de e-mail e
precisará ser inserido em um campo de valor separado, conforme especificado pela GUI do
provedor de DNS.
• O valor do registro TXT do SPF deve incluir as aspas.

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.

Nome do provedor de DNS/hospedagem Link da documentação

GoDaddy • MX: Adicionar um registro MX (link externo)


• TXT: Adicionar um registro TXT (link externo)

204
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail

Nome do provedor de DNS/hospedagem Link da documentação

DreamHost • MX: Como faço para alterar meus registros


MX? (link externo)
• TXT: Como faço para adicionar registros DNS
personalizados? (link externo)

Cloudflare • MX: Como faço para adicionar ou editar e-


mails ou registros MX? (link externo)
• TXT: Gerenciamento de registros de DNS no
CloudFlare (link externo)

HostGator • MX: Alterar registros MX — Windows (link


externo)
• TXT: Gerenciar registros DNS com HostGator/
eNom (link externo)

Namecheap • MX: Como posso configurar os registros MX


necessários para o serviço de e-mail? (link
externo)
• TXT: Como adicionar registros TXT/SPF/
DKIM/DMARC para o meu domínio? (link
externo)

Names.co.uk • MX: Alterar configurações de DNS de seus


domínios (link externo)
• TXT: Alterar suas configurações do DNS dos
domínios (link externo)

Wix • MX: Adicionar ou atualizar registros MX em


sua conta do Wix (link externo)
• TXT: Adicionar ou atualizar registros TXT em
sua conta do Wix (link externo)

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.

Estados de configuração de domínio de MAIL FROM com o Amazon SES


Após configurar uma identidade para usar um domínio MAIL FROM personalizado, o estado da
configuração é "pending" (pendente) enquanto o Amazon SES tenta detectar o registro MX necessário
nas suas configurações de DNS. O estado então muda, dependendo de o Amazon SES detectar ou não
o registro MX. A tabela a seguir descreve o comportamento de envio de e-mails e as ações do Amazon
SES associadas a cada estado. Sempre que o estado muda, o Amazon SES envia uma notificação para o
endereço de e-mail associado à sua Conta da AWS.

Estado Comportamento de envio de e-mails Ações do Amazon


SES

Pendente Usa a configuração de fallback MAIL FROM personalizada O Amazon SES


tenta detectar
o registro MX
necessário para

205
Amazon Simple Email Service Guia do desenvolvedor
Métodos de autenticação de e-mail

Estado Comportamento de envio de e-mails Ações do Amazon


SES
72 horas. Se não
for bem-sucedido,
o estado mudará
para "Failed".

Bem-sucedida Usa o domínio MAIL FROM personalizado O Amazon


SES verifica
continuamente que
o registro MX está
em vigor.

TemporaryFailure Usa a configuração de fallback MAIL FROM personalizada O Amazon SES


tenta detectar
o registro MX
necessário para
72 horas. Se não
for bem-sucedido,
o estado mudará
para "Failed"; se
for bem-sucedido,
o estado mudará
para "Success".

Reprovada Usa a configuração de fallback MAIL FROM personalizada O Amazon


SES não tenta
mais detectar
o registro MX
necessário. Para
usar um domínio
MAIL FROM
personalizado,
é necessário
reiniciar o
processo de
configuração
em Configurar
o domínio MAIL
FROM (p. 200).

Conformidade com DMARC usando o Amazon SES


Autenticação de mensagens com base em Domain-based Message Authentication, Reporting and
Conformance (DMARC) é um protocolo de autenticação de e-mail que usa Sender Policy Framework
(SPF) e DomainKeys Identified Mail (DKIM) para detectar e-mail falsificação. Para estar em conformidade
com o DMARC, as mensagens devem ser autenticadas por meio de SPF, DKIM ou ambos.

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

Configuração da política DMARC no seu domínio


Para configurar a DMARC, é necessário modificar as configurações de DNS do seu domínio. As
configurações de DNS do seu domínio devem incluir um registro TXT que especifica as configurações
DMARC do domínio. Os procedimentos para adicionar registros TXT à configuração de DNS dependem
de qual DNS ou provedor de hospedagem você usa. Se você usar o Route 53, consulte Trabalho com
registros no Guia do desenvolvedor do Amazon Route 53. Se você usar outro provedor, consulte a
documentação de configuração de DNS do seu provedor.

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:

Nome Type Valor

_dmarc.example.com TXT "v=DMARC1;p=quarantine;pct=25;rua=ma

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.

Conformidade com o DMARC por meio de SPF


Para um e-mail estar em conformidade com o DMARC com base em SPF, as condições a seguir deverão
ser cumpridas:

• O e-mail deve passar uma verificação de SPF.


• O domínio no endereço From do cabeçalho do e-mail deve estar alinhado com o domínio MAIL
FROM que o servidor de envio de e-mail especifica para o servidor de e-mail recebedor. Se a política
DMARC do domínio par SPF especifica alinhamento estrito, os domínios "De" e MAIL FROM devem
corresponder exatamente. Se a política DMARC do domínio para SPF especifica alinhamento flexível, o
domínio MAIL FROM pode ser um subdomínio do domínio no cabeçalho De.

Para cumprir esses requisitos, execute as seguintes etapas:

• 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:

nslookup -type=TXT _dmarc.example.com

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.

Conformidade com o DMARC por meio de DKIM


Para um e-mail estar em conformidade com o DMARC com base em DKIM, as condições a seguir deverão
ser cumpridas:

• A mensagem deve ter uma assinatura DKIM válida.


• O endereço From no cabeçalho do e-mail deve estar alinhado com o domínio d= na assinatura do DKIM.
Se a política DMARC do domínio especificar alinhamento estrito para DKIM, esses domínios deverão
corresponder exatamente. Se a política DMARC do domínio especificar alinhamento flexível para DKIM,
o domínio d= poderá ser um subdomínio do domínio De.

Para cumprir esses requisitos, execute as seguintes etapas:

• 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

Em vez de usar o Easy DKIM, também é possível assinar manualmente suas


mensagens (p. 199). No entanto, você deve ter muito cuidado se escolher fazê-lo, porque
o Amazon SES não valida a assinatura DKIM que você cria. Por esse motivo, é altamente
recomendável usar o Easy DKIM.
• Verifique se o seu domínio de envio usa uma política flexível para DKIM. 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 DKIM digitando o
seguinte comando na linha de comando, substituindo example.com pelo seu domínio:

nslookup -type=TXT _dmarc.example.com

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.

Autenticação de e-mail com SPF no Amazon SES


A Sender Policy Framework (SPF) é um padrão de validação de e-mails criado para evitar a falsificação de
e-mails. Os proprietários de domínio usam a SPF para informar aos provedores de e-mail quais servidores
têm permissão para enviar e-mails de seus domínios. A SPF está definida na RFC 7208.

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

Adição de um registro SPF


Para publicar um registro SPF, é necessário adicionar um novo registro TXT à configuração do DNS do
seu domínio. Os procedimentos para atualizar os registros DNS de um domínio variam de acordo com qual
DNS ou provedor de hospedagem na web você usa.

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.

Provedor de DNS/hospedagem Link da documentação

Amazon Route 53 Criação de registros usando o console do Amazon


Route 53 e valores comuns

GoDaddy Adicionar um registro SPF (link externo)

DreamHost Como posso adicionar um registro SPF? (link


externo)

Cloudflare Gerenciamento de registros DNS no Cloudflare


(link externo)

HostGator Registros SPF (link externo)

Namecheap Como adicionar registros TXT/SPF/DKIM/DMARC


para o meu domínio? (link externo)

Names.co.uk Alterar configurações de DNS dos domínios (link


externo)

Wix Adicionar ou atualizar registros SPF em sua conta


do Wix (link externo)

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.

"v=spf1 include:amazonses.com ~all"

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:

"v=spf1 include:example.com include:amazonses.com ~all"

Configuração de notificação de evento para o Amazon


SES
Para enviar e-mails usando o Amazon SES, você deve ter um sistema implantado para gerenciar
devoluções e reclamações. O Amazon SES pode notificar você sobre eventos de devolução ou de
reclamação de três formas: enviando um e-mail de notificação, notificando um tópico do Amazon SNS
ou publicando os eventos de envio. Esta seção contém informações sobre como configurar o Amazon
SES para enviar determinados tipos de notificações por e-mail ou notificando um tópico do Amazon SNS.
Para obter mais informações sobre como publicar eventos de envio, consulte Monitorar o envio de e-mails
usando a publicação de eventos do Amazon SES (p. 337).

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.

Se você não configurar um desses métodos de recebimento de notificações de devolução ou


reclamação, o Amazon SES encaminhará automaticamente as notificações de devolução e reclamação
para o endereço Return-Path (Caminho de devolução) (ou para o endereço de origem, se você não
especificar um endereço de Return-Path) no e-mail que resultou no evento de devolução ou reclamação,
mesmo que você tenha desabilitado o encaminhamento de comentários de e-mail.

Se desabilitar o encaminhamento de comentários de e-mail e habitar a publicação de eventos, você


deverá aplicar o conjunto de configurações que contém a regra de publicação de eventos para todos
os e-mails que envia. Nessa situação, se você não usar o conjunto de configurações, o Amazon SES
encaminhará automaticamente notificações de devolução e reclamação para o Return-Path ou para o
endereço de origem que resultaram no evento de devolução ou reclamação.

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.

Recebimento de notificações do Amazon SES por e-mail


O Amazon SES pode enviar e-mail quando você recebe devoluções e reclamações usando um processo
chamado encaminhamento de comentários de e-mail.

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:

• Habilitando o encaminhamento de comentários de e-mail. O procedimento para configurar esse tipo de


notificação está incluído nesta seção.
• Enviando notificações a um tópico do Amazon SNS. Para obter mais informações, consulte .
Recebimento de notificações do Amazon SES usando o Amazon SNS (p. 213).
• Publicando notificações de eventos. Para obter mais informações, consulte . Monitorar o envio de e-
mails usando a publicação de eventos do Amazon SES (p. 337).

Important

Para vários pontos importantes sobre notificações, consulte Configuração de notificação de


evento para o Amazon SES (p. 210).

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)

Habilitar o encaminhamento de feedback de e-mail


O encaminhamento de feedback de e-mail está habilitado por padrão. Se você o tiver desabilitado
anteriormente, poderá habilitá-lo seguindo os procedimentos nesta seção.

Para habilitar o encaminhamento de devoluções e reclamações por e-mail 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 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

Desabilitar o encaminhamento de feedback de e-mail


Se você configurar um método diferente para fornecer notificações de devolução e de reclamação, você
poderá desabilitar o encaminhamento de comentários de e-mail para não receber várias notificações
quando ocorre um evento de devolução ou de reclamação.

Para desabilitar o encaminhamento de devoluções e reclamações por e-mail 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 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

Você deve configurar um método para receber notificações de devolução e reclamação


para enviar e-mail por meio do Amazon SES. Se você desabilitar o encaminhamento de
comentários de e-mail, deve habilitar as notificações enviadas pelo Amazon SNS ou publicar
eventos de devolução e reclamação em um tópico do Amazon SNS ou em um fluxo do
Kinesis Data Firehose usando publicação de eventos (p. 337). Se usar a publicação de
eventos, você também deverá aplicar o conjunto de configurações que contém a regra de
publicação de eventos para cada e-mail que envia. Se você não configurar um método
para receber notificações de devolução e reclamação, o Amazon SES encaminhará
automaticamente as notificações de comentários por e-mail para o endereço no campo
Return-Path (Caminho de devolução) (ou para o campo Source (Origem), se você não
especificar um endereço de Return-Path) da mensagem que resultou no evento de devolução
ou reclamação. Nessa situação, o Amazon SES encaminha as notificações de devolução e
reclamação, mesmo que você tenha desabilitado as notificações de feedback de e-mail.
7. Para salvar sua configuração de notificação, escolha Save Config (Salvar configuração).
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.

Destino do encaminhamento de feedback de e-mail


Quando você recebe notificações por e-mail, o Amazon SES reescreve o cabeçalho From e envia a
notificação para você. O endereço para o qual o Amazon SES encaminha a notificação depende de como
você enviou a mensagem original.

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:

• Se você especificou o parâmetro opcional ReturnPath na chamada para a API SendEmail, as


notificações são enviadas para esse endereço.

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.

Recebimento de notificações do Amazon SES usando o Amazon


SNS
Você pode configurar o Amazon SES para notificar um tópico do Amazon SNS quando você receber
devoluções ou reclamações, ou quando os e-mails forem entregues. As notificações do Amazon SNS
estão em formato JSON (JavaScript Object Notation), o que permite processá-las de forma programática.

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)

Configuração de notificações do Amazon SNS para o Amazon SES


O Amazon SES pode notificar você sobre devoluções, reclamações e entregas por meio do Amazon
Simple Notification Service (Amazon SNS).

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

Tópicos nesta seção:


• Pré-requisitos (p. 214)
• Configuração de notificações usando o console do Amazon SES (p. 215)
• Configuração de notificações usando a API do Amazon SES (p. 216)
• Solução de problemas com notificações de feedback (p. 216)

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

Independentemente de criar um novo tópico do SNS ou selecionar um existente, será necessário


conceder acesso ao SES para publicar notificações no tópico.

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"
}
}
}
]
}

Faça as seguintes alterações no exemplo de política anterior:

• 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": "*"
}
]
}

Configuração de notificações usando o console do Amazon SES

Para configurar notificações usando o console do Amazon SES

1. Faça login no 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), selecione a identidade verificada para a qual você deseja
receber notificações de feedback quando uma mensagem enviada dessa identidade resultar em
devolução, reclamação ou entrega.
Important

As configurações de notificação de domínio verificado aplicam-se a todos os e-mails enviados


nesse domínio, exceto para endereços de e-mail que estão também verificados.
4. Na tela de detalhes da identidade verificada selecionada, escolha a guia Notifications (Notificações) e
selecione Edit (Editar) no contêiner Feedback notifications (Notificações de feedback).
5. Expanda a caixa de listagem de tópicos do SNS de cada tipo de feedback para o qual deseja receber
notificações e selecione um tópico do SNS que você possui, No SNS topic (Nenhum tópico do SNS)
ouSNS topic you don’t own (Tópico do SNS que você não possui).

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

Configuração de notificações usando a API do Amazon SES

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.

Solução de problemas com notificações de feedback

Notificações não estão sendo recebidas

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.

Erro InvalidParameterValue ao escolher um tópico

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.

Conteúdo das notificações do Amazon SNS para o Amazon SES


As notificações de devolução, reclamação e entrega são publicadas nos tópicos do Amazon Simple
Notification Service (Amazon SNS) no formato JSON (JavaScript Object Notation). O objeto JSON de
nível superior contém uma string notificationType, um objeto mail e um objeto bounce, um objeto
complaint ou um objeto delivery.

Consulte as seções a seguir para obter descrições dos diferentes tipos de objetos:

• Objeto JSON de nível superior (p. 217)


• Objeto mail (p. 218)
• Objeto bounce (p. 221)
• Objeto complaint (p. 225)
• Objeto delivery (p. 227)

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.

Objeto JSON de nível superior


O objeto JSON de nível superior em uma notificação do Amazon SES contém os campos a seguir.

Nome do campo Descrição

notificationType Uma string que contém o tipo de notificação


representado pelo objeto JSON. Os valores são
Bounce, Complaint ou Delivery.

217
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações

Nome do campo Descrição


Se você configurou a publicação de
eventos (p. 340), este campo é chamado de
eventType.

mail Um objeto JSON que contém informações sobre


o e-mail original ao qual a notificação pertence.
Para mais informações, consulte Objeto de e-
mail (p. 218).

bounce Este campo estará presente somente se


notificationType for Bounce e contiver um
objeto JSON que contém informações sobre a
devolução. Para mais informações, consulte Objeto
de devolução (p. 221).

complaint Este campo estará presente somente se


notificationType for Complaint e contiver
um objeto JSON que contém informações sobre
a reclamação. Para mais informações, consulte
Objeto de reclamação (p. 225).

delivery Este campo estará presente somente se


notificationType for Delivery e contiver
um objeto JSON que contém informações sobre a
entrega. Para mais informações, consulte Objeto
de entrega (p. 227).

Objeto de e-mail

Cada notificação de devolução, reclamação ou entrega contém informações sobre o e-mail original no
objeto mail. O objeto JSON que contém informações sobre um objeto mail tem os seguintes campos.

Nome do campo Descrição

timestamp A hora em que a mensagem original foi enviada


(no formato ISO8601).

messageId Um ID exclusivo que o Amazon SES atribuiu à


mensagem. O Amazon SES retornou esse valor
quando você enviou a mensagem.
Note

Esse ID de mensagem foi atribuído pelo


Amazon SES. Você pode encontrar o
ID da mensagem do e-mail original nos
campos headers e commonHeaders do
objeto mail.

source O endereço de e-mail do qual a mensagem original


foi enviada (o endereço MAIL FROM no envelope).

sourceArn O nome de recurso da Amazon (ARN) da


identidade que foi usada para enviar o e-mail.
No caso de autorização de envio, o sourceArn
é o ARN da identidade que o proprietário de

218
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações

Nome do campo Descrição


identidade autorizou o remetente delegado a usar
para enviar o e-mail. Para obter mais informações
sobre a autorização de envio, consulte Métodos de
autenticação de e-mail (p. 235).

sourceIp O endereço IP público de origem do cliente


que realizou a solicitação de envio de e-mail ao
Amazon SES.

sendingAccountId O ID da conta da Conta da AWS da conta que


foi usada para enviar o e-mail. No caso de
autorização de envio, sendingAccountId é o ID
da conta do remetente delegado.

callerIdentity A identidade do IAM do usuário do Amazon SES


que enviou o e-mail.

destination Uma lista de endereços de e-mail que foram


destinatários da mensagem original.

headersTruncated Esse objeto só está presente se você definiu


as configurações de notificação para incluir os
cabeçalhos de e-mail originais.

Indica se os cabeçalhos estão truncados na


notificação. O Amazon SES trunca os cabeçalhos
na notificação quando os cabeçalhos da
mensagem original têm 10 KB ou mais. Os
possíveis valores são true e false.

headers Esse objeto só está presente se você definiu


as configurações de notificação para incluir os
cabeçalhos de e-mail originais.

Uma lista com os cabeçalhos originais do e-mail.


Cada cabeçalho tem um campo name e um campo
value.
Note

Qualquer ID de mensagem no objeto


headers é da mensagem original que
você passou ao Amazon SES. O ID
da mensagem que o Amazon SES
subsequentemente atribuiu à mensagem
está no campo messageId do objeto
mail.

219
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações

Nome do campo Descrição

commonHeaders Esse objeto só está presente se você definiu


as configurações de notificação para incluir os
cabeçalhos de e-mail originais.

Inclui informações sobre cabeçalhos de e-mail


comuns do e-mail original, incluindo os campos
From (De), To (Para) e Subject (Assunto). Dentro
desse objeto, cada cabeçalho é uma chave. Os
campos From (De) e To (Para) são representados
por matrizes que podem conter vários valores.
Note

Qualquer ID de mensagem no objeto


commonHeaders é da mensagem original
que você passou ao Amazon SES. O
ID da mensagem que o Amazon SES
subsequentemente atribuiu à mensagem
está no campo messageId do objeto
mail.

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.

Nome do campo Descrição

bounceType O tipo de devolução, conforme determinado pelo


Amazon SES. Para mais informações, consulte
Tipos de devolução (p. 223).

bounceSubType O subtipo da devolução, conforme determinado


pelo Amazon SES. Para mais informações,
consulte Tipos de devolução (p. 223).

bouncedRecipients Uma lista que contém informações sobre


os destinatários da mensagem original
que foi devolvida. Para mais informações,
consulte Destinatários com mensagens
devolvidas (p. 222).

timestamp A data e a hora em que a devolução foi enviada


(no formato ISO8601). Observe que essa é a hora
em que a notificação foi enviada pelo ISP, não a
hora em que foi recebida pelo Amazon SES.

feedbackId Um ID exclusivo para a devolução.

Se o Amazon SES conseguir entrar em contato com a Message Transfer Authority (MTA), o campo a
seguir também estará presente.

Nome do campo Descrição

remoteMtaIp O endereço IP da MTA para o qual o Amazon SES


tentou entregar o e-mail.

Se uma notificação do status de entrega (DSN) tiver sido anexada à devolução, o campo a seguir também
estará presente.

221
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações

Nome do campo Descrição

reportingMTA O valor do campo Reporting-MTA a partir do


DSN. Esse é o valor da MTA que tentou executar
a operação de entrega, transmissão ou gateway
descritas no DSN.

Veja a seguir um exemplo de um objeto bounce.

{
"bounceType":"Permanent",
"bounceSubType": "General",
"bouncedRecipients":[
{
"status":"5.0.0",
"action":"failed",
"diagnosticCode":"smtp; 550 user unknown",
"emailAddress":"[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"
}

Destinatários com mensagens devolvidas

Uma notificação de devolução pode pertencer a um único destinatário ou a vários destinatários. O campo
bouncedRecipients contém uma lista de objetos – um para cada destinatário ao qual a notificação de
devolução pertence – e sempre conterá o campo a seguir.

Nome do campo Descrição

emailAddress O endereço de e-mail do destinatário. Se um DSN


estiver disponível, esse será o valor do campo
Final-Recipient do DSN.

Opcionalmente, se um DSN estiver conectado à devolução, os seguintes campos também poderão estar
presentes.

Nome do campo Descrição

action O valor do campo Action a partir do DSN. Isso


indica a ação realizada pelo MTA que gera o
relatório como resultado da sua tentativa de enviar
a mensagem a esse destinatário.

status O valor do campo Status a partir do DSN. Esse


é o código de status independente do transporte

222
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações

Nome do campo Descrição


por destinatário que indica o status de entrega da
mensagem.

diagnosticCode O código de status emitido pelo MTA de relatório.


Esse é o valor do campo Diagnostic-Code a
partir do DSN. Esse campo pode estar ausente no
DSN (e, portanto, também ausente no JSON).

Veja a seguir um exemplo de um objeto que pode estar na lista bouncedRecipients.

{
"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.

bounceType bounceSubType Descrição

Undetermined Undetermined O provedor de e-mail do destinatário enviou


uma mensagem de devolução. A mensagem de
devolução não contêm informações suficientes
para o Amazon SES determinar o motivo da
devolução. O e-mail de devolução, que foi enviado
ao endereço no cabeçalho Return-Path do e-
mail que provocou a devolução, pode conter
informações adicionais sobre o problema que fez o
e-mail ser devolvido.

Permanent General O provedor de e-mail do destinatário enviou uma


mensagem de devolução definitiva, mas não
especificou o motivo da devolução definitiva.

223
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações

bounceType bounceSubType Descrição


Important

Quando você recebe esse tipo de


notificação de devolução, deve remover
imediatamente o endereço de e-mail do
destinatário de sua lista de endereços.
O envio de mensagens para endereços
que geram devoluções definitivas pode
afetar negativamente sua reputação como
remetente. Se continuar a enviar e-mails
para endereços que geram devoluções
definitivas, provavelmente teremos de
pausar o envio de e-mails subsequentes.

Permanent NoEmail O provedor de e-mail do destinatário pretendido


enviou uma mensagem de devolução indicando
que o endereço de e-mail não existe.
Important

Quando você recebe esse tipo de


notificação de devolução, deve remover
imediatamente o endereço de e-mail do
destinatário de sua lista de endereços. O
envio de mensagens para endereços que
não existem pode afetar negativamente
sua reputação como remetente. Se
continuar a enviar e-mails para endereços
que não existem, provavelmente
teremos de pausar o envio de e-mails
subsequentes.

Permanent Suppressed O endereço de e-mail do destinatário está na lista


de supressões do Amazon SES porque tem um
histórico recente de gerar devoluções definitivas.
Para substituir a lista de supressão global, consulte
Como usar a lista de supressão do Amazon SES
por conta (p. 300).

Permanent OnAccountSuppressionList O Amazon SES suprimiu o envio para este


endereço porque ele está na lista de supressão no
nível da conta (p. 300). Isso não conta para sua
métrica de taxa de devolução.

224
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações

bounceType bounceSubType Descrição

Transient General O provedor de e-mail do destinatário enviou uma


mensagem de devolução genérica. Você pode
enviar uma mensagem para o mesmo destinatário
no futuro se o problema que gerou a mensagem de
devolução for resolvido.
Note

Se enviar um e-mail para um destinatário


que tem uma regra de resposta
automática (como uma mensagem "fora
do escritório"), você poderá receber
esse tipo de notificação. Mesmo que a
resposta tenha um tipo de notificação
Bounce, o Amazon SES não contabiliza
respostas automáticas ao calcular a taxa
de devolução para sua conta.

Transient MailboxFull O provedor de e-mail do destinatário enviou


uma mensagem de devolução porque a caixa de
entrada do destinatário está cheia. Você poderá
enviar mensagens para esse mesmo destinatário
no futuro quando a caixa postal não estiver mais
cheia.

Transient MessageTooLarge O provedor de e-mail do destinatário enviou uma


mensagem de devolução porque a mensagem que
você enviou era muito grande. Você poderá enviar
uma mensagem a esse mesmo destinatário se
diminuir o tamanho da mensagem.

Transient ContentRejected O provedor de e-mail do destinatário enviou uma


mensagem de devolução porque o conteúdo da
mensagem que você enviou não é permitido pelo
provedor. Você poderá enviar uma mensagem
para esse mesmo destinatário se alterar o
conteúdo da mensagem.

Transient AttachmentRejected O provedor de e-mail do destinatário enviou uma


mensagem de devolução porque a mensagem
continha um anexo inaceitável. Por exemplo,
alguns provedores de e-mail podem rejeitar
mensagens com anexos de determinado tipo
de arquivo ou mensagens com anexos muito
grandes. Você poderá enviar uma mensagem para
esse mesmo destinatário se remover ou alterar o
conteúdo da mensagem.

Objeto de reclamação

O objeto JSON que contém informações sobre reclamações tem os campos a seguir.

225
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações

Nome do campo Descrição

complainedRecipients Uma lista que contém informações sobre os


destinatários que podem ter sido responsáveis
pela reclamação. Para mais informações, consulte
Destinatários que reclamaram (p. 227).

timestamp A data e a hora, no formato ISO 8601, em que o


ISP enviou a notificação de reclamação. A data e a
hora nesse campo podem não ser iguais à data e à
hora em que o Amazon SES recebeu a notificação.

feedbackId Um ID exclusivo associado à reclamação.

complaintSubType O valor do campo complaintSubType pode


ser nulo ou OnAccountSuppressionList.
Se o valor for OnAccountSuppressionList,
o Amazon SES aceitou a mensagem, mas não
tentou enviá-la porque ela estava na lista de
supressão no nível da conta (p. 300).

Além disso, se um relatório de feedback estiver conectado à reclamação, os campos a seguir poderão
estar presentes.

Nome do campo Descrição

userAgent O valor do campo User-Agent do relatório de


feedback. Isso indica o nome e versão do sistema
que gerou o relatório.

complaintFeedbackType O valor do campo Feedback-Type do relatório de


feedback recebido do ISP. Aí está contido o tipo de
feedback.

arrivalDate O valor do campo Arrival-Date ou Received-


Date do relatório de feedback (no formato
ISO8601). Esse campo pode estar ausente no
relatório (e, portanto, também ausente no JSON).

Veja a seguir um exemplo de um objeto complaint.

{
"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

Destinatários que reclamaram


O campo complainedRecipients contém uma lista de destinatários que podem ter enviado a
reclamação. Você deve usar essas informações para determinar qual destinatário enviou a reclamação e,
em seguida, remover esse destinatário imediatamente de suas listas de endereços.
Important

A maioria dos ISPs remove de sua notificação de reclamação o endereço de e-mail do


destinatário que enviou a reclamação. Por esse motivo, essa lista contém informações sobre os
destinatários que podem ter enviado a reclamação, com base nos destinatários da mensagem
original e no ISP do qual recebemos a reclamação. O Amazon SES realiza uma consulta para a
mensagem original para determinar a lista de destinatários.

Os objetos JSON desta lista contêm o seguinte campo.

Nome do campo Descrição

emailAddress O endereço de e-mail do destinatário.

Veja a seguir um exemplo de um objeto de uma reclamação do destinatário.

{ "emailAddress": "[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.

Nome do campo Descrição

timestamp A hora em que o Amazon SES entregou o e-mail


ao servidor de e-mail do destinatário (em formato
ISO8601).

processingTimeMillis O tempo em milissegundos desde quando o


Amazon SES aceitou a solicitação do remetente

227
Amazon Simple Email Service Guia do desenvolvedor
Configuração de eventos e notificações

Nome do campo Descrição


até a transmissão da mensagem para o servidor de
e-mail do destinatário.

recipients Uma lista dos destinatários pretendidos do e-mail


ao qual a notificação de entrega se aplica.

smtpResponse A mensagem de resposta SMTP do ISP remoto


que aceitou o e-mail do Amazon SES. Essa
mensagem varia de acordo com o e-mail, o
servidor de e-mail de recebimento e o ISP de
recebimento.

reportingMTA O nome de host do servidor de e-mail do Amazon


SES que enviou o e-mail.

remoteMtaIp O endereço IP da MTA à qual o Amazon SES


entregou o e-mail.

Veja a seguir um exemplo de um objeto delivery.

{
"timestamp":"2014-05-28T22:41:01.184Z",
"processingTimeMillis":546,
"recipients":["[email protected]"],
"smtpResponse":"250 ok: Message 64111812 accepted",
"reportingMTA":"a8-70.smtp-out.amazonses.com",
"remoteMtaIp":"127.0.2.0"
}

Exemplos de notificação do Amazon SNS para o Amazon SES


As seções a seguir oferecem exemplos de três tipos de notificações:

• Para exemplos de notificação de devolução, consulte Exemplos de notificação de devolução do Amazon


SNS (p. 228).
• Para exemplos de notificação de reclamação, consulte Exemplos de notificação de reclamação do
Amazon SNS (p. 231).
• Para exemplos de notificação de entrega, consulte Exemplo de notificação de entrega do Amazon
SNS (p. 234).

Exemplos de notificação de devolução do Amazon SNS


Esta seção contém exemplos de notificações de devolução com e sem uma notificação de status de
entrega (DSN) fornecida pelo receptor do e-mail que enviou o feedback.

Notificação de devolução com um DSN


A seguir está um exemplo de uma notificação de devolução que contém um DSN e os cabeçalhos de e-
mail originais. 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",

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"
}
}
}

Notificação de devolução sem um DSN

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"
}
}
}

Exemplos de notificação de reclamação do Amazon SNS


Esta seção contém exemplos de notificações de reclamação com e sem um relatório de feedback
fornecido pelo receptor do e-mail que enviou o feedback.

Notificação de reclamação com um relatório de feedback


A seguir está um exemplo de uma notificação de reclamação que contém um relatório de feedback e
os cabeçalhos de e-mail originais. 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":{
"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"
}
}
}

Notificação de reclamação sem um relatório de feedback

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

Exemplo de notificação de entrega do Amazon SNS


Veja a seguir um exemplo de uma notificação de entrega que inclui os cabeçalhos de e-mail originais.
Quando as notificações de entrega 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":"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"
}
}

Uso de autorização de envio com o Amazon SES


Você pode configurar o Amazon SES para autorizar outros usuários a enviar e-mails das entidades que
você possui (domínios ou endereços de e-mail) usando as contas deles do Amazon SES. Com o recurso
autorização de envio, você pode manter controle sobre suas identidades, de modo que possa alterar ou
revogar permissões a qualquer momento. Por exemplo, se você é proprietário de uma empresa, pode usar
a autorização de envio para permitir que um terceiro (como uma empresa de marketing por e-mail) envie e-
mails de um domínio que você possui.
Note

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

Suporte herdado de notificações entre contas


As notificações de feedback para devoluções, reclamações e entregas associadas a e-mails enviados
de um remetente delegado que foi autorizado por um proprietário de identidade a enviar de uma de
suas identidades confirmadas costumavam ser configuradas usando notificações entre contas, caso em
que o remetente delegado associaria um tópico a uma identidade que ele não possui (referente a entre
contas). No entanto, as notificações entre contas foram substituídas usando conjuntos de configurações e
identidades confirmadas referentes a envios de delegado quando o remetente delegado tem autorização
do proprietário da identidade para usar uma de suas identidades confirmadas para enviar e-mails. Esse
novo método oferece flexibilidade para configurar notificações de devolução, reclamação, entrega e outras
notificações de evento por meio das seguintes construções, dependendo se você for o remetente delegado
ou o proprietário da identidade confirmada:

• Configuration sets (Conjuntos de configurações): o remetente delegado pode configurar a publicação


de eventos em seu próprio conjunto de configurações que ele pode especificar ao enviar emails
de uma identidade verificada que ele não possui, mas foi autorizado a enviar pelo proprietário da
identidade por meio de uma política de autorização. A publicação de eventos permite que notificações
de devolução, reclamação, entrega e outras notificações de eventos sejam publicadas no Amazon
CloudWatch, Amazon Kinesis Data Firehose, Amazon Pinpoint e Amazon SNS. Consulte Criar destinos
de eventos (p. 277).
• Verified identities (Identidades verificadas): além de ter o proprietário da identidade autorizando o
remetente delegado a usar uma de suas identidades verificadas para enviar emails, ele também pode,
a pedido do remetente delegado, configurar notificações de feedback sobre a identidade compartilhada
para usar tópicos do SNS de propriedade do remetente delegado. Somente o remetente delegado
receberá essas notificações porque eles são donos do tópico do SNS. Consulte a Etapa 14 para saber
como configurar um "Tópico do SNS que você não possui" (p. 243) nos procedimentos da política de
autorização.

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)

Visão geral da autorização de envio do Amazon SES


Este tópico fornece uma visão geral do processo de autorização de envio e explica como os recursos de
envio de e-mails do Amazon SES, como notificações e cotas de envio, funcionam com a autorização de
envio.

Esta seção usa os seguintes termos:

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

Processo de autorização de envio


A autorização de envio é baseada em políticas de autorização de envio. Se você desejar ativar um
remetente delegado para enviar em seu nome, crie uma política de autorização de envio e associe a
política à sua identidade usando o console ou a API do Amazon SES. Quando o remetente delegado tenta
enviar um e-mail por meio do Amazon SES em seu nome, o remetente delegado passa o ARN de sua
identidade na solicitação ou no cabeçalho do e-mail.

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:

O processo de autorização de envio consiste nas seguintes etapas:

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

Se o proprietário da identidade desabilitar as notificações de eventos de envio, o remetente


delegado deverá configurar a publicação de eventos para publicar eventos de devolução e
de reclamação em um tópico do Amazon SNS ou em um fluxo do Kinesis Data Firehose. O
remetente também deve aplicar o conjunto de configurações que contém a regra de publicação
a cada e-mail que envia. Se nem o proprietário da identidade nem o remetente delegado
configurar um método de envio de notificações para eventos de devolução e reclamação,
o Amazon SES enviará notificações de eventos por e-mail automaticamente ao endereço
no campo Return-Path (Caminho de retorno) do e-mail (ou ao endereço no campo Source
(Origem), se você não tiver especificado um endereço de Return-Path), mesmo que o
proprietário da identidade tenha desabilitado o encaminhamento de comentários de e-mail.
6. O remetente delegado tenta enviar um e-mail por meio do Amazon SES em nome do proprietário da
identidade passando o ARN da identidade do proprietário na solicitação ou no cabeçalho do e-mail.
O remetente delegado pode enviar o e-mail usando a interface SMTP do Amazon SES ou a API do
Amazon SES. Ao receber a solicitação, o Amazon SES examina as políticas que estão anexadas à
identidade, e aceita o e-mail se o remetente delegado estiver autorizado a usar o endereço "From" (De)
e o endereço "Return Path" (Caminho de retorno); do contrário, o Amazon SES retorna um erro e não
aceita a mensagem.

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.

Atribuição de recursos de envio de e-mail


É importante compreender a função do remetente delegado e do proprietário da identidade com relação
aos recursos de envio de e-mail do Amazon SES, como cota de envio diário, devoluções e reclamações,
assinaturas DKIM, encaminhamento de comentários e assim por diante. A atribuição é a seguinte:

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

Tarefas do proprietário da identidade para autorização de envio


do Amazon SES
Esta seção descreve as etapas que os proprietários de identidade devem fazer ao configurar a autorização
de envio.

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)

Verificação de uma identidade para autorização de envio do Amazon SES


A primeira etapa para configurar a autorização de envio é comprovar que você possui o endereço de e-
mail ou o domínio que o remetente delegado usará para enviar o e-mail. O procedimento de verificação é
descrito em Identidades (p. 158).

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.

Configuração de notificações de proprietário de identidade para autorização de


envio do Amazon SES
Se você autorizar um remetente delegado a enviar e-mails em seu nome, o Amazon SES contará todas
as devoluções e reclamações que esses e-mails gerarem em relação aos limites de devolução e de
reclamação do remetente delegado em vez dos seus. No entanto, se seu endereço IP acabar em listas de
bloqueio baseadas em DNS (DNSBLs) antispam de terceiros como resultado de mensagens enviadas por
um remetente delegado, a reputação de suas identidades pode ser danificada. Por esse motivo, se você
for um proprietário de identidade, deverá configurar o encaminhamento de feedback de email para todas
suas identidades, incluindo aquelas que você autorizou para envio delegado Para obter mais informações,
consulte . Recebimento de notificações do Amazon SES por e-mail (p. 211).

Os remetentes delegados podem configurar suas próprias notificações de devolução e de reclamação


para as identidades que você autorizou que eles usem. Você também pode configurar um event
publishing (p. 337) para publicar notificações de devolução e reclamação no Amazon SNS ou no Kinesis
Data Firehose.

Se nem o proprietário da identidade nem o remetente delegado configurar um método de envio de


notificações para eventos de devolução e de reclamação, ou se o remetente não aplicar o conjunto de
configurações que usa a regra de publicação de eventos, o Amazon SES enviará notificações de eventos
por e-mail automaticamente ao endereço no campo Return-Path (Caminho de retorno) do e-mail (ou
ao endereço no campo Source (Origem), se você não tiver especificado um endereço de Return-Path),
mesmo que você tenha desabilitado o encaminhamento de comentários de e-mail. Esse processo é
ilustrado na imagem a seguir.

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

Obtenção de informações do remetente delegado para autorização de envio do


Amazon SES
Sua política de autorização de envio deve especificar pelo menos um primário, que é a entidade do
remetente delegado à qual você está concedendo acesso para que ele possa enviar em nome de uma de
suas identidades verificadas. Para políticas de autorização de envio do Amazon SES, o principal pode ser
a conta da AWS do remetente delegado ou o ARN do usuário do AWS Identity and Access Management
(IAM) ou um serviço da AWS.

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.

Criação de uma política para autorização de envio do Amazon SES


Para autorizar um remetente delegado a enviar e-mails usando um endereço de e-mail ou domínio
(uma identidade) de sua propriedade, crie uma política de autorização de envio e anexe essa política à
identidade. Uma identidade do pode ter zero, uma ou várias políticas. No entanto, uma única política só
pode ser associada a uma única identidade.

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.

Este tópico descreve os dois métodos.


Note

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

Criação de uma política usando o gerador de políticas

Você pode usar o gerador de políticas para criar uma política de autorização simples usando as etapas a
seguir.

Para criar uma política usando o gerador de políticas

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. Selecione um operador no menu suspenso Operator (Operador).


b. Selecione um tipo no menu suspenso Key (Chave).
c. Em relação ao tipo de chave que você selecionou, insira o valor no campo Value (Valor). (Se você
quiser adicionar mais condições, escolha Add new condition (Adicionar nova condição) e repita
essa etapa para cada adicional.)
10. Escolha Save statement (Salvar instrução).
11. (Opcional) Expanda Create another statement (Criar outra instrução) se você quiser adicionar mais
instruções à sua política, e repita as etapas de 6 a 10.
12. Escolha Next, e, na tela Customize policy, o contêiner Edit policy details tem campos em que você
pode alterar ou personalizar o Name da política e seu próprio Policy document.
13. Escolha Next (Avançar), e na tela Review and apply (Revisar e aplicar), o contêiner Overview (Visão
geral) mostrará a identidade verificada que você está autorizando para o remetente delegado, bem
como o nome dessa política. No painel Policy document (Documento da política) estará a política real
que você acabou de escrever, junto com todas as condições que você adicionou. Revise a política
e, se ela parecer correta, escolha Apply policy (Aplicar política). (Se você precisa alterar ou corrigir
alguma coisa, escolha Previoues (Anterior) e trabalhe no contêiner Edit policy details (Editar detalhes
da política).) A política que você acabou de criar permitirá que o remetente delegado envie em seu
nome.
14.
(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).
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

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.

Criação de uma política personalizada

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.

Para criar uma política personalizada usando o editor de políticas personalizadas

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.

Fornecimento das informações de identidade para autorização de envio do


Amazon SES ao remetente delegado
Depois de criar sua política de autorização de envio e anexá-la à sua identidade, você pode fornecer ao
remetente delegado o Nome de recurso da Amazon (ARN) da identidade. O remetente delegado passará o
ARN para o Amazon SES na operação de envio de e-mail ou no cabeçalho do e-mail. Para localizar o ARN
de sua identidade, execute as etapas a seguir.

Para encontrar o ARN de uma identidade

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.

Gerenciamento de suas políticas para autorização de envio do Amazon SES


Além de criar e anexar políticas a identidades conforme explicado em Criação de uma política (p. 242),
você pode editar, remover, listar e recuperar as políticas de uma identidade, como descrito nas seguintes
seções.
Note

Para revogar permissões, você pode editar uma política ou removê-la.

Editação de uma política

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.

Para 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).

Remoção de uma política

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.

Para remover 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).
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).

Listagem e recuperação de políticas

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

Tarefas do remetente delegado para autorização de envio do


Amazon SES
Como remetente delegado, você está enviando e-mails em nome de uma identidade da qual não é o
proprietário, mas está autorizado a usar. Embora você esteja enviando em nome do proprietário da
identidade, as devoluções e as reclamações contam para as métricas de devolução e reclamação da sua
conta da AWS, e o número de mensagens que você envia conta para a sua cota de envio. Você também
é responsável por solicitar qualquer aumento de cota de envio que possa precisar para enviar e-mails do
proprietário da identidade.

Como remetente delegado, você deve concluir as seguintes tarefas:

• Fornecimento das informações para o proprietário da identidade (p. 247)


• Uso de notificações de remetente delegado (p. 248)
• Envio de e-mails para o proprietário da identidade (p. 251)

Fornecimento das informações ao proprietário da identidade para autorização de


envio do Amazon SES
Como remetente delegado, você deve fornecer ao proprietário da identidade seu ID da conta da AWS
ou o nome do recurso da Amazon (ARN) do usuário do (IAM), já que você enviará o e-mail em nome do
proprietário de identidade. O proprietário da identidade precisa das informações da sua conta para que ele
possa criar uma política que lhe conceda permissão para enviar de uma de suas identidades verificadas.

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.

Para encontrar seu ID da conta da AWS

1. Faça login no AWS Management Console em https://console.aws.amazon.com.


2. No canto superior direito do console, selecione o nome de sua conta e, em seguida, selecione My
Account (Minha conta) no menu suspenso.
3. A página Configurações da conta se abrirá e exibirá todas as informações da sua conta, incluindo o ID
da sua conta da AWS.

Para encontrar o ARN do usuário do IAM

1. Faça login no AWS Management Console e abra o console do IAM em https://


console.aws.amazon.com/iam/.
2. No painel de navegação, escolha Usuários.
3. Na lista de usuários, escolha o nome de usuário. A seção Summary (Resumo) exibe o IAM do usuário
ARN. O ARN é semelhante ao exemplo a seguir: arn:aws:iam::123456789012:user/John.

Para encontrar o ARN do tópico do SNS

1. Abra o console do Amazon SNS em https://console.aws.amazon.com/sns/v3/home.

247
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio

2. No painel de navegação, escolha Topics (Tópicos).


3. Na lista de tópicos, os ARNs do tópico SNS são exibidos na coluna ARN. O ARN é semelhante ao
seguinte exemplo: arn:aws:sns:us-east-1:444455556666:my-sns-topic.

Uso de notificações do remetente delegado para autorização de envio do Amazon


SES
Como remetente delegado de e-mails entre contas, você está enviando e-mails em nome de uma
identidade da qual não é o proprietário, mas está autorizado a usar; no entanto, devoluções e reclamações
ainda contam para as suas métricas de devolução e reclamação, e não para as do proprietário de
identidade.

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)

Suporte herdado de notificações entre contas

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:

• Configuration sets (Conjuntos de configurações): o remetente delegado pode configurar a publicação


de eventos em seu próprio conjunto de configurações que ele pode especificar ao enviar emails
de uma identidade verificada que ele não possui, mas foi autorizado a enviar pelo proprietário da
identidade por meio de uma política de autorização. A publicação de eventos permite que notificações
de devolução, reclamação, entrega e outras notificações de eventos sejam publicadas no Amazon
CloudWatch, Amazon Kinesis Data Firehose, Amazon Pinpoint e Amazon SNS. Consulte Criar destinos
de eventos (p. 277).

248
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio

• Verified identities (Identidades verificadas): além de ter o proprietário da identidade autorizando o


remetente delegado a usar uma de suas identidades verificadas para enviar emails, ele também pode,
a pedido do remetente delegado, configurar notificações de feedback sobre a identidade compartilhada
para usar tópicos do SNS de propriedade do remetente delegado. Somente o remetente delegado
receberá essas notificações porque eles são donos do tópico do SNS. Consulte a Etapa 14 para saber
como configurar um "Tópico do SNS que você não possui" (p. 243) nos procedimentos da política de
autorização.

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

Edição de uma configuração de notificação entre contas herdadas do Amazon SES

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

Visualização das notificações de identidade entre contas herdadas do Amazon SES


Recomendamos usar o console do Amazon SES para visualizar as configurações de notificação. Você
também pode usar a operação de API GetIdentityNotificationAttributes, passando o ARN da identidade
como o parâmetro Identity.
Note
As únicas identidades entre contas exibidas na lista de identidades entre contas são as
identidades para as quais você configurou as notificações usando o procedimento descrito em
Criar uma nova notificação de remetente delegado (p. 250).

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.

Remoção de uma configuração de notificação de identidade entre contas herdadas do Amazon


SES
Recomendamos usar o console do Amazon SES para remover uma configuração de notificação. Você
também pode usar a operação de API SetIdentityNotificationTopic, passando o ARN da identidade como o
parâmetro Identity e passando o valor nulo para o parâmetro SnsTopic. Para remover completamente
a configuração de notificação, você deve executar esta operação para cada tipo de notificação (devolução,
reclamação ou entrega) que foi definido.
Note
Quando você remover uma configuração de notificação, o nome do recurso da Amazon (ARN)
da identidade entre contas será removido da lista de nomes de recursos da Amazon (ARNs)
de identidade entre contas no console do Amazon SES. Isso não significa que você não
possa continuar a fazer envios para essa identidade; apenas significa que você não está mais
configurado para receber notificações de devolução, reclamação ou entrega. Se você desejar
reativar notificações, repita o procedimento de configuração de notificação descrito em Criar uma
nova notificação de remetente delegado (p. 250).

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

Criar uma nova notificação de remetente delegado


Conforme explicado anteriormente em the section called “Suporte herdado de notificações entre
contas” (p. 248), você não pode mais criar novas notificações entre contas, mas você pode
usar os novos métodos de envio delegado com conjuntos de configurações usando publicação

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:

• Publicação de eventos por meio de um conjunto de configurações.


• Notificações de feedback para tópicos do SNS que você possui

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

Envio de e-mails para o proprietário da identidade para autorização de envio do


Amazon SES
Como remetente delegado, você envia e-mails da mesma forma que outros remetentes do Amazon SES,
mas fornece o nome do recurso da Amazon (ARN) da identidade que o proprietário de identidade autorizou
você a usar. Quando você chama o Amazon SES para enviar o e-mail, o Amazon SES verifica se a
identidade especificada tem uma política que o autoriza a enviar por ele.

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

Uso da API do Amazon SES


Assim como com qualquer remetente de e-mail do Amazon SES, se você acessar o Amazon SES por
meio da API do Amazon SES (diretamente por HTTPS ou indiretamente por meio de um AWS SDK), será

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

SourceArn O ARN da identidade associado à política de autorização


de envio que permite que você envie para o endereço
de e-mail especificado no parâmetro Source de
SendRawEmail.
Note

Se você só especificar o SourceArn, o Amazon


SES definirá o endereço "From" (De) e os
endereços "Return Path" (Caminho de retorno)
para a identidade especificada em SourceArn.

FromArn O ARN da identidade associado à política de autorização


de envio que permite que você especifique um endereço
"From" específico no cabeçalho do e-mail bruto.

ReturnPathArn O ARN da identidade associado à política de autorização


de envio que permite que você use o endereço de
e-mail especificado no parâmetro ReturnPath de
SendRawEmail.

• 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

X-SES-SOURCE-ARN Corresponde a SourceArn.

X-SES-FROM-ARN Corresponde a FromArn.

X-SES-RETURN-PATH-ARN Corresponde a ReturnPathArn.

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.

O exemplo a seguir mostra um e-mail que inclui cabeçalhos X de autorização de envio:

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

Se você usar a operação SendEmail ou SendTemplatedEmail, poderá especificar a identidade


autorizada delegada ao passar os parâmetros opcionais a seguir. Você não pode usar o método de
cabeçalho X ao usar a operação SendEmail ou SendTemplatedEmail.

Parâmetro Descrição

SourceArn O ARN da identidade associado à política de autorização


de envio que permite que você envie para o endereço de
e-mail especificado no parâmetro Source de SendEmail
ou SendTemplatedEmail.

ReturnPathArn O ARN da identidade associado à política de autorização


de envio que permite que você use o endereço de e-mail
especificado no parâmetro ReturnPath de SendEmail
ou SendTemplatedEmail.

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

# Create a new SES resource and specify a region.


client = boto3.client('ses',region_name="us-east-1")

# Try to send the email.


try:
#Provide the contents of the email.
response = client.send_email(
Destination={
'ToAddresses': [
'[email protected]',
],

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'])

Uso da interface SMTP do Amazon SES

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.

Criação de uma política para autorização de envio no Amazon


SES
Para autorizar um remetente delegado a enviar e-mails usando uma identidade de endereço de e-mail ou
de domínio da qual você é propiretário, crie uma política de autorização de envio e anexe essa política à
identidade. Uma identidade pode ter zero, uma ou várias políticas; mas, uma única política só pode ser
associada a uma identidade.

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:

• Informações da política na parte superior do documento.


• Uma ou mais declarações individuais, cada uma descrevendo um conjunto de permissões.

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"
]
}
]
}

Você pode encontrar mais exemplos de política de autorização de envio em Exemplos de


políticas (p. 259).

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.

Name (Nome) Descrição Obrigatório Valores válidos

Id Identifica exclusivamente a Não Qualquer string


política.

Version Especifica a versão da linguagem Não Qualquer string. Como uma


de acesso da política. melhor prática, recomendamos

255
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio

Name (Nome) Descrição Obrigatório Valores válidos


incluir esse campo com um valor
de "2012-10-17".

Instruções específicas da política

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.

Name (Nome) Descrição Obrigatório Valores válidos

Sid Identifica Não Qualquer string.


exclusivamente a
instrução.

Effect Especifica o resultado Sim "Permitir" ou "Negar".


que você deseja que
a instrução da política
retorne no momento da
avaliação.

Resource Especifica a identidade Sim O Nome de recurso


à qual a política da Amazon (ARN) da
se aplica. Este é identidade do e-mail.
o endereço de e-
mail ou domínio
que o proprietário
da identidade está
autorizando o remetente
delegado a usar.

Principal Especifica a conta Sim Um ID de Conta da


da Conta da AWS, o AWS, o nome do
usuário do IAM ou o recurso da Amazon
serviço da AWS que (ARN) do usuário do
recebe a permissão na IAM ou o serviço da
instrução. AWS válido. Conta
da AWS IDs e ARNs
de usuário do IAM
são especificados
usando "AWS" (por
exemplo, "AWS":
["123456789012"]
ou "AWS":
["arn:aws:iam::123456789012:r
Os nomes de
serviço da AWS são
especificados usando
"Service" (por
exemplo, "Service":
["cognito-
idp.amazonaws.com"]).

Para ver exemplos


do formato de ARNs
de usuário do IAM,

256
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio

Name (Nome) Descrição Obrigatório Valores válidos


consulte a AWS
Referência geral da .

Action Especifica a ação de Sim "ses:SendEmail",


envio de e-mail à qual a "ses:SendRawEmail",
instrução se aplica. "ses:SendTemplatedEmail",
"ses:SendBulkTemplatedEmail"

É 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*".

Condition Especifica quaisquer Não Consulte as


restrições ou detalhes informações sobre
sobre a permissão. condições seguindo
esta tabela.

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:

Chave de condição Descrição

ses:Recipients Restringe os endereços do destinatário, que incluem os


endereços To:, "CC" e "BCC".

ses:FromAddress Restringe o endereço "From".

ses:FromDisplayName Restringe o conteúdo da string que é usado como


o nome de exibição "From" (às vezes chamado de
"amigável"). Por exemplo, o nome de exibição de "John
Doe <[email protected]>" é John Doe.

ses:FeedbackAddress Restringe o endereço "Return Path", que é o endereço


para o qual devoluções e reclamações podem ser

257
Amazon Simple Email Service Guia do desenvolvedor
Usar autorização de envio

Chave de condição Descrição


enviadas a você por encaminhamento de feedback por e-
mail. Para obter informações sobre reenvio de feedback
por e-mail, consulte Recebimento de notificações do
Amazon SES por e-mail (p. 211).

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

As políticas devem atender a todos os seguintes requisitos:

• Cada política deve incluir pelo menos uma instrução.


• Cada política deve incluir pelo menos um elemento principal válido.
• Cada política deve especificar um recurso, e esse recurso deve ser o ARN da identidade à qual a política
está anexada.
• Os proprietários de identidade podem associar até 20 políticas a cada identidade exclusiva.
• As políticas não podem exceder 4 kilobytes (KB) de tamanho.
• Os nomes de política não podem exceder 64 caracteres. Além disso, eles só podem incluir caracteres
alfanuméricos, traços e sublinhados.

Uso do gerador de políticas


Use as etapas em Criação de uma política usando o gerador de políticas (p. 242).

Criação de uma política personalizada


Se você desejar criar uma política personalizada e anexá-la a uma identidade, tem as seguintes opções:

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)

Especificação do remetente delegado


O principal, que é a entidade para a qual você está concedendo permissão, pode ser uma conta da Conta
da AWS, um usuário do AWS Identity and Access Management (IAM) ou um serviço da AWS.

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"
}
}
}
]
}

Restrição do endereço "From" (De)


Se você usar um domínio verificado, poderá criar uma política que permita que apenas o remetente
delegado envie de um endereço de e-mail especificado. Para restringir o endereço "From", você define
uma condição na chave chamada ses:FromAddress. A política a seguir permite que o ID da Conta da
AWS 123456789012 envie a partir da identidade exemple.com, mas apenas do endereço de e-mail
[email protected].

{
"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]"
}
}
}
]
}

Restrição da hora em que o delegado pode enviar e-mail


Você também pode configurar sua política de autorização de remetente para que um remetente delegado
só possa enviar e-mails em uma hora específica do dia ou em um determinado intervalo de datas. Por
exemplo, se pretende enviar uma campanha de e-mail durante o mês de setembro de 2021, você pode
usar a seguinte política para restringir a capacidade do delegado enviar e-mails apenas a esse mês.

{
"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"
}
}
}
]
}

Restrição da ação de envio de e-mail


Há duas ações que os remetentes podem usar para enviar um e-mail com o Amazon SES: SendEmail e
SendRawEmail, dependendo da quantidade de controle que o remetente quer ter sobre o formato do e-
mail. As políticas de autorização de envio permitem que você restrinja o remetente delegado a uma dessas
duas ações. No entanto, muitos proprietários de identidade deixam os detalhes das chamadas de envio de
e-mail a cargo do remetente delegado habilitando as duas ações em suas políticas.
Note

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

Restrição do nome de exibição do remetente do e-mail


Alguns clientes de e-mail exibem o nome "amigável" do remetente do e-mail (se o cabeçalho de e-
mail fornecer), em vez do endereço "From" real. Por exemplo, o nome de exibição de "John Doe
<[email protected]>" é John Doe. Por exemplo, você pode enviar e-mails de [email protected],
mas prefere que os destinatários vejam que o e-mail é proveniente de Marketing em vez de
[email protected]. A política a seguir permite que o ID da Conta da AWS 123456789012 envie a
partir da identidade exemplo.com, mas somente se o nome de exibição do endereço "From" (De) incluir
Marketing.

{
"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"
}
}
}
]
}

Uso de várias instruções


Sua política de autorização de envio pode incluir várias instruções. O exemplo de política a seguir contém
duas instruções. A primeira instrução autoriza duas Contas da AWS a enviar de [email protected]
desde que o endereço "From" (De) e o endereço de feedback usem o domínio exemplo.com. A segunda
instrução autoriza um usuário do IAM a enviar e-mails de [email protected] desde que o e-mail do
destinatário esteja no domínio exemplo.com.

{
"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"
}
}
}
]
}

Gerenciamento de suas políticas para autorização de envio


Siga estas etapas para exibir políticas, editar uma política ou remover uma política.

Gerenciamento de políticas no Amazon SES usando o console


O gerenciamento de políticas do Amazon SES consiste em exibir, editar ou excluir uma política anexada a
uma identidade usando o console do Amazon SES.

Para gerenciar políticas 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, 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:

a. Para exibir a política, escolhaView policy (Visualizar política).


b. Para editar a política, escolha Edit (Editar).
c. Para remover a política, escolha Delete (Excluir).

Gerenciamento de políticas no Amazon SES usando a API do Amazon SES


O gerenciamento de políticas do Amazon SES consiste em exibir, editar ou excluir uma política anexada a
uma identidade usando a API do Amazon SES.

264
Amazon Simple Email Service Guia do desenvolvedor
Enviar e-mails de teste com o simulador

Para listar e visualizar políticas usando a API do Amazon SES

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

Para editar uma política usando a API do Amazon SES

• Você pode editar uma política que está anexada a uma identidade usando a operação da API
PutIdentityPolicy.

Para excluir uma política usando a API do Amazon SES

• Você pode editar uma política que está anexada a uma identidade usando a DeleteIdentityPolicy API
operation (operação da API ExcluirPolíticaIdentidade).

Enviar e-mails de teste no Amazon SES com o


simulador
Recomendamos usar o console do Amazon SES para enviar um e-mail de teste com o Amazon SES.
Como o console requer a inserção manual das informações, você normalmente só o utiliza para enviar
e-mails de teste. Depois de começar a usar o Amazon SES, você provavelmente enviará seus e-mails
usando a interface SMTP ou a API do Amazon SES. Mas o console é útil para o monitoramento de sua
atividade de envio.

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)

Uso do simulador de caixa postal do console


Important

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

Para enviar uma mensagem de e-mail no 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, 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.

4. Na página de detalhes da identidade de e-mail selecionada, selecione Send test email.


5. Para Message details (Detalhes da mensagem), escolha a opção Email Format (Formato de e-mail).
As duas opções são as seguintes:

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

Subject: Amazon SES Raw Email Test


MIME-Version: 1.0
Content-Type: text/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.

Uso do simulador de caixa postal manualmente.


O Amazon SES inclui um simulador de caixa postal que pode ser usado para testar como sua aplicação
lida com diferentes situações de envio de e-mail. O simulador de caixa postal é útil quando, por exemplo,
você deseja testar uma aplicação de envio de e-mail criando endereços de e-mail fictícios ou quando
deseja encontrar a taxa de transferência máxima de seu sistema sem afetar sua cota de envio diária.

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.

Uso do simulador de caixa postal


Para usar o simulador de e-mail, encontre o cenário na tabela a seguir e, em seguida, envie um e-mail ao
endereço de e-mail correspondente.
Note

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.

Cenário simulado Endereço de e-mail

Entrega bem-sucedida: o provedor de e-mail do [email protected]


destinatário aceita seu e-mail. Se as notificações
de entrega foram configuradas como descrito
em Configuração de notificação de evento para
o Amazon SES (p. 210), o Amazon SES envia
a você uma notificação de entrega por meio do
Amazon Simple Notification Service (Amazon
SNS).

Devolução: o provedor de e-mail do destinatário [email protected]


rejeita seu e-mail com um código de resposta
SMTP 550 5.1.1 ("Usuário desconhecido"). O
Amazon SES gera uma notificação de devolução
e, dependendo de como você configurou sua
conta, envia essa notificação a você por e-
mail ou envia uma notificação referente a um
tópico do Amazon SNS. O endereço de e-mail
do simulador de caixa postal não é colocado
na lista de supressões do Amazon SES, o que
normalmente acontece quando ocorre uma
devolução definitiva. A resposta de devolução

267
Amazon Simple Email Service Guia do desenvolvedor
Uso do simulador de caixa postal manualmente.

Cenário simulado Endereço de e-mail


que você recebe do simulador de caixa postal é
compatível com RFC 3464. Para obter informações
sobre como receber feedback de devolução,
consulte Configuração de notificação de evento
para o Amazon SES (p. 210).

Respostas automáticas: o provedor de e-mail [email protected]


do destinatário aceita seu e-mail e o entrega na
caixa de entrada do destinatário. O provedor de e-
mail envia uma resposta automática, como uma
"fora" do escritório (OOTO), para o endereço no
cabeçalho Return-Path do e-mail ou remetente
do envelope ("MAIL FROM"), se não houve um
cabeçalho Return-Path. A resposta automática
que você recebe do simulador de caixa postal é
compatível com RFC 3834.

Reclamação: o provedor de e-mail do destinatário [email protected]


aceita seu e-mail e o entrega na caixa de entrada
do destinatário. O destinatário determina que se
trata de uma mensagem não solicitada e clica em
"Mark as Spam" (Marcar como spam) no cliente de
e-mail. O Amazon SES encaminha a notificação
de reclamação para você por e-mail ou notificando
um tópico do Amazon SNS, dependendo de
como você configurou sua conta. A resposta de
reclamação que você recebe no simulador de caixa
postal é compatível com RFC 5965. Para obter
informações sobre como receber feedback de
reclamação, consulte Configuração de notificação
de evento para o Amazon SES (p. 210).

Endereço do destinatário na lista de supressões: o [email protected]


Amazon SES gera uma devolução definitiva como
se o endereço do destinatário estivesse na lista
global de supressão.

Teste de eventos de rejeição


Toda mensagem enviada por meio do Amazon SES é varrida para detectar a presença de vírus. Se você
envia uma mensagem que contém um vírus, o Amazon SES aceita a mensagem, detecta o vírus e rejeita
a mensagem inteira. Quando o Amazon SES rejeita uma mensagem, interrompe seu processamento e não
tenta entregá-la ao servidor de e-mail do destinatário. Em seguida, gera um evento de rejeição.

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

Uso de conjuntos de configurações


no Amazon SES
Conjuntos de configurações são grupos de regras que podem ser aplicados às identidades verificadas.
Uma identidade verificada é um domínio, subdomínio ou endereço de e-mail usado para enviar emails
pelo Amazon SES. Quando você aplica um conjunto de configurações a um e-mail, todas as regras nesse
conjunto de configurações são aplicadas ao e-mail.

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)

Criação de conjuntos de configurações no Amazon


SES
Você pode usar o console do Amazon SES, a ação CreateConfigurationSet na API do Amazon
SES v2, ou o comando aws sesv2 create-configuration-set na CLI v2 do Amazon SES para criar um novo

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.

Para criar um conjunto de configurações (console)


Para criar um conjunto de configurações usando o console do Amazon SES, siga estas etapas:

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):

• Configuration set name (Nome do conjunto de configurações): o nome do seu conjunto de


configurações. O nome pode conter até 64 caracteres alfanuméricos, incluindo apenas letras,
números, hifens (-) e sublinhas (_).
• Grupo de IPs de envio: quando você envia e-mails usando esse conjunto de configurações, as
mensagens são enviadas dos endereços IP dedicados no grupo atribuído. Selecione um grupo de
IPs na lista.
Note

O default (padrão) (ses-default-dedicated-pool) contém endereços IP dedicados que não


foram atribuídos a nenhum outro grupo. Para saber mais sobre grupos de IPs, consulte
Atribuir grupos de IP (p. 280).
• Tracking options (Opções de rastreamento): marque a caixa de seleção Use a custom redirect
domain (Usar um domínio de redirecionamento personalizado) para usar um domínio de
redirecionamento personalizado para lidar com rastreamento de aberturas e cliques para esse
conjunto de configurações, em vez de usar um dos domínios do Amazon SES.
• Custom redirect domain (Domínio de redirecionamento personalizado): com um domínio de
redirecionamento personalizado, você pode inserir um subdomínio personalizado na caixa
(opcional) ou selecionar um domínio verificado na lista.
Note

Os domínios de redirecionamento personalizados podem ser especificados da seguinte


forma:
• Os domínios de redirecionamento devem ser configurados antes de escolher essa
opção. Para obter instruções sobre como selecionar um domínio personalizado para lidar
com rastreamento de aberturas e cliques, consulte Configurar domínios personalizados
para lidar com rastreamento de abertura e clique (p. 281).
• Depois, para escolher por usar um domínio de redirecionamento personalizado, você
deve indicá-lo ao criar seu conjunto de configurações ou, posteriormente, editando suas
opções de rastreamento para o conjunto de configurações.
• Advanced delivery options (Opções avançadas de entrega): escolha a seta à esquerda para
expandir a seção de opções avançadas de entrega.
• Transport Layer Security (TLS): para exigir que o Amazon SES estabeleça uma conexão segura
com o servidor de e-mail de recebimento e envie e-mails usando o protocolo TLS, selecione a
caixa de seleção Required (Obrigatório).
Note

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

• Reputation metrics (Métricas de reputação): usadas para rastrear métricas de devoluções e


reclamações no CloudWatch para e-mails enviados usando esse conjunto de configurações.
Encargos adicionais se aplicam, consulte Definição de preços do Amazon CloudWatch para obter
mais informações.
• Enabled (Habilitado): marque essa caixa de seleção para habilitar métricas de reputação para o
conjunto de configurações.
6.
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:

• Em Suppression list settings (Configurações da lista de supressão), desmarque a caixa


Override account level settings (Substituir configurações no nível de conta).
b. Do not use any suppression (Não usar nenhuma supressão): Substituir sua supressão no nível da
conta sem habilitar nenhuma supressão no nível do conjunto de configurações - isso significa que
qualquer e-mail enviado usando este conjunto de configurações não usará nenhuma supressão
no nível da conta; em outras palavras, toda a supressão é cancelada. Para fazer isso:

i. Em Suppression list settings (Configurações da lista de supressão), marque a caixa Override


account level settings (Substituir configurações no nível de conta).
ii. Em Suppression list (Lista de supressão), desmarque a caixa Enabled (Habilitada).
c. Use configuration set-level suppression (Usar a supressão no nível do conjunto de configurações):
Substitui a supressão no nível da conta por configurações de lista de supressão personalizadas
definidas neste 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. Para fazer isso:

i. Em Suppression list settings (Configurações da lista de supressão), marque a caixa Override


account level settings (Substituir configurações no nível de conta).
ii. Em Suppression list (Lista de supressão), marque Enabled (Habilitada).
iii. Em Specify the reason(s)… (Especificar o(s) motivo(s)..., selecione um dos motivos de
supressão para esse conjunto de configurações usar.
7. Opcionalmente, você pode adicionar uma ou mais etiquetas nas seção Tags (Etiquetas). Repita as
etapas a seguir para cada etiqueta que você deseja adicionar ao conjunto de configurações.

a. Selecione Add new tag (Adicionar nova etiqueta).


b. Insira a etiqueta Key (Chave).
c. Insira a etiqueta Value (Valor) (opcional).

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

Criar um conjunto de configurações (AWS CLI)


Você pode criar um conjunto de configurações usando um arquivo JSON como entrada para o comando
ses create-configuration-set na AWS CLI.

1. Criar um arquivo JSON de entrada da CLI

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.

Este exemplo usa um arquivo denominado create-configuration-set.json:

{
"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

• É necessário incluir a notação file:// no início do caminho do arquivo JSON.


• O caminho para o arquivo JSON deve seguir a convenção apropriada para o sistema
operacional de base no qual você está executando o comando. Por exemplo, o Windows
usa a barra invertida (\) para se referir ao caminho do diretório e o Linux usa a barra (/).
2. Execute o seguinte comando, usando o arquivo que você criou como entrada.

aws sesv2 create-configuration-set --cli-input-json file://create-configuration-


set.json

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

Gerenciamento de conjuntos de configurações no


Amazon SES
Depois de criar um conjunto de configurações, você pode gerenciá-lo com as opções exibir, editar e
deletar usando o console do SES, a API v2 do Amazon SES e a CLI v2 do Amazon SES. Os conjuntos de
configurações também pode ser atribuído a uma identidade verificada como seu conjunto de configurações
padrão que é aplicado toda vez que o e-mail é enviado da identidade.

Tópicos nesta seção:


• Exibir, editar e excluir o conjunto de configurações (console) (p. 274)
• Listar conjuntos de configurações (AWS CLI) (p. 275)
• Obter detalhes do conjunto de configurações (AWS CLI) (p. 276)
• Excluir um conjunto de configurações (AWS CLI) (p. 276)
• Parar o envio de e-mails a partir de um conjunto de configurações (AWS CLI) (p. 276)
• Compreensão dos conjuntos de configurações padrão (p. 276)
• Criar destinos de eventos do Amazon SES (p. 277)
• Atribuir grupos de IP no Amazon SES (p. 280)
• Configurar domínios personalizados para lidar com rastreamento de abertura e clique (p. 281)

Exibir, editar e excluir o conjunto de configurações


(console)
Acessar a página de detalhes de um conjunto de configurações existente

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:

• Guia visão geral

• 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:

• Delete (Excluir): este botão excluirá seu conjunto de configurações.


• Disable sending (Desabilitar envio): este botão interrompe o enviar e-mails a partir do seu conjunto de
configurações.

Listar conjuntos de configurações (AWS CLI)


Você pode usar o comando list-configuration-sets na caixa de diálogo AWS CLI para gerar uma lista de
todos os conjuntos de configurações associados à sua conta na região atual, da seguinte forma:

aws sesv2 list-configuration-sets


275
Amazon Simple Email Service Guia do desenvolvedor
Obter detalhes do conjunto de configurações (AWS CLI)

Obter detalhes do conjunto de configurações (AWS


CLI)
Você pode usar o comando get-configuration-set na AWS CLI para obter detalhes de um conjunto de
configurações específico, da seguinte forma:

aws sesv2 get-configuration-set --configuration-set-name name

Excluir um conjunto de configurações (AWS CLI)


Você pode usar o comando delete-configuration-set na AWS CLI para obter excluir um conjunto de
configurações específico, da seguinte forma:

aws sesv2 delete-configuration-set --configuration-set-name name

Parar o envio de e-mails a partir de um conjunto de


configurações (AWS CLI)
Você pode usar o comando put-configuration-set-sending-options na AWS CLI para obter parar de enciar
e-mails a partir de um conjunto de configurações específico, da seguinte forma:

aws sesv2 put-configuration-set-sending-options --configuration-set-name name --no-sending-


enabled

Para reiniciar o envio, execute o mesmo comando com a opção --sending-enabled, da seguinte forma:

aws sesv2 put-configuration-set-sending-options --configuration-set-name name --sending-


enabled

Compreensão dos conjuntos de configurações padrão


O conceito de atribuir um conjunto de configurações como o padrão a ser usado por uma identidade
verificada é explicado nesta seção para ajudar a entender os benefícios e o caso de uso.

Um conjunto de configurações padrão aplica automaticamente suas regras a todas as mensagens


enviadas da identidade de e-mail associada a esse conjunto de configurações. Você pode aplicar
conjuntos de configurações padrão a identidades de endereço de e-mail e domínio durante a criação da
identidade ou após o fato como uma função de edição de uma identidade existente.

Considerações de conjunto de configurações padrão

• 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).

Criar destinos de eventos do Amazon SES


Destinos do evento permitem que você publique as seguintes ações de rastreamento de e-mail enviado
em outros serviços da AWS para monitoramento:

• 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).

Criação de um destino de eventos


Depois de criar um conjunto de configurações, você tem a opção de criar destinos de eventos para ele,
o que permite a publicação de eventos acionada com base nos tipos de eventos especificados para o
destino do evento. Um conjunto de configurações pode ter vários destinos de eventos com diversos tipos
de eventos definidos.

Se você não criou nenhum conjunto de configurações, consulte the section called “Criar um conjunto de
configurações” (p. 270).

As etapas a seguir mostram como criar ou adicionar um destino de eventos a um conjunto de


configurações.

277
Amazon Simple Email Service Guia do desenvolvedor
Criar destinos de eventos

Para criar ou adicionar um destino de eventos 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. 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).

a. Selecione Event types (Tipos de evento) para publicar

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

Event types (Tipos de evento)


• Sends (Envios): a solicitação de envio foi bem-sucedida e o Amazon SES tentará entregar a
mensagem ao servidor de e-mail do destinatário.
• Rendering failures (Falhas de processamento): o e-mail não foi enviado devido a um
problema de processamento de 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)
• Rejects (Rejeições): 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.
• Deliveries (Entregas): o Amazon SES entregou com êxito o e-mail ao servidor de e-mail do
destinatário.
• Hard bounces (Devoluções definitivas): o servidor de e-mail do destinatário rejeitou
definitivamente 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.)
• Complaints (Reclamações): o e-mail foi entregue com sucesso ao servidor de e-mail do
destinatário, mas o destinatário marcou-o como spam.
• Delievery delays (Atrasos 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. (Esse tipo de evento não é
compatível com o Amazon Pinpoint.)
• Subscriptions (Assinaturas): o e-mail foi entregue com sucesso, 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é. (Esse tipo de evento não é compatível com o Amazon
Pinpoint.)
• Open and click tracking (Rastreamento de aberturas e cliques): para medir o engajamento de
assinantes, escolha uma ou ambas as caixas de seleção para rastrear aberturas e cliques.

278
Amazon Simple Email Service Guia do desenvolvedor
Criar destinos de eventos

• Opens (Aberturas): o destinatário recebeu a mensagem e abriu-a em seu cliente de e-mail.


• Clicks (Cliques): o destinatário clicou em um ou mais links no e-mail.
• Configuration set redirect domain (Domínio de redirecionamento do conjunto de
configurações): este campo aparecerá e será preenchido com o nome do domínio
de redirecionamento personalizado se você tiver atribuído um ao criar o conjunto de
configurações.
Note

Você pode atualizar o Custom redirect domain (Domínio de redirecionamento


personalizado) no conjunto de configurações para rastrear aberturas e cliques nesse
domínio. Para obter mais informações sobre como configurar domínios de aberturas
e cliques personalizados, consulte Configurar domínios personalizados para lidar com
rastreamento de abertura e clique (p. 281).
b. Escolha Próximo para continuar.
7. Especificar destino

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.

Para criar um destino de eventos usando a API do SES:

• Para criar um destino de eventos usando a API do SES, consulte


CreateConfigurationSetEventDestination.

279
Amazon Simple Email Service Guia do desenvolvedor
Atribuir grupos de IP

Editar, habilitar/desabilitar ou excluir um destino de eventos


Siga estas etapas para editar, habilitar/desabilitar ou excluir um destino de eventos usando o console do
SES:

Para editar, habilitar/desabilitar ou excluir um destino de eventos 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. 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.

Para editar, habilitar/desabilitar ou excluir um destino de eventos usando a API do SES:

1. Para habilitar/desabilitar um destino de eventos usando a API do SES, consulte


UpdateConfigurationSetEventDestination.
2. Para excluir um destino de eventos usando a API do SES, consulte
DeleteConfigurationSetEventDestination.

Atribuir grupos de IP no Amazon SES


Você pode usar grupos de IPs para criar grupos de endereços IP dedicados para enviar tipos específicos
de e-mail. Você também pode usar um grupo de endereços IP compartilhados por todos os clientes 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

Atribuição de um grupo de IPs a um conjunto de configurações


Esta seção refere-se aos procedimentos para atribuir e modificar conjuntos de IPs em um conjunto de
configurações usando o console do Amazon SES.

• Para atribuir um grupo de IPs a um conjunto de configurações usando o console...


• ao criar um novo conjunto de configurações: consulte Grupo de IPs de envio (p. 271) na etapa 4 de
Criar um conjunto de configurações (p. 270)
• ao modificar um conjunto de configurações existente: selecione o botão Edit (Editar) no painel General
details (Detalhes gerais) do conjunto de configurações selecionado e siga as instruções para Sending
IP pool (p. 271) (Grupo de IPs de envio) na etapa 4 de Criar um conjunto de configurações (p. 270)

Configurar domínios personalizados para lidar com


rastreamento de abertura e clique
Ao usar a publicação de eventos (p. 337) para capturar eventos de abertura e clique, o Amazon SES faz
pequenas alterações nos e-mails enviados. Para capturar eventos abertos, o SES adiciona uma imagem
GIF transparente, de um pixel por um, em cada e-mail enviado por meio do SES. Isso inclui um nome de
arquivo exclusivo para cada e-mail e é hospedado em um servidor operado pelo SES. Quando a imagem é
baixada, o SES pode 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 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).

Parte 1: Configurar um domínio para lidar com redirecionamentos


do link de abertura e clique
Os procedimentos específicos para configurar um domínio de redirecionamento variam de acordo com
o seu provedor de hospedagem na web (e sua rede de entrega de conteúdo, se você usar um servidor
HTTPS). Os procedimentos nas seções a seguir fornecem orientação geral em vez de etapas específicas.

Opção 1: Configurar um domínio HTTP


Para usar um domínio HTTP para lidar com links de abertura e clique (ao contrário de um domínio
HTTPS), o processo para configurar o subdomínio envolve apenas algumas etapas.
Note

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.

AWSRegião da Domínio de rastreamento da AWS

Leste dos EUA (Ohio) r.us-east-2.awstrack.me

Leste dos EUA (N. da Virgínia) r.us-east-1.awstrack.me

Oeste dos EUA (N. da Califórnia) r.us-west-1.awstrack.me

Oeste dos EUA (Oregon) r.us-west-2.awstrack.me

África (Cidade do Cabo) r.af-south-1.awstrack.me

Ásia-Pacífico (Mumbai) r.ap-south-1.awstrack.me

Asia Pacific (Osaka) r.ap-northeast-3.awstrack.me

Ásia-Pacífico (Seul) r.ap-northeast-2.awstrack.me

Ásia-Pacífico (Singapura) r.ap-southeast-1.awstrack.me

Ásia-Pacífico (Sydney) r.ap-southeast-2.awstrack.me

Ásia-Pacífico (Tóquio) r.ap-northeast-1.awstrack.me

282
Amazon Simple Email Service Guia do desenvolvedor
Configurar domínios personalizados de aberturas e cliques

AWSRegião da Domínio de rastreamento da AWS

Canadá (Central) r.ca-central-1.awstrack.me

Europa (Frankfurt) r.eu-central-1.awstrack.me

Europa (Irlanda) r.eu-west-1.awstrack.me

Europa (Londres) r.eu-west-2.awstrack.me

Europa (Milão) r.eu-south-1.awstrack.me

Europe (Stockholm) r.eu-north-1.awstrack.me

Oriente Médio (Bahrein) r.me-south-1.awstrack.me

South America (São Paulo) r.sa-east-1.awstrack.me

AWS GovCloud (US) r.us-gov-west-1.awstrack.me

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.

Opção 2: Configurar um domínio HTTPS


Você só pode usar um domínio HTTPS para rastrear cliques no link. Para configurar um domínio HTTPS
para rastrear cliques em links, é necessário executar algumas etapas adicionais, além das necessárias
para configurar um domínio HTTP (p. 282).
Note

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.

Para configurar um subdomínio HTTPS para lidar com links de clique

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.

AWSRegião da Domínio de rastreamento da AWS

Leste dos EUA (Ohio) r.us-east-2.awstrack.me

283
Amazon Simple Email Service Guia do desenvolvedor
Configurar domínios personalizados de aberturas e cliques

AWSRegião da Domínio de rastreamento da AWS

Leste dos EUA (N. da Virgínia) r.us-east-1.awstrack.me

Oeste dos EUA (N. da Califórnia) r.us-west-1.awstrack.me

Oeste dos EUA (Oregon) r.us-west-2.awstrack.me

África (Cidade do Cabo) r.af-south-1.awstrack.me

Ásia-Pacífico (Mumbai) r.ap-south-1.awstrack.me

Asia Pacific (Osaka) r.ap-northeast-3.awstrack.me

Ásia-Pacífico (Seul) r.ap-northeast-2.awstrack.me

Ásia-Pacífico (Singapura) r.ap-southeast-1.awstrack.me

Ásia-Pacífico (Sydney) r.ap-southeast-2.awstrack.me

Ásia-Pacífico (Tóquio) r.ap-northeast-1.awstrack.me

Canadá (Central) r.ca-central-1.awstrack.me

China (Ningxia) r.awstrack.ses.cn-


northwest-1.amazonaws.com.cn

Europa (Frankfurt) r.eu-central-1.awstrack.me

Europa (Irlanda) r.eu-west-1.awstrack.me

Europa (Londres) r.eu-west-2.awstrack.me

Europa (Milão) r.eu-south-1.awstrack.me

Europe (Stockholm) r.eu-north-1.awstrack.me

Oriente Médio (Bahrein) r.me-south-1.awstrack.me

South America (São Paulo) r.sa-east-1.awstrack.me

AWS GovCloud (US) r.us-gov-west-1.awstrack.me

5. Se você usa o Amazon CloudFront como sua CDN, faça os seguintes procedimentos:

a. Na página CloudFront Distributions (Distribuições do CloudFront), escolha a distribuição que


corresponde à sua CDN.
b. Na guia Behaviors, escolha o comportamento padrão e, em seguida, escolha Edit.
c. Para Cache Based on Selected Request Headers, escolha All.
d. Para Query String Forwarding and Caching, escolha Forward all, cache based on all.
e. Adicione um nome de domínio alternativo à distribuição. O subdomínio que você usa deve ser
verificado no Amazon SES. Para obter mais informações, consulte Configuração de nomes de
domínio alternativos e HTTPS no Guia do desenvolvedor do Amazon CloudFront.

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.

Parte 2: Definir um conjunto de configurações para fazer


referência a um domínio personalizado de rastreamento de
abertura e clique
Depois de configurar seu domínio para lidar com redirecionamentos de rastreamento de aberturas
e cliques, você deve especificar um domínio personalizado no conjunto de configurações.
Você pode realizar esta etapa usando o console do Amazon SES ou a operação de API
CreateConfigurationSetTrackingOptions.

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.

• Para especificar um domínio de redirecionamento personalizado usando o console...


• ao criar um novo conjunto de configurações: consulte Opções de rastreamento (p. 271) na etapa 4
de Criar um conjunto de configurações (p. 270)
• ao modificar um conjunto de configurações existente: selecione o botão Edit (Editar) no painel
General details (Detalhes gerais) do conjunto de configurações selecionado e siga as instruções
para Tracking options (p. 271) (Opções de rastreamento) na etapa 4 de Criar um conjunto de
configurações (p. 270)

Parte 3: selecionar tipos de eventos de abertura e cliques nos


destinos de eventos do conjunto de configurações
Depois de especificar o domínio personalizado no conjunto de configurações, você deve selecionar
tipos de eventos de abertura e/ou cliques em um destino de eventos adicionado ao conjunto de
configurações. Você pode realizar esta etapa usando o console do Amazon SES ou a operação de API
CreateConfigurationSetEventDestination.

• Para selecionar tipos de eventos de abertura e/ou cliques usando o console...


• ao criar um destino de eventos, consulte Rastreamento de abertura e clique (p. 278) na etapa 6 de
the section called “Criação de um destino de eventos” (p. 277).
• ao modificar um destino de eventos existente, selecione o botão Edit (Editar) no painel Event types
(Tipos de evento) do destino de eventos selecionado na etapa 6 de the section called “Editar, habilitar/
desabilitar ou excluir um destino de eventos” (p. 280)

Especificação de um conjunto de configurações ao


enviar e-mail
Para usar um conjunto de configurações ao enviar um e-mail, você deve passar o nome do conjunto de
configurações nos cabeçalhos do e-mail. Todos os métodos de envio de e-mail do Amazon SES (inclusive
o AWS CLI, os AWS SDKs e a interface SMTP do Amazon SES (p. 44)) permitem que você repasse um
conjunto de configurações nos cabeçalhos de e-mail que enviar.

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:

• Integração do Amazon SES com o Postfix (p. 61)


• Como enviar e-mails pelo Amazon SES usando um AWS SDK (p. 99)
• Uso da interface SMTP do Amazon SES para enviar e-mail (p. 44)

Visualização e exportação de métricas de


reputação
O Amazon SES exporta automaticamente informações sobre os índices gerais de devolução e
reclamações de toda a sua conta para o Amazon CloudWatch. Você pode usar essas métricas para criar
alarmes no CloudWatch ou para pausar automaticamente o envio de e-mails usando uma função do
Lambda.

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.

Habilitação da exportação de métricas de reputação


Para começar a exportar as métricas de reputação para um conjunto de configurações, use a operação da
API UpdateConfigurationSetReputationMetricsEnabled. Para acessar a API do Amazon SES,
recomendamos usar a AWS CLI ou um dos AWS SDKs.

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.

Para habilitar a exportação de métricas de reputação em um conjunto de configurações

• Na linha de comando, digite o seguinte comando:

aws ses update-configuration-set-reputation-metrics-enabled --configuration-set-


name ConfigSet --enabled

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

Desabilitação da exportação de métricas de reputação


Você pode usar a operação da API UpdateConfigurationSetReputationMetricsEnabled para
desabilitar a exportação das métricas de reputação em um conjunto de configurações.

Para desabilitar a exportação de métricas de reputação em um conjunto de configurações

• Na linha de comando, digite o seguinte comando:

aws ses update-configuration-set-reputation-metrics-enabled --configuration-set-


name ConfigSet --no-enabled

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

Endereços IP dedicados para o


Amazon SES
Quando você cria uma nova conta do Amazon SES, seus e-mails são enviados de endereços IP
compartilhados com outros usuários do Amazon SES. Por um valor mensal adicional, você pode alugar
endereços IP dedicados, que são reservados para uso exclusivo. As duas opções oferecem benefícios e
desvantagens exclusivos, que estão resumidos na tabela a seguir; clique em um item na coluna Benefit
para obter mais informações sobre esse benefício.

Benefício Endereços IP compartilhados Endereços IP dedicados

Pronto para uso sem Sim Não


configuração adicional (p. 289)

Reputação gerenciada pela Sim Não


AWS (p. 289)

Ideal para clientes com Sim Sim


padrões de envio contínuos e
previsíveis (p. 289)

Ideal para clientes com Sim Não


padrões de envio menos
previsíveis (p. 289)

Ideal para remetentes de alto Sim Sim


volume (p. 289)

Ideal para remetentes de baixo Sim Não


volume (p. 289)

Custos mensais Não Sim


adicionais (p. 290)

Controle total sobre a reputação Não Sim


do remetente (p. 290)

Isolar reputação por tipo de Não Sim


e-mail, destinatário ou outros
fatores (p. 290)

Informa endereços IP conhecidos Não Sim


que nunca mudam (p. 290)

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

Reputação gerenciada pela AWS


As reputações de endereço IP são, em grande parte, baseadas em padrões de envio e volume históricos.
Um endereço IP que envia volumes consistentes de e-mails por um longo período normalmente tem boa
reputação.

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.

Previsibilidade dos padrões de envio


Um endereço IP com histórico consistente de envio de e-mails tem melhor reputação do que outro que, de
repente, começa a enviar grandes volumes de e-mails sem histórico de envio anterior.

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.

Volume de e-mail enviados


Os endereços IP dedicados são mais adequados para clientes que enviam grandes volumes de e-mails.
A maioria dos provedores de serviços de Internet (ISPs) apenas rastreia a reputação de determinado
endereço IP quando recebe um volume significativo de mensagens desse endereço. Para cada ISP com
o qual você deseja cultivar uma reputação, envie várias centenas de e-mails em um período de 24 horas,
pelo menos uma vez por mês.

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.

Controle sobre a reputação do remetente


Quando você usa endereços IP dedicados, sua conta do Amazon SES é a única capaz de enviar e-mails
desses endereços. Por esse motivo, a reputação do remetente em relação aos endereços IP dedicados
que você aluga é determinada pelas práticas de envio de e-mail.

Capacidade de isolar a reputação do remetente


Ao usar endereços IP dedicados, você pode isolar sua reputação de remetente para diferentes
componentes do seu programa de e-mail. Se você alugar mais de um endereço IP dedicado para uso com
o Amazon SES, poderá criar grupos de IP dedicados, ou seja, grupos de endereços IP dedicados que
podem ser usados para enviar tipos específicos de e-mails. Por exemplo, você pode criar um grupo de
endereços IP dedicados para enviar e-mails de marketing, e outro para enviar e-mails transacionais. Para
saber mais, consulte Criar grupos de IPs dedicados (p. 295).

Endereços IP conhecidos e inalteráveis


Quando usa endereços IP dedicados, você pode encontrar os valores dos endereços que enviam suas
mensagens na página Dedicated IPs (IPs dedicados) do console do Amazon SES. Os endereços IP
dedicados não mudam.

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.

Solicitar e liberar endereços IP dedicados


Esta seção descreve como solicitar e desistir de endereços IP dedicados enviando uma solicitação na
Central de AWS Support. Lançamos em sua conta uma taxa mensal adicional para cada endereço IP
dedicado que você contratar para uso com o Amazon SES. Para obter mais informações sobre os custos
associados a endereços IP dedicados, consulte Definição de preço do Amazon SES.

Práticas recomendadas para trabalhar com endereços


IP dedicados
Embora não haja compromisso mínimo, recomendamos que você contrate mais de um endereço IP
dedicado em cada Região da AWS em que você usa o Amazon SES. Cada Região da AWS consiste
em vários locais físicos, denominados zonas de disponibilidade. Quando você contrata mais de um

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.

Solicitar endereços IP dedicados


As etapas a seguir mostram como solicitar endereços IP dedicados ao criar um caso de aumento de cota
de serviço no AWS Support Center. Você pode usar esse processo para solicitar tantos endereços IP
dedicados quanto precisar.

Para solicitar endereços IP dedicados

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:

• Em Region (Região), escolha a Região da AWS à qual sua solicitação se aplica.


• Em Limit (Limite), escolha Desired Dedicated IP (IP dedicado desejado).
• Em New limit value (Novo valor de limite), insira o número de endereços IP dedicados de que
precisa para implementar seu caso de uso.

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.

Desistir de endereços IP dedicados


Se você não precisar mais dos endereços IP dedicados associados à sua conta, poderá liberá-los
executando as seguintes etapas.
Important

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.

Para liberar endereços IP dedicados

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:

• Em Region (Região), escolha a Região da AWS à qual sua solicitação se aplica.


Note

Os endereços IP dedicados são exclusivos para cada Região da AWS e, portanto, é


importante escolher a região à qual o endereço IP dedicado está associado.
• Para Limit (Limite), escolha Desired Maximum Send Rate (Taxa máxima de envio desejada).
• Em New limit value (Novo valor de limite), insira qualquer número. O número aqui inserido não
é importante, pois você especifica a quantidade de IPs dedicados dos quais deseja desistir na
próxima etapa.

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.

Aquecer endereços IP dedicados


Ao determinar se você deve aceitar ou rejeitar uma mensagem, o os provedores de serviços de e-mail,
analisam a reputação do endereço IP que o enviou. Um dos fatores que contribui para a reputação de um
endereço IP é se o endereço tem um histórico de envio de e-mails de alta qualidade. Os provedores de
e-mail têm menos probabilidade de aceitar e-mails de novos endereços IP, que não têm nenhum ou só
pouco histórico. E-mails enviados de endereços IP com nenhum ou pouco histórico podem acabar nas
pastas de e-mail spam dos destinatários ou podem ser totalmente bloqueados.

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.

A quantidade de tempo necessária para aquecer um endereço IP varia segundo os provedores de e-


mail. Para alguns provedores de e-mail, você pode determinar uma reputação positiva em cerca de duas
semanas, enquanto para outros pessoas que pode levar até seis semanas. Ao aquecer um novo endereço
IP, você deve enviar e-mails para seus usuários mais ativos, para garantir que sua taxa de reclamações
seja baixa. Além disso, examine cuidadosamente as mensagens de devolução e envie menos e-mails
se você receber um grande número de notificações de limitação ou bloqueio. Para obter informações
sobre monitoramento de suas devoluções, consulte Monitoramento da atividade de envio do Amazon
SES (p. 328).

Aquecer endereços IP dedicados automaticamente


Quando você solicita endereços IP dedicados, o Amazon SES os aquece automaticamente para melhorar
a entrega de e-mails enviados. O recurso de aquecimento automático de endereço IP é ativado por
padrão.

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

O aquecimento automático de IP é um processo baseado em tempo. A porcentagem de


aquecimento aumenta constantemente ao longo de 45 dias independentemente do volume de
envio.

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.

Desabilitar o processo de aquecimento automático


Quando você adquire novos endereços IP dedicados, o Amazon SES os aquece automaticamente para
você. Se preferir aquecer endereços IP dedicados por você mesmo, desabilite o recurso de aquecimento
automático.
Important

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.

Para desativar o recurso de 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. Escolha Disable auto warm-up (Desabilitar o aquecimento automático).

Reinicie o processo de aquecimento automático


Você pode reiniciar o processo de aquecimento de IP automático para um conjunto de endereços IP que
pertencem a um grupo de IPs dedicados.

Para reiniciar o processo de 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

um número em Warm-up percentage (Percentagem de aquecimento) para especificar o volume de


envio desejado para aquecimento.
4. Escolha Save changed (Salvar alterações). O status do processo de aquecimento automático está na
coluna Warm Up Status (Status de aquecimento); quando o processo de aquecimento for concluído,
essa coluna dirá Complete.

Criar grupos de IPs dedicados


Se adquiriu vários endereços IP dedicados para usar com o Amazon SES, você pode criar grupos desses
endereços. Esses grupos são chamados grupos de IP dedicados. Um cenário comum é criar um grupo
de endereços IP dedicados para o envio de comunicações de marketing e outro para enviar e-mails
transacionais. Sua reputação de remetente para e-mails transacionais é, então, isolada daquela dos
seus e-mails de marketing. Nesse cenário, se uma campanha de marketing gerar um grande número de
reclamações, a entrega dos seus e-mails transacionais não será afetada.

Esta seção contém procedimentos para criar grupos de IP dedicados.


Note

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

Para criar um grupo de IP dedicado 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 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

Se você selecionar um endereço IP dedicado associado a um grupo diferente, o SES


substitui essa configuração e associa o endereço ao grupo que você está criando.
7. Na lista Associated configuration sets (Conjuntos de configurações associados), escolha o conjunto
de configurações que você deseja associar ao grupo de IPs. Você pode atribuir um grupo de IPs a um
ou mais conjuntos de configurações, para que os e-mails que usam esses conjuntos sejam enviados
usando apenas os endereços IP que pertencem ao grupo atribuído.
8. (Opcional) Adicione uma ou mais etiquetas ao seu grupo de IPs incluindo uma chave de etiqueta e um
valor opcional para a chave.

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

Uso de seus próprios endereços IP para enviar e-


mail usando o Amazon SES
O Amazon SES inclui um recurso chamado Bring Your Own IP (BYOIP), que torna possível usar seus
próprios endereços IP para enviar e-mails pelo Amazon SES. Se você já usa um intervalo de endereços
IP para enviar e-mail, pode solicitar a disponibilização de seu intervalo de IPs para enviar e-mails pelo
Amazon SES.

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

Uso de seus próprios endereços IP com o Amazon


SES
Para evitar que nossos sistemas sejam usados para enviar conteúdo indesejado ou malicioso,
consideramos cuidadosamente cada solicitação de BYOIP.

Se quiser usar seu próprio intervalo de IP com o Amazon SES, envie as seguintes informações para ses-
[email protected]:

• O ID da sua conta da AWS.


• A Região da AWS na qual você deseja usar o intervalo de IP, como ap-south-1.
• Uma descrição do tipo de caso de uso.
• O intervalo de IPs com o qual você deseja usar o Amazon SES.
• O nome do registro da Internet com o qual o intervalo está registrado.

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

Gerencimento de listas e assinaturas


no Amazon Simple Email Service
Você pode gerenciar suas próprias listas para correspondência e assinaturas, bem como para supressão
de emails no Amazon SES. Para ajudar a manter sua reputação de remetente, o Amazon SES oferece a
supressão no nível da conta e do conjunto de configurações que impede que você envie para destinatários
inválidos e prejudique a reputação do remetente. Como outra medida contra e-mails devolvidos e
reclamações, o Amazon SES pode adicionar automaticamente links de cancelamento de assinatura para
todos os e-mails enviados por meio do gerenciamento de assinaturas.

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.

Visão geral dos três tipos de listas de supressão

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

A supressão no nível do conjunto de configurações permite que você configure personalizações


de supressão e substituições para a lista de supressão no nível da conta por meio de conjuntos de
configurações especificamente criados para diferentes cenários de envio de e-mail. Por exemplo, se sua
lista de supressão no nível da conta estiver configurada para endereços de devolução e de reclamação a
serem adicionados, mas você tiver e-mails de determinado setor demográfico definidos em um conjunto de
configurações para os quais você só está interessado nos endereços de reclamação a serem adicionados,
é possível conseguir isso habilitando as substituições de supressão do conjunto de configurações de
forma que os endereços de e-mail só sejam adicionados à sua lista de supressão no nível da conta para
reclamações (não para devoluções e reclamações, como está definido na lista de supressão no nível da
conta) de e-mails enviados com esse conjunto de configurações. 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. Consulte 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).

Lista de supressão global do Amazon SES


O Amazon SES mantém uma lista de supressão global interna que opera e é gerenciada em segundo
plano pelo SES. Quando um cliente SES enviar um e-mail que resulte em uma devolução definitiva, o
SES adiciona o endereço de e-mail que gerou a devolução a uma lista de supressão global. A lista de
supressão global é global na medida em que se aplica a todos os clientes do SES. Em outras palavras, se
um cliente diferente tenta enviar um e-mail para um endereço que está na lista de supressão global, o SES
aceita a mensagem, mas não a envia, porque o endereço de e-mail está suprimido.

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

O formulário de solicitação de remoção de endereço de e-mail 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 substituiu.
Para saber como usar a lista de supressão no nível da conta, consulte Como usar a lista de
supressão do Amazon SES por conta (p. 300).

Considerações sobre a lista de supressão global


Principais fatores relacionados à lista de supressão global:

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

Como usar a lista de supressão do Amazon SES


por conta
A lista de supressão no nível da conta do Amazon SES 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 por conta no console do SES fornece uma
maneira fácil de gerenciar endereços em sua lista de supressão por 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 estiver na
lista de supressão no nível da conta (o que significa que você deseja enviar para o respectivo endereço), e
você fizer um envio para esse endereço, o SES ainda tentará fazer a entrega. Porém, 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 a própria lista de supressão por
conta; portanto, a lista de supressão no nível da substituir a lista de supressão global exclusivamente para
sua conta.

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

Considerações sobre a lista de supressão do Amazon


SES por conta
Você deve considerar os seguintes fatores ao usar a lista de supressão no nível da conta:

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

Como habilitar a lista de supressão do Amazon SES


por conta
É possível usar a operação PutAccountSuppressionAttributes na API v2 do Amazon SES para habilitar
e configurar a lista de supressão por conta. É 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.

Como configurar a lista de supressão no nível da conta usando a AWS CLI

• Na linha de comando, insira o seguinte comando:

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

Linux, macOS, or Unix

aws sesv2 put-account-suppression-attributes \


--suppressed-reasons BOUNCE COMPLAINT

Windows

aws sesv2 put-account-suppression-attributes `


--suppressed-reasons BOUNCE COMPLAINT

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.

Como configurar a 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 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.

Como habilitar a lista de supressão do Amazon SES


por conta para um conjunto de configurações
Também é possível configurar a supressão por conta do Amazon SES para que ela seja aplicável
exclusivamente a conjuntos de configuração (p. 270) específicos. Quando fizer isso, os endereços serão
adicionados à lista de supressão somente se você tiver especificado o conjunto de configurações quando
enviar o e-mail que gerou a devolução ou a reclamação.
Note

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

• Na linha de comando, insira o seguinte comando:

Linux, macOS, or Unix

aws sesv2 put-configuration-set-suppression-options \


--configuration-set-name configSet \
--suppressed-reasons BOUNCE COMPLAINT

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

aws sesv2 put-configuration-set-suppression-options `


--configuration-set-name configSet `
--suppressed-reasons BOUNCE COMPLAINT

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:

• Em Suppression list settings (Configurações da lista de supressão), desmarque a caixa


Override account level settings (Substituir configurações no nível de conta).
b. Do not use any suppression (Não usar nenhuma supressão): Substituir sua supressão no nível da
conta sem habilitar nenhuma supressão no nível do conjunto de configurações - isso significa que
qualquer e-mail enviado usando este conjunto de configurações não usará nenhuma supressão
no nível da conta; em outras palavras, toda a supressão é cancelada. Para fazer isso:

i. Em Suppression list settings (Configurações da lista de supressão), marque a caixa Override


account level settings (Substituir configurações no nível de conta).
ii. Em Suppression list (Lista de supressão), desmarque a caixa Enabled (Habilitada).
c. Use configuration set-level suppression (Usar a supressão no nível do conjunto de configurações):
Substitui a supressão no nível da conta por configurações de lista de supressão personalizadas
definidas neste 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. Para fazer isso:

i. Em Suppression list settings (Configurações da lista de supressão), marque a caixa Override


account level settings (Substituir configurações no nível de conta).
ii. Em Suppression list (Lista de supressão), marque Enabled (Habilitada).
iii. Em Specify the reason(s)… (Especificar o(s) motivo(s)..., selecione um dos motivos de
supressão para esse conjunto de configurações usar.

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

6. Selecione Save changes.

Como adicionar endereços de e-mail individuais à lista


de supressão do Amazon SES por conta
É possível adicionar endereços individuais à lista de supressão no nível da conta do Amazon SES usando
a operação PutSuppressedDestination na API v2 do SES. Não há limite para o número de endereços que
você pode adicionar à lista de supressão no nível da conta.
Note

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

• Na linha de comando, insira o seguinte comando:

Linux, macOS, or Unix

aws sesv2 put-suppressed-destination \


--email-address [email protected] \
--reason BOUNCE

Windows

aws sesv2 put-suppressed-destination `


--email-address [email protected] `
--reason BOUNCE

No exemplo anterior, substitua destinatá[email protected] pelo endereço de e-mail que


você deseja adicionar à lista de supressão no nível da conta e substitua BOUNCE pelo motivo pelo
qual o endereço está sendo adicionado à lista de supressão (os valores aceitáveis são BOUNCE e
COMPLAINT).

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

Adicionar endereços de e-mail em massa à lista de


supressão no nível da conta do Amazon SES
Você pode adicionar endereços em massa primeiramente carregando sua lista de contatos para um objeto
do Amazon S3 e depois usando a operação CreateImportJob (p. 306) na API v2 do Amazon SES.
Note

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.

• Carregue a lista de endereços em um objeto do Amazon S3 no formato CSV ou JSON.

Exemplo de formato CSV para adicionar endereços:

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

Exemplo de formato JSON para adicionar endereços:

{"emailAddress":"[email protected]","reason":"BOUNCE"}

{"emailAddress":"[email protected]","reason":"COMPLAINT"}

No exemplo anterior, substitua destinatá[email protected] e destinatá[email protected]


pelos endereços de e-mail que você deseja adicionar à lista de supressão no nível da conta. Os
motivos aceitáveis pelos quais você está adicionando os endereços à lista de supressão são BOUNCE e
COMPLAINT.
• Conceda permissão ao SES para ler o objeto do Amazon S3.

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

]
}

• Conceda permissão ao 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 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": "*"
}

• Use a operação CreateImportJob na API v2 do SES.

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.

aws sesv2 create-import-job --import-destination


SuppressionListDestination={SuppressionListImportAction=PUT} --import-data-source
S3Url=s3://s3bucket/s3object,DataFormat=CSV

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

A. Em Buckets, selecione o nome do bucket do S3.


B. Em Objects (Objetos), selecione o nome do arquivo e selecione Choose (Escolher). Você
será direcionado de volta para Bulk action specifications (Especificações da ação em
massa).
C. (Opcional) Se você quiser ser levado ao console do Amazon S3 para exibir detalhes
sobre o seu objeto do S3, escolha View (Exibir).
ii. Em File format (Formato do arquivo), selecione o formato do arquivo que você escolheu para
importar do bucket do Amazon S3.
iii. 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.
b. Import from file (Importar do arquivo) - se você tiver um arquivo de origem local para carregar em
um bucket do Amazon S3 novo ou existente:

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:

a. Selecione um endereço de e-mail ou marque a caixa de seleção correspondente e escolha


View report (Exibir relatório) para exibir seus detalhes. (Se for um endereço que foi adicionado
automaticamente à sua lista de supressão devido a uma devolução ou reclamação, serão
exibidas informações sobre o evento de feedback que fez com que ele fosse adicionado, incluindo
detalhes sobre a mensagem de e-mail que produziu o evento de acionamento.)
b. Marque a caixa de seleção correspondente de um ou mais endereços de e-mail que você deseja
remover da sua lista de supressão da conta e escolha Remove (Remover).

Visualizar uma lista dos endereços que estão na lista


de supressão no nível da conta do Amazon SES
Você pode visualizar uma lista de todos os endereços de e-mail que estão na lista de supressão no nível
da conta da sua conta usando a operação ListSuppressedDestinations na API v2 do SES.
Note

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

• Na linha de comando, insira o seguinte comando:

aws sesv2 list-suppressed-destinations

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:

aws sesv2 list-suppressed-destinations --next-token string

No comando anterior, substitua string pelo valor retornado do NextToken.

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

• Na linha de comando, insira o seguinte comando:

aws sesv2 list-suppressed-destinations --start-date 1604394130

No comando anterior, substitua 1604394130 pelo timestamp Unix da data de início.

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, insira o seguinte comando:

aws sesv2 list-suppressed-destinations --end-date 1611126000

No comando anterior, substitua 1611126000 pelo timestamp Unix da data final.

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.

Como pesquisar um endereço específico na lista de supressão no nível da conta

• Na linha de comando, insira o seguinte comando:

aws sesv2 list-suppressed-destinations | grep -A2 'example.com'

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:

a. Selecione um endereço de e-mail ou marque a caixa de seleção correspondente e escolha


View report (Exibir relatório) para exibir seus detalhes. (Se for um endereço que foi adicionado
automaticamente à sua lista de supressão devido a uma devolução ou reclamação, serão
exibidas informações sobre o evento de feedback que fez com que ele fosse adicionado, incluindo
detalhes sobre a mensagem de e-mail que produziu o evento de acionamento.)
b. Você pode personalizar a tabela da lista de supressão escolhendo o ícone de engrenagem - um
modal será apresentado, onde você pode personalizar o tamanho da página, a quebra de linha e
as colunas a visualizar - depois de fazer suas seleções, escolha Confirm (Confirmar). A tabela da
lista de supressão refletirá suas opções de exibição.

Remover endereços de e-mail individuais da lista de


supressão do Amazon SES no nível da conta
Se um endereço estiver na lista de supressão para a sua conta, mas você souber que ele não deveria
estar na lista, é possível removê-lo usando a operação DeleteSuppressedDestination na API v2 do SES.
Note

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

• Na linha de comando, insira o seguinte comando:

Linux, macOS, or Unix

aws sesv2 delete-suppressed-destination \


--email-address [email protected]

Windows

aws sesv2 delete-suppressed-destination `


--email-address [email protected]

No exemplo anterior, substitua destinatá[email protected] pelo endereço de e-mail que você


deseja adicionar à 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 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.

Remover endereços de e-mail em massa da lista de


supressão do Amazon SES no nível da conta
Você pode remover endereços em massa primeiramente carregando sua lista de contatos para um objeto
do Amazon S3 e depois usando a operação CreateImportJob (p. 312) na API v2 do SES.
Note

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.

• Carregue sua lista de endereços em um objeto do Amazon S3 no formato CSV ou JSON.

Exemplo de formato CSV para remoção de endereços:

[email protected]

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.

Exemplo de formato JSON para adicionar endereços:

{"emailAddress":"[email protected]"}

Nos exemplos anteriores, substitua destinatá[email protected] pelos endereços de e-mail que


você deseja remover da lista de supressão no nível da conta.
• Conceda permissão ao SES para ler o objeto do Amazon S3.

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"
}
}
}
]
}

• Conceda permissão ao 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 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": "*"
}

• Use a operação CreateImportJob na API v2 do SES.

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.

aws sesv2 create-import-job --import-destination


SuppressionListDestination={SuppressionListImportAction=DELETE} --import-data-source
S3Url="s3://s3bucket/s3object",DataFormat=CSV

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):

A. Em Buckets, selecione o nome do bucket do S3.


B. Em Objects (Objetos), selecione o nome do arquivo e selecione Choose (Escolher). Você
será direcionado de volta para Bulk action specifications (Especificações da ação em
massa).
C. (Opcional) Se você quiser ser levado ao console do Amazon S3 para exibir detalhes
sobre o seu objeto do S3, escolha View (Exibir).
ii. Em File format (Formato do arquivo), selecione o formato do arquivo que você escolheu para
importar do seu bucket do Amazon S3.
iii. 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.
b. Import from file (Importar do arquivo) - se você tiver um arquivo de origem local para carregar em
um bucket do Amazon S3 novo ou existente:

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.

Visualização de uma lista de trabalhos de importação


para a conta
Você pode visualizar uma lista de todos os endereços de e-mail que estão na lista de supressão no nível
da conta da sua conta usando a operação ListImportJobs na API v2 do Amazon SES.
Note

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.

Para exibir uma lista de todos os trabalhos de importação da conta

• Na linha de comando, insira o seguinte comando:

aws sesv2 list-import-jobs

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.

Obtenção de informações sobre um trabalho de


importação para a conta
Você pode obter informações sobre um trabalho de importação para a conta usando a operação
GetImportJob na API v2 do Amazon SES.
Note

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.

Para obter informações sobre um trabalho de importação para a conta

• Na linha de comando, insira o seguinte comando:

aws sesv2 get-import-job --job-id JobId

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.

Como desabilitar a lista de supressão do Amazon SES


por conta
Você pode usar a operação PutAccountSuppressionAttributes na API v2 do SES para desabilitar
efetivamente a lista de supressão no nível da conta removendo os valores do atributo suppressed-
reasons.
Note

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

Como desabilitar a lista de supressão no nível da conta usando a AWS CLI

• Na linha de comando, insira o seguinte comando:

aws sesv2 put-account-suppression-attributes --suppressed-reasons

Como desabilitar a 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 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.

Uso da supressão no nível do conjunto de


configurações para substituir sua lista de supressão
no nível da conta
Embora a lista de supressão no nível da conta esteja definida para toda a conta, você pode personalizá-
la separadamente para diferentes conjuntos de configurações, substituindo-a pela supressão no
nível do conjunto de configurações. Essa granularidade mais fina permite o uso de configurações de
supressão personalizadas para os diferentes grupos de envio de e-mail que você atribuiu a seus próprios
conjuntos de configurações. Por exemplo, digamos que sua lista de supressão no nível da conta esteja
configurada para endereços de devolução e reclamação a serem adicionados, mas existe determinado
setor demográfico de e-mails definido em um conjunto de configurações para o qual você só esteja
interessado nos endereços de reclamação que estão sendo adicionados. Você conseguiria isso habilitando
as substituições de supressão do conjunto de configurações de forma que os endereços de e-mail sejam
adicionados à lista de supressão no nível da conta apenas para reclamações (e não para devoluções e
reclamações, como está definido na lista de supressão no nível da conta) do e-mail enviado com este
conjunto de configurações.

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:

• No overrides (default) (Sem substituições (padrão)): o conjunto de configurações usa as configurações


da lista de supressão no nível da conta.
• Override account level settings (Substituir configurações de nível de conta): isso negará as
configurações da lista de supressão no nível da conta; os e-mails enviados com este conjunto de
configurações não usarão nenhuma configuração de supressão.
• Override account level settings with configuration set-level suppression enabled (Substituir as
configurações no nível da conta pela supressão no nível do conjunto de configurações): os e-mails
enviados com este conjunto de configurações usarão apenas as condições de supressão habilitadas
para eles (devoluções, reclamações ou devoluções e reclamações), substituindo as configurações da
lista de supressão no nível da sua conta, independentemente de quais sejam elas.

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.

Habilitação da supressão no nível do conjunto de


configurações
Para habilitar a supressão no nível do conjunto de configurações usando o novo 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 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:

• Em Suppression list settings (Configurações da lista de supressão), desmarque a caixa


Override account level settings (Substituir configurações no nível de conta).
b. Do not use any suppression (Não usar nenhuma supressão): Substituir sua supressão no nível da
conta sem habilitar nenhuma supressão no nível do conjunto de configurações - isso significa que
qualquer e-mail enviado usando este conjunto de configurações não usará nenhuma supressão
no nível da conta; em outras palavras, toda a supressão é cancelada. Para fazer isso:

i. Em Suppression list settings (Configurações da lista de supressão), marque a caixa Override


account level settings (Substituir configurações no nível de conta).
ii. Em Suppression list (Lista de supressão), desmarque a caixa Enabled (Habilitada).
c. Use configuration set-level suppression (Usar a supressão no nível do conjunto de configurações):
substitui a lista de supressão no nível da conta por configurações de supressão personalizadas
definidas neste 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. Para fazer isso:

i. Em Suppression list settings (Configurações da lista de supressão), marque a caixa Override


account level settings (Substituir configurações no nível de conta).
ii. Em Suppression list (Lista de supressão), marque Enabled (Habilitada).
iii. Em Specify the reason(s)… (Especificar o(s) motivo(s)..., selecione um dos motivos de
supressão para esse conjunto de configurações usar.
6. Selecione Save changes.

Uso do gerenciamento de listas


O Amazon SES oferece recursos de gerenciamento de listas, o que significa que os clientes podem
gerenciar suas próprias listas de correspondência, conhecidas como listas de contatos. A lista de contatos
é uma lista que permite armazenar todos os contatos que se inscreveram em um determinado tópico
ou tópicos. Um contato é um usuário final que está recebendo seus e-mails. Um tópico é um grupo de
interesse, tema ou rótulo dentro de uma lista. As listas podem ter vários tópicos.

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

Para obter informações sobre ogerenciamento de assinaturas, consulte Uso de o gerenciamento de


assinaturas (p. 325).

Visão geral de gerenciamento de listas


Você deve considerar os seguintes fatores ao usar o gerenciamento de listas:

• Você pode especificar os tópicos da lista ao criá-la.


• Apenas uma lista de contatos é permitida por Conta da AWS.
• Uma lista pode ter um máximo de 20 tópicos.
• Você pode atualizar uma lista de contatos existente, inclusive adicionar novos tópicos à lista, adicionar
ou excluir contatos de uma lista e atualizar preferências de contato para uma lista ou tópico.
• Você pode atualizar metadados do tópico, como o nome de exibição ou a descrição do tópico.
• Você pode obter uma lista dos contatos de uma lista de contatos, contatos que assinaram um tópico,
contatos que cancelaram a assinatura de um tópico e contatos que cancelaram todos os tópicos da lista.
• Você pode importar suas listas de contatos existentes para o Amazon SES usando a API
CreateImportJob.
• O Amazon SES devolve um e-mail se ele for enviado para um contato não registrado na sua lista de
contatos. Para mais informações, consulte Uso de o gerenciamento de assinaturas (p. 325).
• Cada contato pode ter atributos associados, que você pode usar para armazenar informações sobre ele.

Configuração de gerenciamento de listas


Você pode usar as seguintes operações para configurar os recursos de gerenciamento de listas. Para
obter a lista completa da lista de contatos e operações de contato, consulte a Referência da API v2 do
Amazon SES.

Criar uma lista de contatos


Você pode usar a operação CreateContactList na API v2 do Amazon SES para criar uma lista de
contatos. É 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.

Para criar uma lista de contatos usando a AWS CLI

• Na linha de comando, insira o seguinte comando:

aws sesv2 create-contact-list --cli-input-json file://CONTACT-LIST-JSON

No comando anterior, substitua CONTACT-LIST-JSON pelo caminho para o arquivo JSON de sua
solicitação CreateContactList.

Um exemplo de arquivo JSON de entrada CreateContactList para a solicitação é o seguinte:

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.

Para criar um contato usando a AWS CLI

• Na linha de comando, insira o seguinte comando:

aws sesv2 create-contact --cli-input-json file://CONTACT-JSON

No comando anterior, substitua CONTACT-JSON pelo caminho para o arquivo JSON de sua solicitação
CreateContact.

Um exemplo de arquivo JSON de entrada CreateContact para a solicitação é o seguinte:

{
"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.

TopicPreferences inclui informações sobre o status de assinatura de tópicos do contato. No


exemplo anterior, o contato optou pelo tópico “Esportes” e receberá todos os e-mails do tópico
“Esportes”.

O AttributesData é um campo JSON onde você pode colocar qualquer metadado sobre o nosso
contato. Ele deve ser um objeto JSON válido.

Importação de contatos em massa para sua lista de contatos


Você pode adicionar manualmente endereços em lote, primeiro carregando seus contatos em um objeto
do Amazon S3 e, depois, usando a operação CreateImportJob na API v2 do Amazon SES ou usando
o console do SES. Para obter mais informações, consulte Adicionar endereços de e-mail em massa à lista
de supressão no nível da conta (p. 305).

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.

• Carregue seus contatos em um objeto do Amazon S3 no formato CSV ou JSON.

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"
}
]
}

Nos exemplos anteriores, substitua [email protected] e [email protected] pelos


endereços de e-mail que você deseja adicionar à lista de contatos. Substitua os valores de
attributesData pelos valores específicos do contato. Além disso, substitua Esportes e Ciclismo
pelo topicName que se aplica ao contato. Os valores aceitáveis para topicPreferences são
OPT_IN e 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

emailAddress O endereço de e-mail do contato. Este é um


campo obrigatório.

unsubscribeAll O status de um valor booleano informando se o


contato foi excluído de todos os tópicos da lista de
contatos.

topicPreferences As preferências do contato por sua inclusão ou


exclusão em tópicos.

attributesData Os dados de atributo anexados a um contato.

• Conceda ao Amazon SES permissão para ler o objeto do Amazon S3.

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": "*"
}

• Usar a operação CreateImportJob na API v2 do Amazon SES.

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.

aws sesv2 create-import-job --import-destination


ContactListDestination={ContactListName=ExampleContactListName,ContactListImportAction=PUT}
--import-data-source S3Url="s3://s3bucket/s3object",DataFormat=CSV

323
Amazon Simple Email Service Guia do desenvolvedor
Demonstração do gerenciamento de listas com exemplos

Demonstração do gerenciamento de listas com


exemplos
A demonstração a seguir fornece exemplos de como você pode usar o gerenciamento de listas para listar
seus contatos, utilizar ListManagementOptions para especificar uma lista de contatos e um nome de
tópico em seu e-mail e como inserir links de cancelamento de assinatura.

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.

Na linha de comando, insira o seguinte comando:

aws sesv2 list-contacts --cli-input-json file://LIST-CONTACTS-JSON

No comando anterior, substitua LIST-CONTACTS-JSON pelo caminho do arquivo JSON de sua


solicitação ListContacts.

Um exemplo de arquivo JSON de entrada ListContacts para a solicitação é o seguinte:

{
"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”.

UseDefaultIfPreferenceUnavailable pode ter um valor de true ou false. Se true, a


preferência padrão do tópico será usada se o contato não tiver nenhuma preferência explícita para
um tópico. Se false, apenas os contatos com uma preferência definida explicitamente serão
considerados para filtragem.
2. Enviar e-mail com ListManagementOptions habilitado: depois de listar os contatos em sua lista
usando a operação ListContacts acima, você pode usar a operação SendEmailpara enviar e-
mails a cada um de seus contatos utilizando o cabeçalho ListManagementOptions para especificar
a lista de contatos e o nome do tópico.

Para usar ListManagementOptions com a operação SendEmail, inclua o contactListName e o


topicName aos quais o e-mail pertence (o topicName é opcional):

ListManagementOptions:
String contactListName
String topicName

324
Amazon Simple Email Service Guia do desenvolvedor
Uso de o gerenciamento de assinaturas

Se você incluir ListManagementOptions na solicitação SendEmail para o endereço de e-mail


de um destinatário que não esteja em sua lista de contatos, será criado um contato em sua lista
automaticamente.

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:

X-SES-LIST-MANAGEMENT-OPTIONS: {contactListName}; topic={topicName}

Uso de o gerenciamento de assinaturas


O Amazon SES fornece um recurso de gerenciamento de assinaturas no qual o Amazon SES habilita
automaticamente os links de cancelamento de assinatura em todos os e-mails enviados quando você
especifica contactListName e topicName em ListManagementOptions na solicitação da operação
SendEmail.

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

Visão geral do gerenciamento de assinaturas


Você deve considerar os seguintes fatores ao usar o gerenciamento de assinaturas:

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

Considerações sobre o cabeçalho de cancelamento


de assinatura
O gerenciamento de assinaturas por meio de um link de cancelamento da assinatura é habilitado quando o
e-mail contém os seguintes cabeçalhos:

List-Unsubscribe

List-Unsubscribe-Post

Quando você usa o gerenciamento de assinatura do Amazon SES, ListManagementOptions, o


Amazon SES substituirá esses cabeçalhos se eles estiverem presentes no e-mail.

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é

Adição de um link de cancelamento de assinatura no


rodapé
Você precisará usar o espaço reservado {{amazonSESUnsubscribeUrl}} em e-mails com e sem
modelo para especificar onde o Amazon SES precisa inserir o URL de cancelamento de assinatura.

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

O espaço reservado {{amazonSESUnsubscribeUrl}} só pode ser usado se


ListManagementOptions for especificado como um cabeçalho ao usar a operação SendEmail
ou se X-SES-LIST-MANAGEMENT-OPTIONS for especificado como um cabeçalho ao usar a
interface SMTP. (Isso não deve ser confundido com os cabeçalhos List-Unsubscribe ou
List-Unsubscribe-Post, que não dependem de ListManagementOptions e podem ser
usados por si mesmos.)

327
Amazon Simple Email Service Guia do desenvolvedor

Monitoramento da atividade de envio


do Amazon SES
O Amazon SES fornece métodos de monitorar sua atividade de envio usando eventos, métricas e
estatísticas. Um evento é algo que acontece relacionado à sua atividade de envio que você especificou
para ser rastreada como uma métrica. Uma métrica representa um conjunto ordenado de pontos de dados
que representam os valores de um tipo de evento monitorado que produz estatísticas. As estatísticas são
conjuntos de dados de métrica por um período especificado, indo até o presente.

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

A primeira etapa na configuração do monitoramento é identificar os tipos de eventos de e-mail


relacionados à sua atividade de envio que você deseja medir e monitorar usando SES. É possível escolher
os seguintes tipos de eventos para monitorar no SES:

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

Método de Eventos que você Como acessar os Nível de detalhe Granularity


monitoramento pode monitorar dados

Console do Integridade da Página Account Número e Em toda a conta


Amazon SES conta, e-mails dashboard porcentagem da AWS
enviados, cota (Painel da
usada, solicitações conta) (p. 331)
de envio bem- no console do
sucedidas, Amazon SES
rejeições,
devoluções e
reclamações
(histórico recente
para a reputação
atual)

Console do Saúde da conta, Página Reputation Somente para Em toda a conta


Amazon SES e-mails enviados, metrics taxas calculadas da AWS
devoluções e (Métricas de
reclamações reputação) (p. 425)
(reputação atual) no console do
Amazon SES

API do Amazon Entregas, Somente para


GetSendStatistics Em toda a conta
SES devoluções, Operação de API contagem da AWS
reclamações e
rejeições

Console Envios, entregas, Console do Somente para Em toda a conta


do Amazon aberturas, cliques, CloudWatch contagem da AWS
CloudWatch devoluções, taxa
Note
de devolução,
reclamações, taxa Algumas
de reclamação, métricas
falhas de não
processamento e aparecem
IPs colocados em no
lista de restrições. CloudWatch
até que
o evento
associado
ocorra.
Por
exemplo,
as
métricas
de
devolução
não
aparecem

329
Amazon Simple Email Service Guia do desenvolvedor

Método de Eventos que você Como acessar os Nível de detalhe Granularity


monitoramento pode monitorar dados
no
CloudWatch
até que
pelo
menos
um e-mail
enviado
seja
devolvido
ou até
que seja
gerado
um
evento de
devolução
simulado
usando o
simulador
de caixa
postal (p. 265).

Notificações de Entregas, Notificação Detalhes sobre Em toda a conta


feedback devoluções e do Amazon cada evento da AWS
reclamações SNS (entregas,
devoluções e
reclamações) ou e-
mail (devoluções
e reclamações
apenas)

Event publishing Envios, entregas, Amazon Detalhes sobre Minucioso


(Publicação do aberturas, cliques, CloudWatch ou cada evento (com base nas
evento) devoluções, Amazon Kinesis características de
reclamações, Data Firehose ou e-mail definidas
rejeições e falhas por notificação do pelo usuário)
de renderização. Amazon SNS

Publicação Abra e clique no Amazon Detalhes sobre Minucioso


de eventos rastreamento. CloudWatch ou cada evento (com base nas
utilizando domínios Amazon Kinesis características de
personalizados Data Firehose ou e-mail definidas
associados a por notificação do pelo usuário)
conjuntos de Amazon SNS
configurações.Mais
informações (p. 281)

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)

Monitoramento de suas estatísticas de envio com o


uso do console do Amazon SES
Nas páginas Account dashboard (Painel da conta) e Reputation metrics (Métricas de reputação)
do console do Amazon SES, você pode monitorar todo envio de e-mails, o uso, as estatísticas, as
configurações de SMTP, a integridade geral da conta e as métricas de reputação. As seções a seguir
descrevem as métricas e as estatísticas fornecidas em cada uma dessas páginas do console.

É 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:]

• Summary (Resumo): fornece uma visão geral da sua reputação de integridade.


• Status: a integridade geral da reputação com base nas taxas históricas de devolução e reclamação:
• Healthy: ambas as métricas estão dentro dos níveis normais.
• Under review: uma ou ambas as métricas fizeram com que sua conta fosse colocada sob análise
automaticamente.
• At risk: uma ou ambas as métricas atingiram níveis de não integridade e a capacidade da sua
conta de enviar e-mails pode estar em risco.
• Messages sent (Mensagens enviadas): mostra o volume representativo de e-mails com base em suas
práticas de envio típicas para calcular suas taxas históricas de devoluções e reclamações.
• Sent over period (Período de envio): mostra o período durante o qual seu volume representativo de e-
mails foi enviado. Para ser justo com remetentes de altos e pequenos volumes, o período de envio é
diferente para cada conta e muda conforme os padrões de envio da conta.

332
Amazon Simple Email Service Guia do desenvolvedor
Usar o console para monitorar métricas

• Conteúdo da guia no nível da conta:


• Taxa de devolução
• Status: indica a integridade da taxa de devolução usando os mesmos valores descritos para o painel
Summary (Resumo).
• Historic bounce rate (Taxa de devolução histórica): porcentagem de e-mails da conta que
ocasionaram uma devolução definitiva, calculada usando sua média histórica geral com base em
um volume representativo de suas práticas de envio típicas.
• Taxa de reclamações
• Status: indica a integridade da taxa de reclamações usando os mesmos valores descritos para o
painel Summary (Resumo).
• Historic bounce rate (Taxa de devolução histórica): porcentagem de e-mails enviados da sua conta
que ocasionaram uma denúncia de spam por parte do destinatário, calculada usando sua média
histórica geral com base em um volume que representa suas práticas de envio típicas.
• Conteúdo da guia do conjunto de configurações:
• Reputação por conjunto de configurações
• Configuration set (Conjunto de configurações): permite que você digite ou selecione um conjunto
de configurações que tenha métricas de reputação habilitadas para que você possa ver dados
de resumo, devolução e reclamação com base nos e-mails enviados usando o conjunto de
configurações selecionado. Os painéis resultantes exibidos após a seleção de um conjunto
de configurações são os mesmos descritos acima para a página Reputation metrics (Métricas
de reputação), exceto que eles são baseados apenas no e-mail enviado com o conjunto de
configurações selecionado, e não nas métricas gerais de envio no nível da conta.

Usar o console para monitorar métricas de envio e


reputação
Os procedimentos a seguir ajudarão você a começar a explorar suas métricas de envio e reputação
usando a página Account dashboard (Painel da conta), para métricas baseadas no histórico recente (até
14 dias), ou usando a página Reputation metrics (Métricas de reputação), para métricas baseadas em seu
histórico geral até o presente momento.

Para visualizar os e-mails enviados e a cota de envio usada

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

Para visualizar a contagem de envios, taxas de rejeições e reclamações

1. No painel de navegação, escolha Account dashboard (Painel da conta).


2. Na seção Sending statistics (Estatísticas de envios), use o Date range (Faixa de datas) lista suspensa
para selecionar um valor inicial para um intervalo de datas para filtrar os quatro gráficos diretamente
abaixo da seção Sending statistics (Estatísticas de envios).
3. Página Account dashboard: 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.
4. Em qualquer um dos gráficos, selecione o botão View in CloudWatch (Visualizar no CloudWatch)
para abrir a respectiva métrica no console Amazon CloudWatch, onde você pode visualizar dados
detalhados, executar métrica matemática personalizada e criar alarmes de monitoramento no
CloudWatch (p. 441).

333
Amazon Simple Email Service Guia do desenvolvedor
Monitorar com a API

Como visualizar taxas históricas gerais de devolução e reclamação

1. No painel de navegação à esquerda, escolha Reputation metrics (Métricas de reputação).


2. No painel Bounce rate (Taxa de devolução), é possível visualizar a porcentagem de e-mails enviados
de sua conta que resultaram em uma devolução definitiva. No painel Complaint rate (Taxa de
reclamação), é possível visualizar a porcentagem de e-mails enviados de sua conta que resultaram
em denúncias de spam por parte dos destinatários; ambas as métricas são calculadas usando um
volume representativo de e-mails com base em suas práticas de envio típicas.
3. Em qualquer um dos painéis, selecione o botão View in CloudWatch (Visualizar no CloudWatch)
para abrir a respectiva métrica no console do Amazon CloudWatch, onde você pode visualizar
dados detalhados, executar cálculos matemáticos de métricas personalizados e criar alarmes de
monitoramento no CloudWatch (p. 441).

Como visualizar métricas de reputação por conjuntos de configurações

1. No painel de navegação à esquerda, escolha Reputation metrics (Métricas de reputação).


2. Na página Reputation metrics (Métricas de reputação), selecione a guia Configuration set (Conjunto de
configurações).
3. No painel Reputation by configuration set (Reputação por conjunto de configurações), clique no
campo Configuration set (Conjunto de configurações), e selecione ou comece a digitar o nome de um
conjunto de configurações que tenha métricas de reputação habilitadas.
4. Depois de selecionar o conjunto de configurações, os painéis Summary (Resumo), Bounce
(Devolução) e Complaint (Reclamação) serão carregados mostrando métricas com base somente no
e-mail enviado com o conjunto de configurações selecionado.

Monitoramento de suas estatísticas de uso usando


a API do Amazon SES
A API do Amazon SES fornece a operação GetSendStatistics, que retorna informações sobre seu uso
do serviço. Recomendamos que você verifique regularmente suas estatísticas de envio, para que possa
fazer ajustes, se necessário.

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:

• O número de devoluções definitivas


• O número de reclamações
• O número de tentativas de entrega (corresponde ao número de e-mails que você enviou)
• O número de tentativas de envio rejeitadas
• Um carimbo de data e hora do período de análise

Para obter uma descrição detalhada da operação GetSendStatistics, consulte a Referência da API do
Amazon Simple Email Service.

Nesta seção, você encontrará os seguintes tópicos:

• 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

Chamar a operação da API GetSendStatistics


com a AWS CLI
A maneira mais fácil de chamar a operação da API GetSendStatistics é usar a AWS Command Line
Interface (AWS CLI).

Para chamar a operação da API GetSendStatistics usando 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:

aws ses get-send-statistics

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.

Chamar a operação GetSendStatistics de forma


programática
Você também pode chamar a operação GetSendStatistics usando os SDKs da AWS. Esta seção
inclui exemplos de código para os SDKs da AWS para Go, PHP, Python e Ruby. Escolha um dos
seguintes links para visualizar exemplos de código da linguagem:

• Exemplo de código do AWS SDK for Go (p. 335)


• Exemplo de código do AWS SDK for PHP (p. 336)
• Exemplo de código do AWS SDK for Python (Boto) (p. 337)
• Exemplo de código do AWS SDK for Ruby (p. 337)

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.

Chamar GetSendStatistics com o AWS SDK for Go


package main

import (
"fmt"

//go get github.com/aws/aws-sdk-go/...


"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/ses"
"github.com/aws/aws-sdk-go/aws/awserr"
)

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() {

// Create a new session and specify an AWS Region.


sess, err := session.NewSession(&aws.Config{
Region:aws.String(AwsRegion)},
)

// Create an SES client in the session.


svc := ses.New(sess)
input := &ses.GetSendStatisticsInput{}

result, err := svc.GetSendStatistics(input)

// Display error messages if they occur.


if err != nil {
if aerr, ok := err.(awserr.Error); ok {
switch aerr.Code() {
default:
fmt.Println(aerr.Error())
}
} else {
// Print the error, cast err to awserr.Error to get the Code and
// Message from an error.
fmt.Println(err.Error())
}
return
}

fmt.Println(result)
}

Chamar GetSendStatistics com o AWS SDK for PHP


<?php

// Replace path_to_sdk_inclusion with the path to the SDK as described in


// http://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/basic-usage.html
define('REQUIRED_FILE','path_to_sdk_inclusion');

// 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

?>

Chamar GetSendStatistics com o AWS SDK for Python


(Boto)
import boto3 #pip install boto3
import json
from botocore.exceptions import ClientError

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))

Chamar GetSendStatistics com o AWS SDK for Ruby


require 'aws-sdk' # gem install aws-sdk
require 'json'

# Replace us-west-2 with the AWS Region you're using for Amazon SES.
awsregion = "us-west-2"

# Create a new SES resource and specify a region


ses = Aws::SES::Client.new(region: awsregion)

begin

resp = ses.get_send_statistics({
})
puts JSON.pretty_generate(resp.to_h)

# If something goes wrong, display an error message.


rescue Aws::SES::Errors::ServiceError => error
puts error

end

Monitorar o envio de e-mails usando a publicação


de eventos do Amazon SES
Para habilitar o rastreamento detalhado do envio de e-mails, configure o Amazon SES para publicar
eventos de envio de e-mail no Amazon CloudWatch, no Amazon Kinesis Data Firehose ou no Amazon
Simple Notification Service com base nas características que você definir.

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

Como funciona a publicação de eventos do


Para usar a publicação de eventos, primeiro você deve configurar um ou mais conjuntos de configurações.
Um conjunto de configurações especifica onde publicar seus eventos e quais eventos publicar. Em
seguida, cada vez que você envia um e-mail, você fornece o nome do conjunto de configurações e uma ou
mais tags de mensagem, na forma de pares de nome/valor, para classificar o e-mail. Por exemplo, se você
anuncia livros, poderia dar um nome a uma tag de mensagem genre e atribuir o valor sci-fi ou western
ao enviar um e-mail para a campanha associada. Dependendo da interface de envio de e-mail que usa,
você pode fornecer a tag da mensagem como parâmetro para a chamada de API ou como um cabeçalho
de e-mail específico do Amazon SES. Para obter mais informações sobre os conjuntos de configurações,
consulte Uso de conjuntos de configurações no Amazon SES (p. 270).

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.

Etiquetas automáticas do Amazon SES

Nome da tag automática Descrição

ses:configuration-set O nome do conjunto de configurações associado


ao e-mail.

ses:caller-identity A identidade do IAM do usuário do Amazon SES


que enviou o e-mail.

ses:from-domain O domínio do endereço "From".

ses:source-ip O endereço IP que o chamador usou para enviar o


e-mail.

ses:outgoing-ip O endereço IP que o Amazon SES usou para


enviar o e-mail.

Como usar a publicação de eventos


As seções a seguir contêm as informações necessárias para configurar e usar a publicação de eventos do
Amazon SES.

• Configurar a publicação de eventos (p. 340)


• Trabalhar com dados de eventos (p. 350)
• Tutoriais (p. 397)

Terminologia de publicação de eventos


A lista a seguir define os termos relacionados à publicação de eventos do Amazon SES.

Evento de envio de e-mails

Informações associadas ao resultado de um e-mail enviado ao Amazon SES. Os eventos de envio


incluem o seguinte:

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

Configuração de publicação de eventos do Amazon


SES
Esta seção descreve o que você precisa fazer para configurar o Amazon SES para publicar eventos de
envio de e-mail nos seguintes serviços da AWS:

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

Tópicos nesta seção


• Etapa 1: Criar um conjunto de configurações (p. 340)
• Etapa 2: Adicionar um destino de evento (p. 340)
• Etapa 3: Especificar o conjunto de configurações no envio de e-mail (p. 348)

Etapa 1: Criar um conjunto de configurações


Você deve primeiro ter um conjunto de configurações para configurar a publicação de eventos. Se você
ainda não tiver um conjunto de configurações, ou desejar criar um novo, consulte Criação de conjuntos de
configurações no Amazon SES (p. 270)

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

Etapa 2: Adicionar um destino de evento


Destinos de eventos são locais nos quais são publicados os eventos do Amazon SES. Cada destino de
evento que você configura pertence a um, e apenas um, conjunto de configurações. Quando configura
um destino de eventos com o Amazon SES, você escolhe o destino do serviço da AWS e especifica os
parâmetros associados a esse destino.

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.

Esta seção contém os seguintes tópicos


• Configurar um destino de eventos do CloudWatch para publicação de eventos (p. 341)
• Configurar um destino de eventos do Kinesis Data Firehose para publicação de eventos do Amazon
SES (p. 343)
• Configurar um destino de eventos do Amazon Pinpoint para publicação de eventos (p. 345)
• Configure um destino de eventos do Amazon SNS para publicação de eventos (p. 346)

Configurar um destino de eventos do CloudWatch para publicação de eventos


Com as métricas do Amazon CloudWatch, você pode usar os destinos de eventos para publicar eventos
de envio de e-mail do Amazon SES no CloudWatch. Como um destino de eventos do CloudWatch
existe apenas dentro de um conjunto de configurações, primeiro é necessário criar um conjunto de
configurações (p. 340) e, em seguida, adicionar o destino de evento ao conjunto de configurações.

Quando você adiciona um destino de eventos do CloudWatch a um conjunto de configurações, deve


escolher uma ou mais dimensões do CloudWatch que correspondam às tags de mensagens que você
usa ao enviar seus e-mails. Assim como as tags de mensagens, uma dimensão do CloudWatch é um par
nome/valor que ajuda a identificar com exclusividade uma métrica.

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.

Tópicos nesta seção


• Adicionar um destino de evento do CloudWatch (p. 341)
• Escolha das dimensões do CloudWatch (p. 342)

Adicionar um destino de evento do CloudWatch


O procedimento nesta seção mostra como adicionar detalhes do destino de eventos do CloudWatch 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).

Você também pode usar a operação UpdateConfigurationSetEventDestination na API V2 do Amazon SES


para criar e modificar destinos de eventos.

Para adicionar detalhes do destino de eventos do CloudWatch a um conjunto de configurações


usando o console

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

e habilitar a Event publishing (Publicação de eventos), o painel Amazon CloudWatch dimensions


(Dimensões do Amazon CloudWatch) será exibido. Seus campos serão abordados nas etapas a
seguir.
2. Para Value Source (Origem do valor), especifique como o Amazon SES obterá os dados que ele
passa para o CloudWatch. As origens de valores a seguir estão disponíveis:

• 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

Os nomes de dimensão só podem conter letras ASCII (a - z, A - Z), números (0 - 9),


sublinhados (_) ou traços (-). Espaços, caracteres acentuados, caracteres não latinos e
outros caracteres especiais não são permitidos.
4. Em Default Value (Valor padrão), digite o valor da dimensão.
Note

Os valores de dimensão só podem conter letras ASCII (a - z, A - Z), números (0 - 9),


sublinhados (_), traços (-), sinais de arroba (@) e pontos (.). Espaços, caracteres acentuados,
caracteres não latinos e outros caracteres especiais não são permitidos.
5. Para adicionar mais dimensões, selecione Add Dimension (Adicionar dimensão). Caso contrário,
escolha Next.
6. Na tela de revisão, se você estiver satisfeito com a forma como definiu o destino de eventos, escolha
Add destination (Adicionar destino).

Escolha das dimensões do CloudWatch

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.

Configurar um destino de eventos do Kinesis Data Firehose para publicação de


eventos do Amazon SES
Um destino de eventos do Amazon Kinesis Data Firehose representa uma entidade que publica eventos
específicos de envio de e-mails do Amazon SES no Kinesis Data Firehose. Como um destino de eventos
do Kinesis Data Firehose existe apenas dentro de um conjunto de configurações, primeiro é necessário
criar um conjunto de configurações (p. 340). Depois, adicione o destino do evento ao conjunto de
configurações.

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

Você também pode usar a operação UpdateConfigurationSetEventDestination no destino da API V2 do


Amazon SES para criar e atualizar destinos de eventos.

Para adicionar detelhes do destino de eventos do Kinesis Data Firehose a um conjunto de


configurações usando o console

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

Para obter informações sobre como usar a API UpdateConfigurationSetEventDestination para


adicionar um destino de eventos do Kinesis Data Firehose, consulte a Referência da API do Amazon
Simple Email Service.

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

Faça as seguintes alterações no exemplo de política anterior:

• 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

A seguinte política de confiança permite que o Amazon SES assuma a função.

{
"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"
}
}
}
]
}

Faça as seguintes alterações no exemplo de política anterior:

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

Configurar um destino de eventos do Amazon Pinpoint para publicação de


eventos
Um destino de evento notifica você sobre eventos específicos de envio de e-mail usando o Amazon
Pinpoint. Como um destino de eventos do Amazon Pinpoint existe apenas em um conjunto de
configurações, primeiro é necessário criar um conjunto de configurações (p. 340) e adicionar o destino de
eventos a esse conjunto.

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

Você também pode usar a operação UpdateConfigurationSetEventDestination na API V2 do Amazon SES


para criar e modificar destinos de eventos.

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

Para adicionar detalhes do destino de eventos do Amazon Pinpoint a um conjunto de


configurações usando o console

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

O Amazon Pinpoint não aceita atrasos de entrega nem tipos de assinatura.

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.

Configure um destino de eventos do Amazon SNS para publicação de eventos


Um destino de evento notifica você sobre eventos específicos de envio de e-mail usando o Amazon SNS.
Como um destino de eventos do Amazon SNS existe apenas em um conjunto de configurações, primeiro é
necessário criar um conjunto de configurações (p. 340) e adicionar o destino de eventos a esse conjunto.

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

Você também pode usar a operação UpdateConfigurationSetEventDestination na API V2 do Amazon SES


para criar e modificar destinos de eventos.
Note

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.

Para adicionar detalhes do destino de eventos do Amazon SNS a um conjunto de configurações


usando o console

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"
}
}
}
]
}

Faça as seguintes alterações no exemplo de política anterior:

• 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

d. Selecione Save changes.

Etapa 3: Especificar o conjunto de configurações no envio de e-


mail
Depois de criar um conjunto de configurações (p. 340) e adicionar um destino de evento (p. 340), a
última etapa na publicação de evento será enviar seus e-mails.

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.

Interface de envio de e-mails Formas de publicar eventos

SendEmail Parâmetros de API

SendRawEmail Parâmetros de API, cabeçalhos de e-mail


específicos do Amazon SES ou cabeçalhos MIME
personalizados
Important

Se você especifica etiquetas de


mensagens usando os cabeçalhos e
os parâmetros de API, o Amazon SES
usa apenas as etiquetas de mensagens
fornecidas pelos parâmetros de API.
O Amazon SES não une etiquetas de
mensagens especificadas por parâmetros
de API e cabeçalhos.

Interface SMTP Cabeçalhos de e-mail específicos do Amazon SES

As seções a seguir descrevem como especificar o conjunto de configurações e as tags de mensagens


usando cabeçalhos e parâmetros de API.

• Uso de parâmetros de API do Amazon SES (p. 348)


• Uso de cabeçalhos de e-mail específicos do Amazon SES (p. 349)
• Uso de cabeçalhos de e-mail personalizados (p. 349)

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 (_).

Uso de parâmetros de API do Amazon SES


Para usar SendEmail (EnviarE-mail) ou SendRawEmail (EnviarE-mailBruto) com a publicação de eventos,
especifique o conjunto de configurações e as etiquetas de mensagem, transmitindo estruturas de dados

348
Amazon Simple Email Service Guia do desenvolvedor
Configurar a publicação de eventos

denominadas ConfigurationSet (ConjuntoConfigurações) e MessageTag (EtiquetaMensagem) para a


chamada de API.

Para obter informações sobre o uso da API do Amazon SES, consulte a Referência da API do Amazon
Simple Email Service.

Uso de cabeçalhos de e-mail específicos do Amazon SES


Quando você usa a interface SendRawEmail ou SMTP, pode especificar o conjunto de configurações e as
etiquetas de mensagem, adicionando cabeçalhos específicos do Amazon SES ao e-mail. O Amazon SES
remove os cabeçalhos antes de enviar o e-mail. A tabela a seguir mostra os nomes dos cabeçalhos para
usar.

Informações de publicação de eventos Cabeçalho

Conjunto de configurações X-SES-CONFIGURATION-SET

Tags de mensagens X-SES-MESSAGE-TAGS

O exemplo a seguir mostra como os cabeçalhos podem aparecer em um e-mail bruto que você envia para
o Amazon SES.

X-SES-MESSAGE-TAGS: tagName1=tagValue1, tagName2=tagValue2


X-SES-CONFIGURATION-SET: myConfigurationSet
From: [email protected]
To: [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--

Uso de cabeçalhos de e-mail personalizados


Embora seja necessário especificar o nome do conjunto de configurações usando o cabeçalho X-SES-
CONFIGURATION-SET específico do Amazon SES, você pode especificar etiquetas de mensagem usando
seus próprios cabeçalhos MIME.
Note

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

Trabalho com dados de eventos do Amazon SES


Depois de configurar a publicação de eventos (p. 340) e especificar um conjunto de configurações
para envio de e-mails, você poderá recuperar os eventos de envio de e-mail do destino do evento que
especificou ao definir o conjunto de configurações associado ao e-mail.

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.

• Recuperação de dados de eventos do Amazon SES a partir do CloudWatch (p. 350)


• Recuperação de dados de eventos do Amazon SES do Kinesis Data Firehose (p. 351)
• Interpretação de dados de evento do Amazon SES pelo Amazon SNS (p. 374)

Recuperação de dados de eventos do Amazon SES a partir do


CloudWatch
O Amazon SES pode publicar métricas para seus eventos de envio de e-mail no Amazon CloudWatch.
Quando você publica dados de eventos no CloudWatch, ele fornece essas métricas como um conjunto
ordenado de dados de séries temporais. Você pode usar essas métricas para monitorar a performance
do envio de e-mails. Por exemplo, você pode monitorar a métrica de reclamação e definir um alarme do
CloudWatch para ser acionado quando a métrica exceder determinado valor.

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.

Esta seção descreve as métricas disponíveis e como visualizá-las no CloudWatch.

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

Visualização de métricas do Amazon SES no console do CloudWatch


O procedimento a seguir descreve como visualizar suas métricas de publicação de eventos do Amazon
SES usando o console do CloudWatch.

Como visualizar métricas usando o console do CloudWatch

1. Faça login no AWS Management Console e abra o console do CloudWatch em https://


console.aws.amazon.com/cloudwatch/.
2. Se necessário, altere a região. Na barra de navegação, selecione a região em que os seus recursos
da AWS residem. Para obter mais informações, consulte Regiões e endpoints.
3. No painel de navegação, selecione Métricas.
4. No painel All metrics (Todas as métricas), expanda o namespace da AWS e escolha SES.
5. Para visualizar as métricas de toda a sua conta da Conta da AWS, que o Amazon SES publica
automaticamente, escolha Account Sending Metrics (Métricas de envio da conta). Para ver as métricas
de publicação de eventos (p. 337) refinadas, escolha a combinação de dimensões que você
especificou quando configurou seu destino de eventos do CloudWatch (p. 341).
6. Escolha a métrica que você deseja visualizar.

O gráfico exibirá a métrica ao longo do tempo.

Para visualizar métricas usando o AWS CLI

• Em um prompt de comando, use o seguinte comando:

aws cloudwatch list-metrics --namespace "AWS/SES"

Recuperação de dados de eventos do Amazon SES do Kinesis


Data Firehose
O Amazon SES publica eventos de envio de e-mail no Kinesis Data Firehose como registros JSON. Em
seguida, o Kinesis Data Firehose publica os registros no destino do serviço da AWS que você escolheu ao
configurar o fluxo de entrega no Kinesis Data Firehose. Para obter informações sobre a configuração de

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

Tópicos nesta seção:


• Conteúdo dos dados de eventos publicados pelo Amazon SES no Kinesis Data Firehose (p. 352)
• Exemplos de dados de eventos que o Amazon SES publica no Kinesis Data Firehose (p. 362)

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

Tópicos nesta seção


• Objeto JSON de nível superior (p. 352)
• Objeto de e-mail (p. 353)
• Objeto de devolução (p. 355)
• Objeto de reclamação (p. 357)
• Objeto de entrega (p. 359)
• Objeto de envio (p. 359)
• Objeto de rejeição (p. 359)
• Objeto de abertura (p. 359)
• Objeto de clique (p. 360)
• Objeto de falha de renderização (p. 360)
• Objeto DeliveryDelay (p. 360)
• Objeto Assinatura (p. 362)

Objeto JSON de nível superior

O objeto JSON de nível superior em um registro de evento de envio de e-mail contém os campos a seguir.

Nome do campo Descrição

eventType Uma string que descreve o tipo de evento. Valores


possíveis: Bounce, Complaint, Delivery, Send,
Reject, Open, Click, Rendering Failure,
DeliveryDelay ou Subscription.

Se você não configurou a publicação de


eventos (p. 340), este campo é chamado de
notificationType.

mail Um objeto JSON que contém informações sobre o


e-mail que produziu o evento.

352
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

Nome do campo Descrição

bounce Esse campo estará presente apenas se


eventType for Bounce. Ele contém informações
sobre a devolução.

complaint Esse campo estará presente apenas se


eventType for Complaint. Ele contém
informações sobre a reclamação.

delivery Esse campo estará presente apenas se


eventType for Delivery. Ele contém
informações sobre a entrega.

send Esse campo estará presente apenas se


eventType for Send.

reject Esse campo estará presente apenas se


eventType for Reject. Ele contém informações
sobre a rejeição.

open Esse campo estará presente apenas se


eventType for Open. Ele contém informações
sobre o evento aberto.

click Esse campo estará presente apenas se


eventType for Click. Ele contém informações
sobre o evento de clique.

failure Esse campo estará presente apenas se


eventType for Rendering Failure. Ele
contém informações sobre o evento de Falha de
renderização.

deliveryDelay Esse campo estará presente apenas se


eventType for DeliveryDelay. Ele contém
informações sobre o atraso na entrega de um e-
mail.

subscription Esse campo estará presente apenas se


eventType for Subscription. Ele contém
informações sobre as preferências da assinatura.

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.

Nome do campo Descrição

timestamp A data e a hora, no formato ISO8601 (AAAA-


MM-DDThh:mm:ss.sZ), em que a mensagem foi
enviada.

messageId Um ID exclusivo que o Amazon SES atribuiu à


mensagem. O Amazon SES retornou esse valor
quando você enviou a mensagem.

353
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

Nome do campo Descrição


Note

Esse ID de mensagem foi atribuído pelo


Amazon SES. Você pode encontrar o
ID da mensagem do e-mail original nos
campos headers e commonHeaders do
objeto mail.

source O endereço de e-mail do qual a mensagem foi


enviada (o endereço MAIL FROM no envelope).

sourceArn O nome de recurso da Amazon (ARN) da


identidade que foi usada para enviar o e-mail.
No caso de autorização de envio, o sourceArn
é o ARN da identidade que o proprietário de
identidade autorizou o remetente delegado a usar
para enviar o e-mail. Para obter mais informações
sobre a autorização de envio, consulte Métodos de
autenticação de e-mail (p. 235).

sendingAccountId O ID da conta da AWS da conta que foi usada para


enviar o e-mail. No caso de autorização de envio,
sendingAccountId é o ID da conta do remetente
delegado.

destination Uma lista de endereços de e-mail que foram


destinatários da mensagem original.

headersTruncated Uma string que especifica se os cabeçalhos foram


truncados na notificação, o que ocorre se os
cabeçalhos tiverem mais de 10 KB. Os possíveis
valores são true e false.

headers Uma lista com os cabeçalhos originais do e-mail.


Cada cabeçalho tem um campo name e um campo
value.
Note

Qualquer ID de mensagem no campo


headers é da mensagem original que
você passou ao Amazon SES. O ID
da mensagem que o Amazon SES
subsequentemente atribuiu à mensagem
está no campo messageId do objeto
mail.

354
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

Nome do campo Descrição

commonHeaders Uma lista com os cabeçalhos de e-mail originais


e comumente utilizados. Cada cabeçalho tem um
campo name e um campo value.
Note

Qualquer ID de mensagem no campo


commonHeaders é da mensagem original
que você passou ao Amazon SES. O
ID da mensagem que o Amazon SES
subsequentemente atribuiu à mensagem
está no campo messageId do objeto
mail.

tags Uma lista de tags associadas ao e-mail.

Objeto de devolução

O objeto JSON que contém informações sobre um evento Bounce tem sempre os seguintes campos.

Nome do campo Descrição

bounceType O tipo de devolução, conforme determinado pelo


Amazon SES.

bounceSubType O subtipo da devolução, conforme determinado


pelo Amazon SES.

bouncedRecipients Uma lista que contém informações sobre os


destinatários da mensagem original que foi
devolvida.

timestamp A data e a hora, no formato ISO8601 (AAAA-


MM-DDThh:mm:ss.sZ), em que a notificação de
devolução foi enviada pelo ISP.

feedbackId Um ID exclusivo para a devolução.

reportingMTA O valor do campo Reporting-MTA a partir


do DSN. Esse é o valor da Message Transfer
Authority (MTA) que tentou executar a operação
de entrega, transmissão ou gateway descritas no
DSN.
Note

Esse campo só será exibido se uma


notificação do status de entrega (DSN)
tiver sido conectada à devolução.

Destinatários com mensagens devolvidas

Um evento 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 objeto por destinatário a quem o evento de
devolução pertence — e sempre conterá o seguinte campo.

355
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

Nome do campo Descrição

emailAddress O endereço de e-mail do destinatário. Se um DSN


estiver disponível, esse será o valor do campo
Final-Recipient do DSN.

Opcionalmente, se um DSN estiver conectado à devolução, os seguintes campos também poderão estar
presentes.

Nome do campo Descrição

action O valor do campo Action a partir do DSN. Isso


indica a ação realizada pelo MTA que gera o
relatório como resultado da sua tentativa de enviar
a mensagem a esse destinatário.

status O valor do campo Status a partir do DSN. Esse


é o código de status independente do transporte
por destinatário que indica o status de entrega da
mensagem.

diagnosticCode O código de status emitido pelo MTA de relatório.


Esse é o valor do campo Diagnostic-Code a
partir do DSN. Esse campo pode estar ausente no
DSN (e, portanto, também ausente no JSON).

Tipos de devolução

Cada evento de devolução será de um dos tipos mostrados na tabela a seguir.

O sistema de publicação de eventos só publica devoluções definitivas e devoluções flexíveis que o


Amazon SES não tentará mais 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.

bounceType bounceSubType Descrição

Undetermined Undetermined O Amazon SES não foi capaz de determinar o


motivo específico da devolução.

Permanent General O Amazon SES recebeu uma devolução definitiva


genérica. Se você receber esse tipo de devolução,
deverá remover o endereço de e-mail do
destinatário da sua lista de correspondência.

Permanent NoEmail O Amazon SES recebeu uma devolução definitiva


porque o endereço de e-mail de destino não existe.
Se você receber esse tipo de devolução, deverá
remover o endereço de e-mail do destinatário da
sua lista de correspondência.

Permanent Suppressed O Amazon SES suprimiu o envio para este


endereço, pois ele tem um histórico recente

356
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

bounceType bounceSubType Descrição


de devoluções como endereço inválido. Para
substituir a lista de supressão global, consulte
Como usar a lista de supressão do Amazon SES
por conta (p. 300).

Permanent OnAccountSuppressionList O Amazon SES suprimiu o envio para este


endereço porque ele está na lista de supressão no
nível da conta (p. 300). Isso não conta para sua
métrica de taxa de devolução.

Transient General O Amazon SES recebeu uma devolução genérica.


Você pode enviar com êxito para esse destinatário
no futuro.

Transient MailboxFull O Amazon SES recebeu uma devolução de caixa


postal cheia. Você pode enviar com êxito para
esse destinatário no futuro.

Transient MessageTooLarge O Amazon SES recebeu uma devolução de


mensagem muito grande. Você pode enviar com
êxito a esse destinatário se reduzir o tamanho da
mensagem.

Transient ContentRejected O Amazon SES recebeu uma devolução de


conteúdo rejeitado. Você pode enviar com êxito
a esse destinatário se alterar o conteúdo da
mensagem.

Transient AttachmentRejected O Amazon SES recebeu uma devolução de anexo


rejeitado. Você pode enviar com êxito a esse
destinatário se remover ou alterar o anexo.

Objeto de reclamação

O objeto JSON que contém informações sobre um evento Complaint tem os seguintes campos.

Nome do campo Descrição

complainedRecipients Uma lista que contém informações sobre os


destinatários que podem ter enviado a reclamação.

timestamp A data e a hora, no formato ISO8601 (AAAA-


MM-DDThh:mm:ss.sZ), em que a notificação de
reclamação foi enviada pelo ISP.

feedbackId Um ID exclusivo para a reclamação.

complaintSubType O subtipo da reclamação, conforme determinado


pelo Amazon SES.

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

Nome do campo Descrição

userAgent O valor do campo User-Agent do relatório de


feedback. Isso indica o nome e versão do sistema
que gerou o relatório.

complaintFeedbackType O valor do campo Feedback-Type do relatório de


feedback recebido do ISP. Aí está contido o tipo de
feedback.

arrivalDate O valor do campo Arrival-Date ou Received-


Date do relatório de feedback no formato ISO8601
(AAAA-MM-DDThh:mm:ss.sZ). Esse campo pode
estar ausente no relatório (e, portanto, também
ausente no JSON).

Destinatários que reclamaram

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.

Os objetos JSON desta lista contêm o seguinte campo.

Nome do campo Descrição

emailAddress O endereço de e-mail do destinatário.

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:

Nome do campo Descrição

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 como spam. Isso pode
ser usado para corrigir uma mensagem que foi
incorretamente marcada ou classificada como
spam.

358
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

Nome do campo Descrição

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 um evento Delivery tem sempre os seguintes campos.

Nome do campo Descrição

timestamp A data e hora em que o Amazon SES entregou


o e-mail ao servidor de e-mail do destinatário, no
formato ISO8601 (AAAA-MM-DDThh:mm:ss.sZ).

processingTimeMillis O tempo em milissegundos entre quando o


Amazon SES aceitou a solicitação do remetente
até quando o Amazon SES passou a mensagem
para o servidor de e-mail do destinatário.

recipients Uma lista dos destinatários previstos à qual o


evento de entrega se aplica.

smtpResponse A mensagem de resposta SMTP do ISP remoto


que aceitou o e-mail do Amazon SES. Esta
mensagem poderá variar por e-mail, por
servidor de e-mail de recebimento e por ISP de
recebimento.

reportingMTA O nome de host do servidor de e-mail do Amazon


SES que enviou o e-mail.

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.

Nome do campo Descrição

reason O motivo pelo qual o e-mail foi rejeitado. O único


valor possível é Bad content, o que significa
que o Amazon SES detectou que o e-mail continha
vírus. Quando uma mensagem é rejeitada, o
Amazon SES interrompe o seu processamento
e não tenta entregá-la ao servidor de e-mail do
destinatário.

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

Nome do campo Descrição

ipAddress O endereço IP do destinatário.

timestamp A data e horário em que o evento ocorreu, no


formato ISO8601 (AAAA-MM-DDThh:mm:ss.sZ).

userAgent O agente do usuário do dispositivo ou cliente de e-


mail que o destinatário usou para abrir o e-mail.

Objeto de clique

O objeto JSON que contém informações sobre um evento Click tem sempre os seguintes campos.

Nome do campo Descrição

ipAddress O endereço IP do destinatário.

timestamp A data e horário em que o evento de clique, no


formato ISO8601 (AAAA-MM-DDThh:mm:ss.sZ).

userAgent O agente do usuário do cliente que o destinatário


usou para clicar em um link no e-mail.

link O URL do link em que o destinatário clicou.

linkTags Uma lista de tags que foram adicionadas ao link


usando o atributo ses:tags. Para obter mais
informações sobre como adicionar tags aos links
nos seus e-mails, consulte P5. Posso usar tags em
links com identificadores exclusivos? (p. 583) no
Perguntas frequentes sobre métricas de envio de
e-mails do Amazon SES (p. 580).

Objeto de falha de renderização

O objeto JSON que contém informações sobre um evento Rendering Failure tem os seguintes
campos.

Nome do campo Descrição

templateName O nome do modelo usado para enviar o e-mail.

errorMessage Uma mensagem que fornece mais informações


sobre a Falha de renderização.

Objeto DeliveryDelay

O objeto JSON que contém informações sobre um evento DeliveryDelay tem os seguintes campos.

Nome do campo Descrição

delayType O tipo de atraso. Os valores possíveis são:

360
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

Nome do campo Descrição


• InternalFailure: um problema interno do Amazon
SES fez com que a mensagem chegasse com
atraso.
• General: ocorreu uma falha genérica durante a
conversa SMTP.
• MailboxFull: a caixa de correio do destinatário
está cheia e não consegue receber mensagens
adicionais.
• SpamDetected: o servidor de correio do
destinatário detectou uma grande quantidade de
e-mails não solicitados enviados da sua conta.
• RecipientServerError: um problema temporário
com o servidor de e-mail do destinatário está
impedindo a entrega da mensagem.
• IPFailure: o endereço IP que está enviando a
mensagem está sendo bloqueado ou limitado
pelo provedor de e-mail do destinatário.
• TransientCommunicationFailure: houve uma
falha de comunicação temporária durante a
conversa SMTP com o provedor de e-mail do
destinatário.
• BYOIPHostNameLookupUnavailable: o Amazon
SES não conseguiu procurar o nome de host
DNS para seus endereços IP. Esse tipo de
atraso só ocorre quando o recurso Traga seu
próprio IP (p. 296) é usado.
• Undetermined o Amazon SES não conseguiu
determinar o motivo do atraso na entrega.

delayedRecipients Um objeto que contém informações sobre o


destinatário do e-mail.

expirationTime A data e a hora em que o Amazon SES deixará


de tentar entregar a mensagem. Esse valor é
mostrado no formato ISO 8601.

reportingMTA O endereço IP do Message Transfer Agent (MTA)


que relatou o atraso.

timestamp A data e a hora em que ocorreu o atraso,


mostradas no formato ISO 8601.

Destinatários com mensagens atrasadas


O objeto delayedRecipients contém os valores a seguir.

Nome do campo Descrição

emailAddress O endereço de e-mail que resultou no atraso na


entrega da mensagem.

status O código de status SMTP associado ao atraso de


entrega.

361
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

Nome do campo Descrição

diagnosticCode O código de diagnóstico fornecido pelo Message


Transfer Agent (MTA) receptor.

Objeto Assinatura
O objeto JSON que contém informações sobre um evento Subscription tem os seguintes campos.

Nome do campo Descrição

contactList O nome da lista na qual o contato está.

timestamp A data e a hora, no formato ISO8601 (AAAA-


MM-DDThh:mm:ss.sZ), em que a notificação de
devolução foi enviada pelo ISP.

source O endereço de e-mail do qual a mensagem foi


enviada (o endereço MAIL FROM no envelope).

newTopicPreferences Uma estrutura de dados JSON (mapa) que


especifica o status da assinatura de todos
os tópicos na lista de contatos, indicando o
status após uma alteração (contato assinado ou
cancelado).

oldTopicPreferences Uma estrutura de dados JSON (mapa) que


especifica o status da assinatura de todos
os tópicos na lista de contatos, indicando o
status antes da alteração (contato assinado ou
cancelado).

Preferências de tópicos novos/antigos


Os objetos newTopicPreferences e oldTopicPreferences contêm os valores a seguir.

Nome do campo Descrição

unsubscribeAll Especifica se o contato cancelou a assinatura de


todos os tópicos da lista de contatos.

topicSubscriptionStatus Especifica o tópico no campo topicName e


mapeia o status da assinatura (OptIn ou OptOut)
no campo subscriptionStatus.

Exemplos de dados de eventos que o Amazon SES publica no Kinesis Data


Firehose
Esta seção fornece exemplos dos tipos de registro de evento de envio de e-mail que o Amazon SES
publica no Kinesis Data Firehose.

Tópicos nesta seção:


• Registro de devolução (p. 363)
• Registro de reclamação (p. 364)

362
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

• Registro de entrega (p. 365)


• Registro de envio (p. 367)
• Registro de rejeição (p. 368)
• Registro de abertura (p. 369)
• Registro de clique (p. 371)
• Registro de falha de renderização (p. 372)
• Registro DeliveryDelay (p. 373)
• Registro Assinatura (p. 373)

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

"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"
]
}
},
"send": {}
}

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"
}
}

Registro de falha de renderização

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"
}
]
}
}
}

Interpretação de dados de evento do Amazon SES pelo Amazon


SNS
O Amazon SES publica eventos de envio de e-mail no Amazon Simple Notification Service (Amazon SNS)
como registros JSON. O Amazon SNS, então, entrega notificações aos endpoints inscritos no tópico do
Amazon SNS associado ao evento de destino. Para obter informações sobre a configuração de tópicos e
assinaturas no Amazon SNS, consulte Conceitos básicos do Amazon SNS no Guia do desenvolvedor do
Amazon Simple Notification Service.

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 de registo de evento (p. 375)


• Exemplos de registro de evento (p. 385)

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

Tópicos nesta seção:


• Objeto JSON de nível superior (p. 375)
• Objeto de e-mail (p. 376)
• Objeto de devolução (p. 378)
• Objeto de reclamação (p. 380)
• Objeto de entrega (p. 381)
• Objeto de envio (p. 382)
• Objeto de rejeição (p. 382)
• Objeto de abertura (p. 382)
• Objeto de clique (p. 383)
• Objeto de falha de renderização (p. 383)
• Objeto DeliveryDelay (p. 383)
• Objeto Assinatura (p. 384)

Objeto JSON de nível superior

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.

Nome do campo Descrição

eventType Uma string que descreve o tipo de evento. Valores


possíveis: Bounce, Complaint, Delivery, Send,
Reject, Open, Click, Rendering Failure,
DeliveryDelay ou Subscription.

Se você não configurou a publicação de


eventos (p. 340), este campo é chamado de
notificationType.

mail Um objeto JSON que contém informações sobre o


e-mail que produziu o evento.

bounce Esse campo estará presente apenas se


eventType for Bounce. Ele contém informações
sobre a devolução.

complaint Esse campo estará presente apenas se


eventType for Complaint. Ele contém
informações sobre a reclamação.

375
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

Nome do campo Descrição

delivery Esse campo estará presente apenas se


eventType for Delivery. Ele contém
informações sobre a entrega.

send Esse campo estará presente apenas se


eventType for Send.

reject Esse campo estará presente apenas se


eventType for Reject. Ele contém informações
sobre a rejeição.

open Esse campo estará presente apenas se


eventType for Open. Ele contém informações
sobre o evento aberto.

click Esse campo estará presente apenas se


eventType for Click. Ele contém informações
sobre o evento de clique.

failure Esse campo estará presente apenas se


eventType for Rendering Failure. Ele
contém informações sobre o evento de Falha de
renderização.

deliveryDelay Esse campo estará presente apenas se


eventType for DeliveryDelay. Ele contém
informações sobre o atraso na entrega de um e-
mail.

subscription Esse campo estará presente apenas se


eventType for Subscription. Ele contém
informações sobre as preferências da assinatura.

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.

Nome do campo Descrição

timestamp A data e a hora, no formato ISO8601 (AAAA-


MM-DDThh:mm:ss.sZ), em que a mensagem foi
enviada.

messageId Um ID exclusivo que o Amazon SES atribuiu à


mensagem. O Amazon SES retornou esse valor
quando você enviou a mensagem.
Note

Esse ID de mensagem foi atribuído pelo


Amazon SES. Você pode encontrar o
ID da mensagem do e-mail original nos
campos headers e commonHeaders do
objeto mail.

376
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

Nome do campo Descrição

source O endereço de e-mail do qual a mensagem foi


enviada (o endereço MAIL FROM no envelope).

sourceArn O nome de recurso da Amazon (ARN) da


identidade que foi usada para enviar o e-mail.
No caso de autorização de envio, o sourceArn
é o ARN da identidade que o proprietário de
identidade autorizou o remetente delegado a usar
para enviar o e-mail. Para obter mais informações
sobre a autorização de envio, consulte Métodos de
autenticação de e-mail (p. 235).

sendingAccountId O ID da conta da AWS da conta que foi usada para


enviar o e-mail. No caso de autorização de envio,
sendingAccountId é o ID da conta do remetente
delegado.

destination Uma lista de endereços de e-mail que foram


destinatários da mensagem original.

headersTruncated Uma string que especifica se os cabeçalhos foram


truncados na notificação, o que ocorre se os
cabeçalhos tiverem mais de 10 KB. Os possíveis
valores são true e false.

headers Uma lista com os cabeçalhos originais do e-mail.


Cada cabeçalho tem um campo name e um campo
value.
Note

Qualquer ID de mensagem no campo


headers é da mensagem original que
você passou ao Amazon SES. O ID
da mensagem que o Amazon SES
subsequentemente atribuiu à mensagem
está no campo messageId do objeto
mail.

commonHeaders Uma lista com os cabeçalhos de e-mail originais


e comumente utilizados. Cada cabeçalho tem um
campo name e um campo value.
Note

Qualquer ID de mensagem no campo


commonHeaders é da mensagem original
que você passou ao Amazon SES. O
ID da mensagem que o Amazon SES
subsequentemente atribuiu à mensagem
está no campo messageId do objeto
mail.

tags Uma lista de tags associadas ao e-mail.

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.

Nome do campo Descrição

bounceType O tipo de devolução, conforme determinado pelo


Amazon SES.

bounceSubType O subtipo da devolução, conforme determinado


pelo Amazon SES.

bouncedRecipients Uma lista que contém informações sobre os


destinatários da mensagem original que foi
devolvida.

timestamp A data e a hora, no formato ISO8601 (AAAA-


MM-DDThh:mm:ss.sZ), em que a notificação de
devolução foi enviada pelo ISP.

feedbackId Um ID exclusivo para a devolução.

reportingMTA O valor do campo Reporting-MTA a partir


do DSN. Esse é o valor da Message Transfer
Authority (MTA) que tentou executar a operação
de entrega, transmissão ou gateway descritas no
DSN.
Note

Esse campo só será exibido se uma


notificação do status de entrega (DSN)
tiver sido conectada à devolução.

Destinatários com mensagens devolvidas

Um evento de devolução pode pertencer a um único destinatário ou a vários destinatários. O campo


bouncedRecipients possui uma lista de objetos — um objeto por destinatário cujo endereço de e-mail
produziu uma devolução — e contém o campo a seguir.

Nome do campo Descrição

emailAddress O endereço de e-mail do destinatário. Se um DSN


estiver disponível, esse será o valor do campo
Final-Recipient do DSN.

Opcionalmente, se um DSN estiver conectado à devolução, os seguintes campos também poderão estar
presentes.

Nome do campo Descrição

action O valor do campo Action a partir do DSN. Isso


indica a ação realizada pelo MTA que gera o
relatório como resultado da sua tentativa de enviar
a mensagem a esse destinatário.

378
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

Nome do campo Descrição

status O valor do campo Status a partir do DSN. Esse


é o código de status independente do transporte
por destinatário que indica o status de entrega da
mensagem.

diagnosticCode O código de status emitido pelo MTA de relatório.


Esse é o valor do campo Diagnostic-Code a
partir do DSN. Esse campo pode estar ausente no
DSN (e, portanto, também ausente no JSON).

Tipos de devolução

Cada evento de devolução é de um dos tipos mostrados na tabela a seguir.

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.

bounceType bounceSubType Descrição

Undetermined Undetermined O Amazon SES não foi capaz de determinar o


motivo específico da devolução.

Permanent General O Amazon SES recebeu uma devolução definitiva


genérica. Se você receber esse tipo de devolução,
deverá remover o endereço de e-mail do
destinatário da sua lista de correspondência.

Permanent NoEmail O Amazon SES recebeu uma devolução definitiva


porque o endereço de e-mail de destino não existe.
Se você receber esse tipo de devolução, deverá
remover o endereço de e-mail do destinatário da
sua lista de correspondência.

Permanent Suppressed O Amazon SES suprimiu o envio para este


endereço, pois ele tem um histórico recente
de devoluções como endereço inválido. Para
substituir a lista de supressão global, consulte
Como usar a lista de supressão do Amazon SES
por conta (p. 300).

Permanent OnAccountSuppressionList O Amazon SES suprimiu o envio para este


endereço porque ele está na lista de supressão no
nível da conta (p. 300). Isso não conta para sua
métrica de taxa de devolução.

Transient General O Amazon SES recebeu uma devolução genérica.


Você pode enviar com êxito para esse destinatário
no futuro.

379
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

bounceType bounceSubType Descrição

Transient MailboxFull O Amazon SES recebeu uma devolução de caixa


postal cheia. Você pode enviar com êxito para
esse destinatário no futuro.

Transient MessageTooLarge O Amazon SES recebeu uma devolução de


mensagem muito grande. Você pode enviar com
êxito a esse destinatário se reduzir o tamanho da
mensagem.

Transient ContentRejected O Amazon SES recebeu uma devolução de


conteúdo rejeitado. Você pode enviar com êxito
a esse destinatário se alterar o conteúdo da
mensagem.

Transient AttachmentRejected O Amazon SES recebeu uma devolução de anexo


rejeitado. Você pode enviar com êxito a esse
destinatário se remover ou alterar o anexo.

Objeto de reclamação
O objeto JSON que contém informações sobre um evento Complaint tem os seguintes campos.

Nome do campo Descrição

complainedRecipients Uma lista que contém informações sobre os


destinatários que podem ter enviado a reclamação.

timestamp A data e a hora, no formato ISO8601 (AAAA-


MM-DDThh:mm:ss.sZ), em que a notificação de
reclamação foi enviada pelo ISP.

feedbackId Um ID exclusivo para a reclamação.

complaintSubType O subtipo da reclamação, conforme determinado


pelo Amazon SES.

Além disso, se um relatório de feedback estiver conectado à reclamação, os campos a seguir poderão
estar presentes.

Nome do campo Descrição

userAgent O valor do campo User-Agent do relatório de


feedback. Isso indica o nome e versão do sistema
que gerou o relatório.

complaintFeedbackType O valor do campo Feedback-Type do relatório de


feedback recebido do ISP. Aí está contido o tipo de
feedback.

arrivalDate O valor do campo Arrival-Date ou Received-


Date do relatório de feedback no formato ISO8601
(AAAA-MM-DDThh:mm:ss.sZ). Esse campo pode
estar ausente no relatório (e, portanto, também
ausente no JSON).

380
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

Destinatários que reclamaram

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.

Os objetos JSON desta lista contêm o seguinte campo.

Nome do campo Descrição

emailAddress O endereço de e-mail do destinatário.

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:

Nome do campo Descrição

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

Subtipos de reclamação

O valor do campo complaintSubType pode ser nulo ou OnAccountSuppressionList. Se o valor for


OnAccountSuppressionList, o Amazon SES aceitou a mensagem, mas não tentou enviá-la porque ela
estava na lista de supressão no nível da conta (p. 300).

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

Nome do campo Descrição

timestamp A data e hora em que o Amazon SES entregou


o e-mail ao servidor de e-mail do destinatário, no
formato ISO8601 (AAAA-MM-DDThh:mm:ss.sZ).

processingTimeMillis O tempo em milissegundos entre quando o


Amazon SES aceitou a solicitação do remetente
até quando o Amazon SES passou a mensagem
para o servidor de e-mail do destinatário.

recipients Uma lista dos destinatários previstos à qual o


evento de entrega se aplica.

smtpResponse A mensagem de resposta SMTP do ISP remoto


que aceitou o e-mail do Amazon SES. Esta
mensagem poderá variar por e-mail, por
servidor de e-mail de recebimento e por ISP de
recebimento.

reportingMTA O nome de host do servidor de e-mail do Amazon


SES que enviou o e-mail.

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.

Nome do campo Descrição

reason O motivo pelo qual o e-mail foi rejeitado. O único


valor possível é Bad content, o que significa
que o Amazon SES detectou que o e-mail continha
vírus. Quando uma mensagem é rejeitada, o
Amazon SES interrompe o seu processamento
e não tenta entregá-la ao servidor de e-mail do
destinatário.

Objeto de abertura

O objeto JSON que contém informações sobre um evento Open tem os seguintes campos.

Nome do campo Descrição

ipAddress O endereço IP do destinatário.

timestamp A data e horário em que o evento ocorreu, no


formato ISO8601 (AAAA-MM-DDThh:mm:ss.sZ).

userAgent O agente do usuário do dispositivo ou cliente de e-


mail que o destinatário usou para abrir o e-mail.

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.

Nome do campo Descrição

ipAddress O endereço IP do destinatário.

timestamp A data e horário em que o evento de clique, no


formato ISO8601 (AAAA-MM-DDThh:mm:ss.sZ).

userAgent O agente do usuário do cliente que o destinatário


usou para clicar em um link no e-mail.

link O URL do link em que o destinatário clicou.

linkTags Uma lista de tags que foram adicionadas ao link


usando o atributo ses:tags. Para obter mais
informações sobre como adicionar tags aos links
nos seus e-mails, consulte P5. Posso usar tags em
links com identificadores exclusivos? (p. 583) no
Perguntas frequentes sobre métricas de envio de
e-mails do Amazon SES (p. 580).

Objeto de falha de renderização


O objeto JSON que contém informações sobre um evento Rendering Failure tem os seguintes
campos.

Nome do campo Descrição

templateName O nome do modelo usado para enviar o e-mail.

errorMessage Uma mensagem que fornece mais informações


sobre a Falha de renderização.

Objeto DeliveryDelay
O objeto JSON que contém informações sobre um evento DeliveryDelay tem os seguintes campos.

Nome do campo Descrição

delayType O tipo de atraso. Os valores possíveis são:

• InternalFailure: um problema interno do Amazon


SES fez com que a mensagem chegasse com
atraso.
• General: ocorreu uma falha genérica durante a
conversa SMTP.
• MailboxFull: a caixa de correio do destinatário
está cheia e não consegue receber mensagens
adicionais.
• SpamDetected: o servidor de correio do
destinatário detectou uma grande quantidade de
e-mails não solicitados enviados da sua conta.

383
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

Nome do campo Descrição


• RecipientServerError: um problema temporário
com o servidor de e-mail do destinatário está
impedindo a entrega da mensagem.
• IPFailure: o endereço IP que está enviando a
mensagem está sendo bloqueado ou limitado
pelo provedor de e-mail do destinatário.
• TransientCommunicationFailure: houve uma
falha de comunicação temporária durante a
conversa SMTP com o provedor de e-mail do
destinatário.
• BYOIPHostNameLookupUnavailable: o Amazon
SES não conseguiu procurar o nome de host
DNS para seus endereços IP. Esse tipo de
atraso só ocorre quando o recurso Traga seu
próprio IP (p. 296) é usado.
• Undetermined o Amazon SES não conseguiu
determinar o motivo do atraso na entrega.

delayedRecipients Um objeto que contém informações sobre o


destinatário do e-mail.

expirationTime A data e a hora em que o Amazon SES deixará


de tentar entregar a mensagem. Esse valor é
mostrado no formato ISO 8601.

reportingMTA O endereço IP do Message Transfer Agent (MTA)


que relatou o atraso.

timestamp A data e a hora em que ocorreu o atraso,


mostradas no formato ISO 8601.

Destinatários com mensagens atrasadas


O objeto delayedRecipients contém os valores a seguir.

Nome do campo Descrição

emailAddress O endereço de e-mail que resultou no atraso na


entrega da mensagem.

status O código de status SMTP associado ao atraso de


entrega.

diagnosticCode O código de diagnóstico fornecido pelo Message


Transfer Agent (MTA) receptor.

Objeto Assinatura
O objeto JSON que contém informações sobre um evento Subscription tem os seguintes campos.

Nome do campo Descrição

contactList O nome da lista na qual o contato está.

384
Amazon Simple Email Service Guia do desenvolvedor
Trabalhar com dados de eventos

Nome do campo Descrição

timestamp A data e a hora, no formato ISO8601 (AAAA-


MM-DDThh:mm:ss.sZ), em que a notificação de
devolução foi enviada pelo ISP.

source O endereço de e-mail do qual a mensagem foi


enviada (o endereço MAIL FROM no envelope).

newTopicPreferences Uma estrutura de dados JSON (mapa) que


especifica o status da assinatura de todos
os tópicos na lista de contatos, indicando o
status após uma alteração (contato assinado ou
cancelado).

oldTopicPreferences Uma estrutura de dados JSON (mapa) que


especifica o status da assinatura de todos
os tópicos na lista de contatos, indicando o
status antes da alteração (contato assinado ou
cancelado).

Preferências de tópicos novos/antigos

Os objetos newTopicPreferences e oldTopicPreferences contêm os valores a seguir.

Nome do campo Descrição

unsubscribeAll Especifica se o contato cancelou a assinatura de


todos os tópicos da lista de contatos.

topicSubscriptionStatus Especifica o tópico no campo topicName e


mapeia o status da assinatura (OptIn ou OptOut)
no campo subscriptionStatus.

Exemplos de dados de eventos publicados pelo Amazon SES no Amazon SNS


Esta seção fornece exemplos dos tipos de registro de evento de envio de e-mail que o Amazon SES
publica no Amazon SNS.

Tópicos nesta seção:


• Registro de devolução (p. 386)
• Registro de reclamação (p. 387)
• Registro de entrega (p. 388)
• Registro de envio (p. 390)
• Registro de rejeição (p. 391)
• Registro de abertura (p. 392)
• Registro de clique (p. 393)
• Registro de falha de renderização (p. 395)
• Registro DeliveryDelay (p. 395)
• Registro Assinatura (p. 396)

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

"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 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"
}
}

Registro de falha de renderização


A seguir encontra-se um exemplo de um registro de evento Rendering Failure que o Amazon SES
publica no Amazon SNS.

{
"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"
}
]
}
}
}

Tutoriais de publicação de eventos


Esta seção fornece tutoriais que demonstram como usar a publicação de eventos do Amazon SES com
serviços da AWS que permitem analisar e visualizar seus dados.

Tópicos nesta seção:


• Analisar eventos de envio de e-mail com o Amazon RedShift (p. 397)
• Gráfico de eventos de envio de e-mail no Amazon CloudWatch (p. 408)
• Analisar eventos de envio de e-mail com o Amazon Kinesis Data Analytics (p. 411)

Analisar eventos de envio de e-mail com o Amazon RedShift


Neste tutorial, você publica os eventos de envio de e-mail do Amazon SES para um fluxo de entrega do
Amazon Kinesis Data Firehose que publica dados no Amazon Redshift. Você, então, se conecta ao banco
de dados do Amazon RedShift e usa uma ferramenta de consulta SQL para consultar o banco de dados
sobre eventos de envio de e-mail do Amazon SES que atendem a determinados critérios.

As seções a seguir o instruem ao longo do processo.

• Pré-requisitos (p. 398)


• Etapa 1: Criar um cluster do Amazon Redshift (p. 398)
• Etapa 2: Conectar ao seu cluster do Amazon Redshift (p. 399)

397
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais

• Etapa 3: Criar uma tabela de banco de dados (p. 401)


• Etapa 4: Criar um fluxo de entrega do Kinesis Data Firehose (p. 403)
• Etapa 5: Definir um conjunto de configurações (p. 406)
• Etapa 6: Enviar e-mails (p. 406)
• Etapa 7: Consulta de eventos de envio de e-mail (p. 407)

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.

Para instalar o SQL Workbench/J

1. Consulte a licença de software do SQL Workbench/J.


2. Acesse o site do SQL Workbench/J e faça download do pacote apropriado para o seu sistema
operacional.
3. Acesse Instalar e iniciar o SQL Workbench/J e instale o SQL Workbench/J.
Important

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

Etapa 1: Criar um cluster do Amazon Redshift (p. 398)

Etapa 1: Criar um cluster do Amazon Redshift


Para criar um cluster do Amazon Redshift, acesse o console do Amazon Redshift e escolha Launch Cluster
(Iniciar cluster). Um assistente orienta você durante a escolha de opções para seu cluster e fornece valores
padrão para a maioria das opções.

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

Etapa 2: Conectar ao seu cluster do Amazon Redshift (p. 399)

Etapa 2: Conectar ao seu cluster do Amazon Redshift


Agora, você poderá se conectar ao seu cluster usando uma ferramenta do cliente SQL. Para este tutorial,
você usará o cliente SQL Workbench/J que instalou na seção de pré-requisitos (p. 398) deste tutorial.

Siga as etapas a seguir para concluir a seção:

• Obtenção da sua string de conexão (p. 399)


• Conexão ao seu cluster pelo SQL Workbench/J (p. 399)

Obtenção da sua string de conexão

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.

Para obter a string de conexão

1. Abra o console do Amazon Redshift em https://console.aws.amazon.com/redshift/.


2. No painel de navegação, escolha Clusters.
3. Escolha o nome do cluster para abrir a página de detalhes do cluster.
4. O URL do JDBC e URL do ODBC estão disponíveis, juntamente com detalhes adicionais, na seção
Informações gerais. Cada string é baseada na região da AWS em que o cluster é executado.

Conexão ao seu cluster pelo SQL Workbench/J

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

Para conectar-se ao seu cluster pelo SQL Workbench/J

1. Abra o SQL Workbench/J.


2. Escolha Arquivo e depois Janela de conexão.
3. Selecione o botão Create a new connection profile.

399
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais

4. Na caixa de texto New profile, digite um nome para o perfil.


5. Na parte inferior da janela, à esquerda, escolha Manage Drivers.
6. Na caixa de diálogo Manage Drivers, escolha o botão Create a new entry e, em seguida, adicione o
driver como se segue.

a. Na caixa Name, digite o nome do driver.


b. Ao lado de Library, selecione o ícone de pasta.
c. Navegue até o local do driver obtido por download em Configuração de uma conexão JDBC,
selecione o driver e, então, selecione Open (Abrir).
d. Escolha OK.

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

Se a tentativa de conexão atingir o limite de tempo, será necessário adicionar o endereço


IP ao security group que permite o tráfego de entrada de endereços IP. Para obter mais
informações, consulte A conexão é recusada ou falha no Guia do desenvolvedor de banco de
dados do Amazon Redshift.

400
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais

13. Na barra de menus superior, escolha o botão Save profile list.


14. Escolha OK.

O SQL Workbench/J se conectará ao seu cluster do Amazon RedShift.

Próxima etapa

Etapa 3: Criar uma tabela de banco de dados (p. 401)

Etapa 3: Criar uma tabela de banco de dados


Depois de se conectar ao banco de dados inicial no Amazon RedShift, você normalmente usa esse banco
de dados inicial como base para a criação de um novo banco de dados. No entanto, neste tutorial simples,
criamos uma tabela para armazenar seus dados de publicação de eventos do Amazon SES diretamente,
dentro do banco de dados inicial.

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

Para criar uma tabela usando o SQL Workbench/J

1. No SQL Workbench/J, copie o código a seguir e cole-o na janela Statement 1.

create table ses (


message_id varchar(200) not null,
event_type varchar(20) not null,
sending_account_id char(12),
timestamp varchar(50),
destination text,
configuration_set text,
campaign text
);

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.

3. No painel Messages, verifique se sua tabela foi criada com êxito.

402
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais

Próxima etapa

Etapa 4: Criar um fluxo de entrega do Kinesis Data Firehose (p. 403)

Etapa 4: Criar um fluxo de entrega do Kinesis Data Firehose


Para publicar eventos de envio de e-mail no Amazon Kinesis Data Firehose, você deve criar um fluxo
de entrega do Kinesis Data Firehose. Ao configurar um fluxo de entrega do Kinesis Data Firehose, você
escolhe onde o Kinesis Data Firehose publica os dados. Para este tutorial, vamos configurar o Kinesis
Data Firehose para publicar os dados no Amazon RedShift e escolher o Kinesis Data Firehose para
publicar os registros no Amazon S3, como uma etapa intermediária. No processo, precisamos especificar
como o Amazon RedShift deve copiar registros do Amazon S3 para a tabela que criamos na etapa
anterior (p. 401).

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.

Criação de um fluxo de entrega do Kinesis Data Firehose

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+

• Destination (Destino): escolha Amazon Redshift.


• Delivery stream name – Digite um nome para o fluxo de entrega.
• S3 bucket – Escolha New S3 bucket, digite um nome para o bucket, escolha a região e, em seguida,
selecione Create Bucket.
• Redshift cluster (Cluster do Redshift): escolha o cluster do Amazon Redshift que você criou na etapa
anterior.
• Redshift database – Digite dev, que é o nome padrão do banco de dados.
• Redshift table – Digite ses, que é a tabela criada em Etapa 3: Criar uma tabela de banco de
dados (p. 401).
• Redshift table columns – Deixe este campo vazio.
• Redshift username (Nome de usuário do Redshift): digite o nome de usuário que você escolheu ao
configurar o cluster do Amazon Redshift (p. 398).
• Redshift password (Senha do Redshift): digite a senha que você escolheu ao configurar o cluster do
Amazon RedShift.
• Redshift COPY options – Deixe este campo vazio.
• Retry duration – Deixe este campo com o valor padrão.
• COPY command (comando COPY): deixe este campo com o valor padrão. Você o atualizará no
próximo procedimento.

403
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais

4. Escolha Next (Próximo).


5. Na página Configuration, deixe os campos nas configurações padrão para este tutorial simples. A
única etapa que você precisa fazer é selecionar uma função do IAM que permite ao Kinesis Data
Firehose acessar seus recursos, conforme explicado no procedimento a seguir.

a. Para IAM Role, escolha Select an IAM role.


b. No menu suspenso, sob Create/Update existing IAM role, escolha Firehose delivery IAM role.

Você será levado para o console do IAM.


c. No console do IAM, deixe os campos com as configurações padrão e escolha Allow (Permitir).

Você retornará às etapas de configuração do fluxo de entrega do Kinesis Data Firehose no


console Kinesis Data Firehose.
6. Escolha Next (Próximo).
7. Na página Review, revise as configurações e escolha Create Delivery Stream.

Configuração de opções de cópia do Amazon Redshift

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.

Para definir as opções de comando COPY do Amazon RedShift

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"
]
}

2. Carregue o arquivo JSONPaths no bucket do Amazon S3: vá para o console do Amazon S3 e


carregue o arquivo no bucket criado quando você configurou o fluxo de entrega do Kinesis Data
Firehose em Criação de um fluxo de entrega do Kinesis Data Firehose (p. 403).
3. Defina o comando COPY nas configurações do fluxo de entrega do Kinesis Data Firehose: agora você
tem as informações de que precisa para definir a sintaxe do comando COPY que o Amazon RedShift
usa quando coloca os dados na tabela que você criou. O procedimento a seguir mostra como atualizar
as informações do comando COPY nas configurações de fluxo de entrega do Kinesis Data Firehose.

1. Vá para o console do Kinesis Data Firehose.


2. Em Redshift Delivery Streams, escolha o fluxo de entrega do Kinesis Data Firehose que você criou
para a publicação de eventos do Amazon SES.
3. Na página Details, selecione Edit.
4. Na caixa Redshift COPY options, digite o texto abaixo, substituindo os valores a seguir pelos seus
próprios valores:
• S3-BUCKET-NAME: o nome do bucket do Amazon S3 onde o Kinesis Data Firehose coloca seus
dados para o Amazon Redshift acessar. Este bucket foi criado quando você configurou o fluxo
de entrega do Kinesis Data Firehose em Etapa 4: Criar um fluxo de entrega do Kinesis Data
Firehose (p. 403). Um exemplo é my-bucket.
• REGION: a região na qual os recursos do Amazon SES, do Kinesis Data Firehose, do Amazon
S3 e do Amazon Redshift estão localizados. Um exemplo é us-east-1.

json 's3://S3-BUCKET-NAME/jsonpaths.json' region 'REGION';

5. Escolha Save (Salvar).

405
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais

Próxima etapa

Etapa 5: Definir um conjunto de configurações (p. 406)

Etapa 5: Definir um conjunto de configurações


Para configurar o Amazon SES para publicar seus eventos de envio de e-mail no Amazon Kinesis Data
Firehose, primeiro você deve criar um conjunto de configurações e, em seguida, adicionar um destino de
eventos do Kinesis Data Firehose ao conjunto de configurações. Esta seção mostra como realizar essas
tarefas.

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

Criação de um conjunto de configurações

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

Adição de um destino de eventos do Kinesis Data Firehose

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

Etapa 6: Enviar e-mails (p. 406)

Etapa 6: Enviar e-mails


Para o Amazon SES publicar eventos associados a um e-mail, você deve especificar um conjunto de
configurações ao enviar o e-mail. Você também pode incluir as tags de mensagens para classificar o e-
mail. Esta seção mostra como enviar um e-mail simples que especifica um conjunto de configurações e

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.

Para enviar um e-mail 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 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

This is a test message.

8. Escolha Send Test Email.


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. Dessa forma, quando você consultar seu banco de dados do
Amazon RedShift quanto a registros de eventos de envio de e-mails na última etapa deste tutorial,
poderá usar consultas baseadas na campanha de e-mail.

Próxima etapa

Etapa 7: Consulta de eventos de envio de e-mail (p. 407)

Etapa 7: Consulta de eventos de envio de e-mail


Agora que gerou alguns eventos de envio de e-mail enviando e-mails com o seu conjunto de configurações
e etiquetas de mensagem, você pode consultar os registros no Amazon RedShift.
Note

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

select * from ses;

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.

select count(*) as numberOfComplaint from ses where event_type = 'Complaint' and


campaign like '%book%';

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.

Gráfico de eventos de envio de e-mail no Amazon CloudWatch


Neste tutorial, você publica os eventos de envio de e-mail do Amazon SES para o Amazon CloudWatch e,
em seguida, cria um gráfico dos eventos usando o console do CloudWatch.

As seções a seguir o instruem ao longo do processo.

• Pré-requisitos (p. 409)


• Etapa 1: Definir um conjunto de configurações (p. 409)

408
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais

• Etapa 2: Enviar e-mails (p. 410)


• Etapa 3: Criar gráficos de eventos (p. 411)

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)

Etapa 1: Definir um conjunto de configurações


Para configurar o Amazon SES para publicar seus eventos de envio de e-mail no Amazon CloudWatch,
primeiro crie um conjunto de configurações e, em seguida, adicione um destino ds eventos do CloudWatch
ao conjunto de configurações. Esta seção mostra como realizar essas tarefas.

Se você já tem um conjunto de configurações, pode adicionar um destino do CloudWatch ao seu


conjunto de configurações existente. Neste caso, pule para Adicionar um destino de evento do
CloudWatch (p. 409).

Criação de um conjunto de configurações


O procedimento a seguir mostra como criar um conjunto de configurações.

Para criar um 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, escolha Configuration Sets.
3. Escolha Create Configuration Set.
4. Digite um nome para o conjunto de configurações e escolha Create Configuration Set.

Adicionar um destino de evento do CloudWatch


O procedimento a seguir mostra como adicionar um destino de eventos do CloudWatch ao conjunto de
configurações que você criou.

Para adicionar um destino de evento do CloudWatch a um 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, 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

5. Em Name (Nome), insira um nome para o destino de evento.


6. Em Event types (Tipos de eventos), escolha as métricas que você deseja relatar no Amazon
CloudWatch.
7. Selecione Enabled (Habilitado).
8. Em Value Source (Origem do valor), escolha o valor que você deseja usar para categorizar as
métricas no CloudWatch. Por exemplo, se você escolher Message Tag (Etiqueta de mensagem),
será necessário especificar um par chave-valor. O Amazon SES envia as métricas selecionadas ao
CloudWatch se o e-mail contiver esse par chave-valor como uma etiqueta de mensagem. Quando
você visualiza as métricas no CloudWatch, elas são categorizadas pela chave da etiqueta da
mensagem.
Note

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.

Etapa 2: Enviar e-mails


Para o Amazon SES publicar eventos associados a um e-mail, você deve especificar um conjunto de
configurações ao enviar o e-mail. Você também pode incluir as tags de mensagens para classificar o e-
mail. Esta seção mostra como enviar um e-mail simples que especifica um conjunto de configurações e
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.

Para enviar um e-mail 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, 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

This is a test message.

8. Escolha Send Test Email.

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)

Etapa 3: Criar um gráfico dos eventos de envio de e-mail


Agora que você publicou alguns eventos de envio de e-mail do Amazon SES no CloudWatch enviando
e-mails com o seu conjunto de configurações e etiquetas de mensagem, pode criar um gráfico com as
métricas para esses eventos usando o console do CloudWatch.

Para criar um gráfico com as métricas de eventos de envio de e-mail

1. Faça login no AWS Management Console e abra o console do CloudWatch em https://


console.aws.amazon.com/cloudwatch/.
2. No painel de navegação à esquerda, escolha Metrics.
3. Na guia All metrics, escolha SES.
Tip
Você também pode digitar SES no campo de pesquisas.
4. Escolha a origem do valor especificado em Adicionar um destino de evento do CloudWatch (p. 409).
Por exemplo, se você especificou a tag de mensagem "category: books" como a origem do valor,
escolha category (categoria).
5. Escolha a métrica que você deseja visualizar. Um gráfico é exibido no painel de detalhes.

Analisar eventos de envio de e-mail com o Amazon Kinesis Data


Analytics
O Amazon Kinesis Data Analytics permite processar e analisar dados de transmissão usando o SQL. Você
pode usar o Amazon Kinesis Data Analytics para analisar seus eventos de envio de e-mail do Amazon
SES.

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

As seções a seguir o instruem ao longo do tutorial.

• Pré-requisitos (p. 412)


• Etapa 1: Criar um fluxo de entrega do Kinesis Data Firehose (p. 412)
• Etapa 2: Definir um conjunto de configurações (p. 413)
• Etapa 3: Enviar e-mails (p. 414)
• Etapa 4: Criar uma aplicação do Amazon Kinesis Data Analytics (p. 414)
• Etapa 5: Executar uma consulta SQL (p. 419)
• (Opcional) Etapa 6: Salvar os resultados da consulta SQL (p. 420)

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)

Etapa 1: Criar um fluxo de entrega do Kinesis Data Firehose


Para analisar eventos de envio de e-mail do Amazon SES com o Amazon Kinesis Data Analytics, você
deve configurar o Amazon SES para publicar os eventos em um fluxo de entrega do Amazon Kinesis Data
Firehose e, em seguida, configurar o Amazon Kinesis Data Analytics para obter os dados de evento do
Kinesis Data Firehose.

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.

Para criar um fluxo de entrega do Kinesis Data Firehose para o Amazon S3

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+

• Destination (Destino): escolha Amazon S3.

412
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais

• Delivery stream name – Digite um nome para o fluxo de entrega.


• S3 bucket (Bucket do S3): escolha um bucket existente ou New S3 Bucket (novo bucket do S3. Se
você criar um novo bucket, digite um nome para ele e escolha a região que seu console estiver
usando no momento.
• S3 prefix – Deixe esse campo vazio.
4. Escolha Next (Próximo).
5. Na página Configuration, deixe os campos nas configurações padrão. A única etapa necessária para
selecionar uma função do IAM que habilita o Kinesis Data Firehose a acessar seus recursos, como se
segue:

a. Para IAM Role, escolha Select an IAM role.


b. No menu suspenso, sob Create/Update existing IAM role, escolha Firehose delivery IAM role.

Você é levado para o console do IAM.


c. No console do IAM, deixe os campos com as configurações padrão e escolha Allow (Permitir).

Você retornará às etapas de configuração do fluxo de entrega do Kinesis Data Firehose no


console do Kinesis Data Firehose.
6. Escolha Next (Próximo).
7. Na página Review, revise as configurações e escolha Create Delivery Stream.

Próxima etapa

Etapa 2: Definir um conjunto de configurações (p. 413)

Etapa 2: Definir um conjunto de configurações


Para configurar o Amazon SES para publicar seus eventos de envio de e-mail no Amazon Kinesis Data
Firehose, crie um conjunto de configurações e, em seguida, adicione um destino de eventos do Kinesis
Data Firehose ao conjunto de configurações. Esta seção descreve como realizar essas tarefas.

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.

Para adicionar um destino de eventos do Kinesis Data Firehose ao conjunto de configurações

1. Escolha o conjunto de configurações.


2. Escolha Event destinations (Destinos do evento), Add destination (Adicionar destino).
3. Em Event types (Tipos de evento), escolha Select all (Selecionar tudo). Escolha Next (Próximo).
4. Em Destination type (Tipo de destino), escolha Amazon Kinesis Data Firehose.
5. Em Name, digite um nome para o destino de evento.
6. Para Delivery Stream (Fluxo de Entrega), selecione o fluxo de entrega criado em Etapa 1: Criar um
fluxo de entrega do Kinesis Data Firehose (p. 412).
7. Em IAM role (Função do IAM), escolha uma função existente que conceda ao Amazon SES
permissão para publicar no Kinesis Data Firehose em seu nome ou escolha Create a new role in
IAM (Criar uma nova função no IAM). Para obter mais informações, consulte . the section called
“Concessão de permissão ao Amazon SES para publicar no fluxo de entrega do Amazon Kinesis Data
Firehose” (p. 344). Escolha Next (Próximo).
8. Escolha Add destination.

Próxima etapa

Etapa 3: Enviar e-mails (p. 414)

Etapa 3: Enviar e-mails


Como este tutorial usa o console do Amazon Kinesis Data Analytics para processar e analisar dados
de transmissão, é necessário configurar um fluxo constante de e-mails pelo Amazon SES. Este
tutorial pressupõe que você tenha um aplicativo capaz de enviar esses e-mails. Enviar um e-mail
a cada dez segundos por cinco minutos é suficiente para este tutorial. É altamente recomendável
usar um endereço de destino do simulador de caixa postal do Amazon SES (p. 266), como
[email protected].

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)

Etapa 4: Criar uma aplicação do Amazon Kinesis Data Analytics


Agora que você configurou a publicação de eventos com o Amazon SES, configure o Amazon Kinesis Data
Analytics para capturar os dados de eventos de envio de e-mail do fluxo de entrega do Amazon Kinesis
Data Firehose. Para fazer isso, crie uma aplicação do Amazon Kinesis Data Analytics.

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

Os eventos de envio de e-mail de diferentes tipos de eventos (envio, devolução, reclamação e


entrega) têm diferentes esquemas JSON (p. 352). Em um ambiente de produção, você pode
examinar vários campos desse esquema, mas neste tutorial, limitamos nosso exame a um
pequeno conjunto de campos presentes em todos os tipos de evento.

Para criar uma aplicação do Amazon Kinesis Data Analytics

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

9. Examine as entradas restantes em Column name e compare-as com os requisitos de definição de


nomes SQL a seguir:

• Formato: como descrito em Identifiers (“Identificadores”) na Referência de SQL do Amazon Kinesis


Data Analytics, identificadores sem aspas devem começar com uma letra ou sublinhado e terminar
com letras, números ou sublinhados. Os nomes de etiqueta automática do Amazon SES não
atendem a esses requisitos, pois contêm dois pontos e traços. Você os editará na próxima etapa.
• Palavras reservadas: os nomes de colunas não devem entrar em conflito com as palavras
reservadas do SQL listadas em Reserved Words and Keywords (Palavras e palavras-chave
reservadas) na Referência de SQL do Amazon Kinesis Data Analytics. Entre os exemplos de
palavras-chave reservadas que conflitam com os registros de eventos do Amazon SES estão
timestamp, value, date, from e to.
10. Edite os nomes de coluna restantes em conformidade com os requisitos do SQL, da seguinte forma:

• Renomeie ses:configuration-set para ses_configuration_set.


• Renomeie timestamp para ses_timestamp.
• Renomeie to para ses_to.

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

Etapa 5: Executar uma consulta SQL (p. 419)

418
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais

Etapa 5: Executar uma consulta SQL


Agora que você criou uma aplicação do Amazon Kinesis Data Analytics e configurou-a para usar seu fluxo
de entrega do Amazon Kinesis Data Firehose como origem, consulte os dados de eventos de envio de e-
mail que o fluxo de entrega do Kinesis Data Firehose recebe.

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

Para executar uma consulta SQL no Amazon Kinesis Data Analytics

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.

2. Escolha Go to SQL editor.

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

3. Na caixa de editor de código, cole o seguinte.

CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" ("eventType" VARCHAR(16),


"ses_timestamp" timestamp, "messageId" VARCHAR(64), "ses_to" VARCHAR(64),
"ses_configuration_set" VARCHAR(32));

CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM"

SELECT STREAM "eventType", "ses_timestamp", "messageId", "ses_to",


"ses_configuration_set"
FROM "SOURCE_SQL_STREAM_001"
WHERE "eventType" = 'Send'

4. Escolha Save and run SQL.

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

(Opcional) Etapa 6: Salvar os resultados da consulta SQL (p. 420)

(Opcional) Etapa 6: Salvar os resultados da consulta SQL


Você pode configurar sua aplicação do Amazon Kinesis Data Analytics para gravar a saída das suas
consultas SQL em um fluxo de entrega do Amazon Kinesis Data Firehose. Para fazer isso, você deve
criar outro fluxo de entrega do Kinesis Data Firehose, pois não pode usar o mesmo fluxo de entrega como
origem e destino de uma aplicação do Amazon Kinesis Data Analytics. Como em qualquer fluxo de entrega
do Kinesis Data Firehose, você pode escolher o Amazon Simple Storage Service (Amazon S3), o Amazon
OpenSearch Service ou o Amazon Redshift como destino.

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

Para salvar os resultados das consultas SQL no Amazon S3

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

3. Escolha Connect to a destination.

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

Em alguns segundos, você retorna para a página principal do aplicativo.

421
Amazon Simple Email Service Guia do desenvolvedor
Tutoriais

5. Escolha Go to SQL results.

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.

7. Para recuperar os resultados, vá para o console do Amazon S3.


8. Escolha o bucket do Amazon S3 associado ao fluxo de entrega do Kinesis Data Firehose que a
aplicação do Amazon Kinesis Data Analytics usa como destino.
9. Navegue até os dados que, por padrão, estão organizados em uma hierarquia de pastas com base na
data em que os resultados são salvos no bucket.

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

Monitoramento da sua reputação do


remetente do Amazon SES
O Amazon SES rastreia ativamente várias métricas que podem fazer com que sua reputação como
remetente seja prejudicada ou que suas taxas de entrega de e-mail declinem. Duas métricas importantes
que consideramos neste processo são as taxas de devolução e de reclamação para sua conta. Se as
taxas de devolução ou de reclamação de sua conta forem muito altas, poderemos colocar sua conta em
análise ou pausar a capacidade de sua conta para enviar e-mails.

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.

Nesta seção, você encontrará os seguintes tópicos:


• Uso de métricas de reputação para acompanhar as taxas de devolução e reclamação (p. 425)
• Mensagens de métricas de reputação (p. 427)
• Criação de alarmes de monitoramento de reputação com o CloudWatch (p. 441)
• Metrics SNDS para IPs dedicados (p. 443)
• Pausar automaticamente o envio de e-mails (p. 444)

Uso de métricas de reputação para acompanhar as


taxas de devolução e reclamação
A página do console de métricas de reputação contém as mesmas informações que a equipe do Amazon
SES vê ao determinar a integridade de contas individuais.

Para exibir métricas de reputação

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

O painel exibirá as seguintes informações:

• Account status (Status da conta): um resumo da integridade combinada de suas taxas de


devoluções e reclamações. Os possíveis valores incluem:
• Healthy (Íntegro): não existem problemas afetando sua conta.
• Under review (Em análise): sua conta está sob revisão. Se os problemas que nos fizeram colocar
sua conta sob revisão não forem resolvidos até o final do período de revisão, poderemos pausar a
capacidade de sua conta enviar e-mails.

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 métricas de reputação


A página do console de métricas de reputação do Amazon SES fornece métricas importantes relacionadas
à sua conta. As seções a seguir descrevem as mensagens que podem ser exibidas nesse painel e
fornecem dicas e informações que você pode usar para resolver problemas relacionados à reputação do
remetente.

Esta seção contém informações sobre os seguintes tipos de notificações:

• Mensagens de status (p. 427)


• Notificação da taxa de devolução (p. 428)
• Notificação da taxa de reclamação (p. 429)
• Notificação da organização antispam (p. 430)
• Notificação de listbombing (p. 431)
• Notificação de feedback direto (p. 432)
• Notificação da lista de bloqueio de domínio (p. 433)
• Notificação de revisões internas (p. 434)
• Notificação do provedor de caixa postal (p. 435)
• Notificação de feedback do destinatário (p. 436)
• Notificação de contas relacionadas (p. 437)
• Notificação de spamtrap (p. 438)
• Notificação de site vulnerável (p. 439)
• Notificação de credenciais comprometidas (p. 440)
• Outra notificação (p. 440)

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:

• Healthy (Íntegro): não existem problemas afetando sua conta.


• Under review (Son revisão): sua conta está sob revisão. Se os problemas que nos fizeram colocar
sua conta sob revisão não forem resolvidos até o final do período de revisão, poderemos pausar a
capacidade de sua conta enviar e-mails.
• 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.

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:

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

Notificação da taxa de devolução


Esta seção contém informações adicionais sobre as notificações de taxa de devolução mostradas na
página de métricas de reputação do Amazon SES.

Por que você recebeu esta notificação


Você recebeu esta notificação porque a taxa de devoluções da sua conta era muito alta. A taxa de
devolução é baseada no número de devoluções definitivas geradas pela conta do Amazon SES. Os
provedores de e-mail interpretam uma alta taxa de devolução como um sinal de que um remetente não
está gerenciando de maneira adequada a lista de destinatários, e que o remetente pode estar enviando e-
mail não solicitado.

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

O que pode ser feito para resolver o problema


Se você ainda não tiver feito isso, implemente um processo para capturar e gerenciar devoluções e
reclamações. Todas as contas do Amazon SES devem ter esses processos implementados. Para mais
informações, consulte Métricas de sucesso para programas de e-mail (p. 23).

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 sua conta estiver sob análise


No final do período de análise, se a taxa de devolução de sua conta permanecer acima de 10%,
poderemos pausar a capacidade de sua conta para enviar e-mails até que você resolva o problema.

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.

Se a capacidade de sua conta para enviar e-mails estiver


pausada
Você poderá solicitar que reconsideremos essa decisão. Para mais informações, consulte Perguntas
frequentes sobre o processo do Amazon SES de revisão de envios (p. 561).

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.

Notificação da taxa de reclamação


Esta seção contém informações adicionais sobre as notificações de taxa de reclamação mostradas na
página de métricas de reputação do Amazon SES.

Por que você recebeu esta notificação


Você recebeu esta notificação porque a taxa de reclamação da sua conta era muito alta. A taxa de
reclamação é baseada no número de reclamações geradas pela conta do Amazon SES. Os provedores de
e-mail interpretam uma alta taxa de reclamação como um sinal de que um remetente não está gerenciando
de maneira adequada a lista de destinatários, e que o remetente pode estar enviando e-mail não solicitado.

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.

O que pode ser feito para resolver o problema


Se você ainda não tiver feito isso, implemente um processo para capturar e gerenciar devoluções e
reclamações. Todas as contas do Amazon SES devem ter esses processos implementados. Para mais
informações, consulte Métricas de sucesso para programas de e-mail (p. 23).

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 sua conta estiver sob análise


No final do período de análise, se a taxa de reclamação de sua conta permanecer acima de 0,5%,
poderemos pausar a capacidade de sua conta para enviar e-mails até que você resolva o problema.

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.

Se a capacidade de sua conta para enviar e-mails estiver


pausada
Você poderá solicitar que reconsideremos essa decisão. Para mais informações, consulte Perguntas
frequentes sobre o processo do Amazon SES de revisão de envios (p. 561).

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 da organização antispam


Esta seção contém informações adicionais sobre notificações da organização antispam mostradas na
página de métricas de reputação do Amazon SES.

Por que você recebeu esta notificação


Uma organização antispam confiável informou que parte do conteúdo que está sendo enviado de sua
conta do Amazon SES foi sinalizada como não solicitada ou problemática por seus sistemas.

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.

O que pode ser feito para resolver o problema


Para resolver este problema, você precisa determinar quais aspectos do seu programa de envio de e-mail
pode estar fazendo com que a organização antispam sinalize seu e-mail como problemático. Em seguida,
você precisa alterar o programa de envio para solucionar esses problemas.

Se sua conta estiver sob análise


No final do período de análise, se a organização antispam continuar a identificar o email enviado da sua
conta como problemático, poderemos pausar a capacidade de sua conta para enviar e-mails até você
resolver o problema.

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.

Se a capacidade de sua conta para enviar e-mails estiver


pausada
Você poderá solicitar que reconsideremos essa decisão. Para mais informações, consulte Perguntas
frequentes sobre o processo do Amazon SES de revisão de envios (p. 561).

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.

Por que você recebeu esta notificação


Uma organização antispam identificou que seus processos de envio de e-mail estão vulneráveis a
“listbombing”. Listbombing é uma forma de uso abusivo em que um invasor registra um número muito
grande de endereços de e-mail em um formulário baseado na web. O listbombing pode ocasionar
interrupções de serviço para usuários de serviços de e-mail afetados. Também pode fazer com que seu e-
mail seja bloqueado por provedores de e-mail.

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.

O que pode ser feito para resolver o problema


Você precisa examinar todos os formulários de inscrição baseados na web para garantir que eles não
estejam vulneráveis a esse tipo de uso abusivo. Todo formulário deve incluir um CAPTCHA para evitar

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 sua conta estiver sob análise


No final do período de análise, se a organização antispam continuar a identificar o email enviado da sua
conta como problemático, poderemos pausar a capacidade de sua conta para enviar e-mails até você
resolver o problema.

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.

Se a capacidade de sua conta para enviar e-mails estiver


pausada
Você poderá solicitar que reconsideremos essa decisão. Para mais informações, consulte Perguntas
frequentes sobre o processo do Amazon SES de revisão de envios (p. 561).

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 feedback direto


Esta seção contém informações adicionais sobre as notificações de feedback direto mostradas na página
de métricas de reputação do Amazon SES.

Por que você recebeu esta notificação


Um número significativo de usuários entrou em contato com o Amazon SES diretamente para denunciar
mensagens recebidas de um endereço ou domínio associado à sua conta do Amazon SES. Esse tipo de
feedback não é visível nas reclamações relatadas por provedores de caixa postal diretamente e não está
incluído nas métricas de devolução e reclamação mostradas na página de métricas de reputação.

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

O que pode ser feito para resolver o problema


Recomendamos que você implemente uma estratégia de inclusão dupla, conforme descrito em Criar
e manter suas listas (p. 27), para a aquisição de novos endereços e que apenas envie e-mails para
endereços que concluam 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 sua conta estiver sob análise


No final do período de revisão, se o Amazon SES continuar a receber um número significativo de
reclamações diretas sobre mensagens enviadas de sua conta, poderemos pausar a capacidade de sua
conta enviar e-mails até você resolver o problema.

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.

Se a capacidade de sua conta para enviar e-mails estiver


pausada
Você poderá solicitar que reconsideremos essa decisão. Para mais informações, consulte Perguntas
frequentes sobre o processo do Amazon SES de revisão de envios (p. 561).

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 da lista de bloqueio de domínio


Esta seção contém informações adicionais sobre as notificações de lista de bloqueio de domínio
mostradas na página de métricas de reputação do Amazon SES.

Por que você recebeu esta notificação


Os e-mails enviados da sua conta do Amazon SES contêm referências a domínios que foram listados
em uma lista de bloqueio de domínio confiável. Domínios nestas listas são normalmente associados a
comportamentos ofensivos ou mal-intencionados. Os domínios em questão podem ou não ser os domínios
a partir dos quais você está enviando e-mails. As mensagens que incluem referências ou links para um
domínio em uma lista de bloqueio ou que incluem imagens hospedadas em um domínio da lista, também
podem ser sinalizadas.

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.

O que pode ser feito para resolver o problema


Primeiro, crie uma lista de todos os domínios referenciados nos e-mails enviados pelo Amazon SES.
Depois, use a ferramenta Spamhaus Domain Lookup para determinar quais domínios em seu e-mail estão

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 sua conta estiver sob análise


Procuramos referências a domínios que foram usados para fins mal-intencionados nos e-mails enviados
durante o período de revisão. Se os seus e-mails ainda contiverem um número significativo de referências
a esses domínios, poderemos pausar a capacidade da sua conta enviar e-mails até que você resolva o
problema.

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.

Se a capacidade de sua conta para enviar e-mails estiver


pausada
Você poderá solicitar que reconsideremos essa decisão. Para mais informações, consulte Perguntas
frequentes sobre o processo do Amazon SES de revisão de envios (p. 561).

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 revisões internas


Esta seção contém informações adicionais sobre as notificações de revisão interna mostradas na página
de métricas de reputação do Amazon SES.

Por que você recebeu esta notificação


Uma análise abrangente da sua conta identificou diversas características que podem fazer com que
provedores de caixa postal ou destinatários identifiquem suas mensagens como spam.

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.

Fatores comuns que podem levar a essa determinação incluem o seguinte:

• Mensagens que estão sendo sinalizadas por sistemas antispam comerciais.


• Conteúdo da mensagem que implica que o destinatário não solicitou explicitamente o e-mail.
• Incompatibilidades entre a mensagem do remetente e a marca no corpo do e-mail.
• Conteúdo que não deixa claro quem é o remetente.
• Envio de mensagens que lidam com conteúdo que está associado com um e-mail não solicitado.

434
Amazon Simple Email Service Guia do desenvolvedor
Notificação do provedor de caixa postal

• Padrões de formatação associados com e-mails não solicitados.


• Enviar de ou fazer referência a domínios que tenham má reputação.

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.

O que pode ser feito para resolver o problema


As sugestões a seguir podem ajudar a reduzir a gravidade do problema:

• 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 a sua conta estiver sob análise ou se a capacidade da sua


conta para enviar e-mails for pausada
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. 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.

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.

Notificação do provedor de caixa postal


Esta seção contém informações adicionais sobre as notificações de provedor de caixa postal mostradas na
página de métricas de reputação do Amazon SES.

Por que você recebeu esta notificação


Um grande provedor de caixa postal relatou que e-mails não solicitados ou mal-intencionados estão sendo
enviados de um endereço ou domínio associado à sua conta do Amazon SES.

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.

O que pode ser feito para resolver o problema


Para resolver este problema, você precisa determinar quais aspectos do seu programa de envio de e-mail
pode estar fazendo com que os provedores de caixa postal sinalizem seu e-mail como problemático. Você
precisa, em seguida, alterar o programa de envio para solucionar esses problemas.

Se sua conta estiver sob análise


No final do período de análise, se o provedor de caixa postal continuar a identificar o e-mail enviado da
sua conta como problemático, poderemos pausar a capacidade de sua conta para enviar e-mails até você
resolver o problema.

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.

Se a capacidade de sua conta para enviar e-mails estiver


pausada
Você poderá solicitar que reconsideremos essa decisão. Para mais informações, consulte Perguntas
frequentes sobre o processo do Amazon SES de revisão de envios (p. 561).

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 feedback do destinatário


Esta seção contém informações adicionais sobre as notificações de feedback do destinatário mostradas na
página de métricas de reputação do Amazon SES.

Por que você recebeu esta notificação


Um grande provedor de caixa postal relatou a nós que um grande número de seus usuários têm reportado
e-mails enviados da sua conta do Amazon SES como não solicitados. Esse tipo de feedback não está
visível nas reclamações relatadas diretamente por provedores de caixa postal e não está incluído nas
notificações de devolução e reclamação do Amazon SES.

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.

O que pode ser feito para resolver o problema


Para resolver este problema, você precisa para determinar quais aspectos do seu programa de envio de e-
mail pode estar fazendo com que seus destinatários enviem reclamações em relação a mensagens de e-
mail que recebem. Após identificar esses fatores, altere suas práticas de envio de e-mail para solucioná-
los.

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 sua conta estiver sob análise


No final do período de análise, se o provedor de caixa postal continuar a reportar um número significativo
de reclamações, poderemos pausar a capacidade de sua conta para enviar e-mails até você resolver o
problema.

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.

Se a capacidade de sua conta para enviar e-mails estiver


pausada
Você poderá solicitar que reconsideremos essa decisão. Para mais informações, consulte Perguntas
frequentes sobre o processo do Amazon SES de revisão de envios (p. 561).

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 contas relacionadas


Esta seção contém informações adicionais sobre notificações relacionadas a conta mostradas na página
de métricas de reputação do Amazon SES.

Por que você recebeu esta notificação


Detectamos sérios problemas relacionados ao e-mails enviados de outra conta do Amazon SES.
Acreditamos que a conta com problemas está relacionada à sua Conta da AWS, então tomamos
providências para evitar problemas semelhantes.

437
Amazon Simple Email Service Guia do desenvolvedor
Notificação de spamtrap

O que pode ser feito para resolver o problema


Quando pausamos a capacidade de uma conta para enviar e-mails, sempre enviamos informações
sobre os motivos da pausa de envio para o proprietário dessa conta. Consulte o e-mail que enviamos ao
proprietário da conta relacionada para obter mais informações.

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.

Por que você recebeu esta notificação


Uma organização antispam de terceiros relatou que seus endereços de armadilhas de spam recentemente
receberam e-mails de um endereço verificado ou de domínios associados à sua conta 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 que pode ser feito para resolver o problema


Não é possível exibir os endereços de e-mail associados à armadilha de spam que você encontrou. Esses
endereços são rigorosamente protegidos por organizações proprietárias e assim que os endereços são
conhecidos, eles se tornam inútil.

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 sua conta estiver sob análise


No final do período de análise, se mensagens ainda estiverem sendo enviadas para endereços de
spamtrap de sua conta, poderemos pausar a capacidade de sua conta para enviar e-mails até você
resolver o problema.

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.

Se a capacidade de sua conta para enviar e-mails estiver


pausada
Você poderá solicitar que reconsideremos essa decisão. Para mais informações, consulte Perguntas
frequentes sobre o processo do Amazon SES de revisão de envios (p. 561).

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 site vulnerável


Esta seção contém informações adicionais sobre as notificações de site vulnerável no Amazon SES
mostradas na página de métricas de reputação do Amazon SES.

Por que você recebeu esta notificação


Após uma análise abrangente, acreditamos que estão sendo enviadas mensagens da sua conta que você
não teve intenção de enviar. Estas mensagens são altamente prováveis de serem marcadas como spam
por provedores de caixa postal e destinatários.

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.

O que pode ser feito para resolver o problema


Primeiro, identifique os recursos ou aplicações do seu siteque podem permitir que terceiros enviem e-mails
usando o Amazon SES sem o seu conhecimento. No caso do Support Center, é possível solicitar uma
amostra das mensagens que acreditamos ter sido enviadas dessa maneira.

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 a sua conta estiver sob análise ou se a capacidade da sua


conta para enviar e-mails for pausada
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.

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

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.

Notificação de credenciais comprometidas


Esta seção contém informações adicionais sobre notificações do site de credenciais comprometidas
mostradas na página de métricas de reputação do Amazon SES.

Por que você recebeu esta notificação


Após uma análise abrangente, acreditamos que estão sendo enviadas mensagens da sua conta que você
não teve intenção de enviar. Estas mensagens são altamente prováveis de serem marcadas como spam
por provedores de caixa postal e destinatários.

Algumas causas comuns são chaves de acesso do IAM e senhas SMTP comprometidas ou outras
vulnerabilidades de segurança.

O que pode ser feito para resolver o problema


Você deve realizar uma análise de segurança abrangente da utilização do SES e verificar se você alterou
todas as chaves de acesso do IAM ou senhas SMTP aplicáveis e se removeu usuários ou recursos não
autorizados de sua conta. Garanta que você não esteja armazenando informações sigilosas, como senhas
ou chaves de acesso, em sites ou repositórios de terceiro.

Se a sua conta estiver sob análise ou se a capacidade da sua


conta para enviar e-mails for pausada
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.

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.

Por que você recebeu esta notificação


Uma revisão automática ou humana identificou problemas que não estão listados nas seções anteriores
deste documento.

440
Amazon Simple Email Service Guia do desenvolvedor
Criação de alarmes usando o CloudWatch

O que pode ser feito para resolver o problema


Consulte o caso do Support Center que abrimos em seu nome para obter detalhes sobre o problema
específico. Para acessar a Central de Suporte, faça login no AWS Management Console e escolha Support
Center (Central de Suporte). Em sua resposta ao caso, descreva as alterações que você implementou.
Dependendo da sua situação específica e da natureza dos problemas que descobrimos, poderemos
encerrar o período de análise ou restaurar a capacidade de sua conta para enviar e-mails.

Criação de alarmes de monitoramento de reputação


com o CloudWatch
O Amazon SES publica automaticamente uma série de métricas relacionadas à reputação no Amazon
CloudWatch. Você pode usar essas métricas para criar alarmes que notificam quando suas taxas de
devolução ou reclamação atingirem níveis que possa afetar sua capacidade de enviar e-mail.
Note

A parte do CloudWatch dos procedimentos nesta seção destina-se apenas a apresentar as


principais etapas para configurar um alarme do CloudWatch para monitorar a reputação do
remetente SES. Não são exploradas configurações avançadas em relação às configurações
opcionais para alarmes do CloudWatch. Para obter informações sobre o trabalho com os alarmes
do CloudWatch, consulte Using Amazon CloudWatch alarms no Manual do usuário do Amazon
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).

Para criar um alarme do CloudWatch para monitorar a reputação do envio

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

Metrics SNDS para IPs dedicados


Você pode exibir dados de Smart Network Data Services (SNDS) para endereços IP dedicados alugados
em cada Região da AWS onde você usa o Amazon SES. Esses dados de SNDS estão disponíveis por
meio do console do Amazon CloudWatch.

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.

Para exibir dados SNDS para seus endereços IP dedicados

1. Faça login no Amazon CloudWatch e abra o console do CloudWatch em https://


console.aws.amazon.com/cloudwatch/.
2. No painel de navegação, expanda Metrics (Métricas) e escolha All metrics (Todas as métricas).

(As instruções são dadas para a nova interface do console do CloudWatch.)


3. Na guia Browse (Pesquisar) no contêiner Metrics (Métricas), selecione sua Região da AWS e, depois,
escolha SES.
4. Escolha IP Metrics (Métricas de IP), que mostrará todos os seus IPs dedicados rastreados pelo SNDS.

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

Perguntas sobre a solução de problemas


P1. Por que os dados não são preenchidos todos os dias? Qualquer dos seguintes cenários pode se
aplicar:

• Os dados SNDS dependem do programa SNDS do Outlook.


• Há um limite mínimo de e-mails que o SNDS precisa receber para calcular um valor. Os dados podiam
não estar disponíveis nos momentos em que o volume de e-mail em um IP estava baixo.

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.

Pausar automaticamente o envio de e-mails


Para proteger sua reputação de remetente, é possível pausar temporariamente o envio de e-mails para
mensagens enviadas usando conjuntos de configurações específicos ou para todas as mensagens
enviadas a partir de sua conta do Amazon SES em uma região específica da AWS.

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.

Tópicos nesta seção:


• Pausa automática do envio de e-mails para toda a conta do Amazon SES (p. 445)
• Pausar automaticamente o envio de e-mails para um conjunto de configurações (p. 450)

444
Amazon Simple Email Service Guia do desenvolvedor
Para toda a conta

Pausa automática do envio de e-mails para toda a


conta do Amazon SES
Os procedimentos nesta seção explicam as etapas para configurar o Amazon SES, o Amazon SNS, o
Amazon CloudWatch e AWS Lambda para pausar automaticamente o envio de e-mails da sua conta
do Amazon SES 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.

Tópicos nesta seção:


• Parte 1: Criar uma função do IAM (p. 445)
• Parte 2: Criar a função do Lambda (p. 446)
• Parte 3: reativar o envio de e-mail para sua conta (p. 447)
• Parte 4: Criar um tópico do Amazon SNS (p. 447)
• Parte 5: Criar um alarme do CloudWatch (p. 448)
• Parte 6: testar a solução (p. 449)

Parte 1: Criar uma função do IAM


A primeira etapa para configurar a pausa automática de envio de e-mail é criar uma função do IAM que
possa executar a operação de API UpdateAccountSendingEnabled.

Para criar a função do IAM

1. Abra o console do IAM em https://console.aws.amazon.com/iam/.


2. No painel de navegação, selecione Roles.
3. Selecione Create role.
4. Na página Select trusted entity (Selecionar entidade confiável), escolha AWS service (Serviço da
AWS) para Trusted entity type (Tipo de entidade confiável).
5. Em Use case (Caso de uso), escolha Lambda e Next (Próximo).
6. Na página Add permissions (Adicionar permissões), escolha as seguintes políticas:

• AWSLambdaBasicExecutionRole
• AmazonSESFullAccess

Tip

Use a caixa de pesquisa em Permission policies (Políticas de permissão) para localizar


rapidamente essas políticas, mas observe que, depois de pesquisar e selecionar a primeira
política, você deverá escolher Clear filters (Limpar filtros) antes de pesquisar e selecionar a
segunda política.

Em seguida, escolha Avançar.


7. Na página Name, review, and create (Fornecer nome, revisar e criar), em Role details (Detalhes da
função), insira um nome significativo para a política no campo Role name (Nome da função).
8. Verifique se as duas políticas selecionadas estão listadas na tabela Permissions policy summary
(Resumo de políticas de permissões) e escolha Create role (Criar função).

445
Amazon Simple Email Service Guia do desenvolvedor
Para toda a conta

Parte 2: Criar a função do Lambda


Depois de criar uma função do IAM, você pode criar a função do Lambda que pausa o envio de e-mails
para sua conta.

Como criar a função do Lambda

1. Abra o console do AWS Lambda em https://console.aws.amazon.com/lambda/.


2. Use o seletor de regiões para escolher a região onde você deseja implantar esta função do Lambda.
Note

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:

• Em Function name (Nome da função), digite um nome para a função do Lambda.


• Em Runtime (Tempo de execução), escolha Node.js 14x (ou a versão atualmente oferecida na lista
de seleção).
• Em Architecture (Arquitetura), mantenha o padrão pré-selecionado, x86_64.
• Em Permissions (Permissões), amplie Change default execution role (Alterar função de execução
padrão) e escolha Use an existing role (Usar uma função existente).
• Clique no interior da caixa de lista Existing role (Função existente) e escolha a função do IAM criada
em the section called “Parte 1: Criar uma função do IAM” (p. 445).

Em seguida, selecione Create function (Criar função).


6. Em Code source (Fonte do código), no editor de código, cole o seguinte código:

'use strict';

var aws = require('aws-sdk');

// Create a new SES object.


var ses = new aws.SES();

// 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
};

exports.handler = (event, context, callback) => {


// Pause sending for your entire SES account
ses.updateAccountSendingEnabled(params, function(err, data) {
if(err) {
console.log(err.message);
} else {
console.log(data);
}
});
};

Selecione Deploy (Implantar).

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.

Parte 3: reativar o envio de e-mail para sua conta


Um efeito secundário do teste de função do Lambda em the section called “Parte 2: Criar a função do
Lambda” (p. 446) é que o envio de e-mail para sua conta do Amazon SES é pausado. Na maioria dos
casos, não é aconselhável pausar o envio para sua conta enquanto o alarme do CloudWatch não for
acionado.

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.

Para reativar o envio de e-mail

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.

aws ses update-account-sending-enabled --enabled --region sending_region

2. Na linha de comando, digite o seguinte comando para verificar o status de envio de e-mails para a sua
conta:

aws ses get-account-sending-enabled --region sending_region

Se visualizar a saída a seguir, isso significa que conseguiu reativar o envio de e-mail para sua conta:

{
"Enabled": true
}

Parte 4: Criar um tópico do Amazon SNS


Para o CloudWatch executar sua função do Lambda quando um alarme é acionado, primeiro é necessário
cria um tópico do Amazon SNS e assinar a função do Lambda para ele.

Para criaro tópico do Amazon SNS

1. Abra o console do Amazon SNS em https://console.aws.amazon.com/sns/v3/home.


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, escolha Topics (Tópicos).

447
Amazon Simple Email Service Guia do desenvolvedor
Para toda a conta

4. Selecione Create new topic (Criar novo tópico).


5. Na janela Create new topic (Criar novo tópico), em Topic name (Nome do tópico), digite um nome para
o tópico. Opcionalmente, você pode digitar um nome mais descritivo no campo Display name (Nome
de exibição).

Escolha Create topic (Criar tópico).


6. Na lista de tópicos, marque a caixa ao lado do tópico que você criou na etapa anterior. No menu
Actions (Ações), escolha Subscribe to topic (Assinar o tópico).
7. Na janela Create subscription (Criar inscrição), faça as seguintes seleções:

• Para Protocolo, selecione AWS Lambda.


• Em Endpoint, escolha a função do Lambda que você criou em the section called “Parte 2: Criar a
função do Lambda” (p. 446).
• Em Version or alias (Versão ou alias), escolha default (padrão).
8. Selecione Create subscription (Criar inscrição).

Parte 5: Criar um alarme do CloudWatch


Esta seção contém procedimentos para criar um alarme no CloudWatch que é acionado quando uma
métrica atinge determinado limite. Quando o alarme é acionado, ele envia uma notificação ao tópico
do Amazon SNS criado em the section called “Parte 4: Criar um tópico do Amazon SNS” (p. 447)
que, então, executa a função do Lambda criada em the section called “Parte 2: Criar a função do
Lambda” (p. 446).

Criar um alarme do CloudWatch

1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.


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, selecione Alarmes.
4. Escolha Create Alarm (Criar alarme).
5. Na janela Create Alarm (Criar alarme), em SES Metrics (Métricas do SES), escolha Account Metrics
(Métricas da conta).
6. 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 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ê.

Escolha Next (Próximo).


7. Execute as etapas a seguir:

• 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).

Escolha Create Alarm (Criar alarme).

Parte 6: testar a solução


Agora você pode testar o alarme para verificar se ele executa a função do Lambda ao entrar no estado
ALARM. Você pode usar a operação de API SetAlarmState para alterar temporariamente o estado do
alarme.

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.

aws ses get-account-sending-enabled --region region

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

Ao executar esse comando, o status do alarme mudará de OK para ALARM e voltará


para OK em alguns segundos. Você pode visualizar essas alterações de status na
guia History (Histórico) do alarme no console do CloudWatch ou usando a operação
DescribeAlarmHistory.
3. Na linha de comando, digite o comando a seguir para verificar o status de envio de e-mails para a sua
conta.

aws ses get-account-sending-enabled --region region

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

Pausar automaticamente o envio de e-mails para um


conjunto de configurações
Você pode configurar o Amazon SES para exportar as métricas de reputação que são específicas dos e-
mails que são enviados usando um conjunto de configurações específicas do Amazon CloudWatch. Então,
você pode usar essas métricas para criar alarmes do CloudWatch que são específicos desses conjuntos
de configuração. Quando esses alarmes excedem certos limites, você pode pausar automaticamente o
envio de e-mails que usam os conjuntos de configurações específicos, sem afetar os recursos gerais de
envio de e-mails da sua conta do Amazon SES.
Note

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.

Tópicos nesta seção:


• Parte 1: habilitar relatórios de métricas de reputação em um conjunto de configurações (p. 450)
• Parte 2: criar uma função do IAM (p. 450)
• Parte 3: Criar a função do Lambda (p. 451)
• Parte 4: reativar o envio de e-mails para o conjunto de configurações (p. 452)
• Parte 5: Criar um tópico do Amazon SNS (p. 453)
• Parte 6: Criar um alarme do CloudWatch (p. 453)
• Parte 7: testar a solução (p. 454)

Parte 1: habilitar relatórios de métricas de reputação em um


conjunto de configurações
Antes de poder configurar o Amazon SES para pausar automaticamente o envio de e-mails para um
conjunto de configurações, você precisa primeiro habilitar a exportação de métricas de reputação para o
conjunto de configurações.

Para permitir a exportação das métricas de devolução e de reclamação no conjunto de configurações,


conclua as etapas em the section called “Visualizar e exportar métricas de reputação” (p. 286).

Parte 2: criar uma função do IAM


A primeira etapa para configurar a pausa automática de envio de e-mail é criar uma função do IAM que
possa executar a operação de API UpdateConfigurationSetSendingEnabled.

Para criar a função do IAM

1. Abra o console do IAM em https://console.aws.amazon.com/iam/.


2. No painel de navegação, selecione Roles.
3. Selecione Create role.
4. Em Select type of trusted entity (Selecionar o tipo de entidade confiável), escolha AWS service
(serviço).
5. Em Choose the service that will use this role (Escolha o serviço que usará essa função), escolha
Lambda. Escolha Next: Permissions (Próximo: Permissões).
6. Na página Attach permissions policies (Vincular políticas de permissões), escolha as políticas a seguir:

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

Selecione Next: Review (Próximo: revisão).


7. Na página Review (Revisão), em Name (Nome), digite um nome para a função. Selecione Create role
(Criar função).

Parte 3: Criar a função do Lambda


Depois de criar uma função do IAM, você pode criar a função do Lambda que pausa o envio de e-mails
para o conjunto de configurações.

Como criar a função do Lambda

1. Abra o console do AWS Lambda em https://console.aws.amazon.com/lambda/.


2. Use o seletor de regiões para escolher a região onde você deseja implantar esta função do Lambda.
Note

Essa função pausa o envio de e-mails somente para os conjuntos de configuração 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 Author from scratch (Criar do zero), execute as seguintes etapas:

• Em Name (Nome), digite um nome para a função do Lambda.


• Em Runtime (Tempo de execução), escolha Node.js 14x (ou a versão atualmente oferecida na lista
de seleção).
• Em Role (Função), escolha Choose an existing role (Escolha uma função existente).
• Em Existing role (Funçao existente), escolha a função do IAM que você criou em the section called
“Parte 2: criar uma função do IAM” (p. 450).

Escolha Create function (Criar função).


6. Em Function code (Código da função), no editor de código, cole o seguinte código:

'use strict';

var aws = require('aws-sdk');

// Create a new SES object.


var ses = new aws.SES();

// 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
};

exports.handler = (event, context, callback) => {


// Pause sending for a configuration set
ses.updateConfigurationSetSendingEnabled(params, function(err, data) {
if(err) {
console.log(err.message);
} else {
console.log(data);
}
});
};

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.

Parte 4: reativar o envio de e-mails para o conjunto de


configurações
Um efeito secundário do teste de função do Lambda em the section called “Parte 3: Criar a função do
Lambda” (p. 451) é que o envio de e-mails para o conjunto de configurações é pausado. Na maioria
dos casos, não é aconselhável pausar o envio para o conjunto de configurações enquanto o alarme do
CloudWatch não for acionado.

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.

Para reativar o envio de e-mail

1. Na linha de comando, digite o comando a seguir para reabilitar o envio de e-mails para o conjunto de
configurações:

aws ses update-configuration-set-sending-enabled \


--configuration-set-name ConfigSet \
--enabled

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:

aws ses describe-configuration-set \


--configuration-set-name ConfigSet \
--configuration-set-attribute-names reputationOptions

452
Amazon Simple Email Service Guia do desenvolvedor
Para um conjunto de configurações

O comando produz saída semelhante ao seguinte exemplo:

{
"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.

Parte 5: Criar um tópico do Amazon SNS


Para o CloudWatch executar a função do Lambda quando um alarme é acionado, primeiro é necessário
cria um tópico do Amazon SNS e assinar a função do Lambda para ele.

Para criaro tópico do Amazon SNS

1. Abra o console do Amazon SNS em https://console.aws.amazon.com/sns/v3/home.


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, escolha Topics (Tópicos).
4. Selecione Create new topic (Criar novo tópico).
5. Na janela Create new topic (Criar novo tópico), em Topic name (Nome do tópico), digite um nome para
o tópico. Opcionalmente, você pode digitar um nome mais descritivo no campo Display name (Nome
de exibição).

Escolha Create topic (Criar tópico).


6. Na lista de tópicos, marque a caixa ao lado do tópico que você criou na etapa anterior. No menu
Actions (Ações), escolha Subscribe to topic (Assinar o tópico).
7. Na janela Create subscription (Criar inscrição), faça as seguintes seleções:

• Para Protocolo, selecione AWS Lambda.


• Em Endpoint, escolha a função do Lambda que você criou em the section called “Parte 3: Criar a
função do Lambda” (p. 451).
• Em Version or alias (Versão ou alias), escolha default (padrão).
8. Selecione Create subscription (Criar inscrição).

Parte 6: Criar um alarme do CloudWatch


Esta seção contém procedimentos para criar um alarme no CloudWatch que é acionado quando uma
métrica atinge determinado limite. Quando o alarme é acionado, ele envia uma notificação ao tópico
do Amazon SNS criado em the section called “Parte 5: Criar um tópico do Amazon SNS” (p. 453)
que, então, executa a função do Lambda criada em the section called “Parte 3: Criar a função do
Lambda” (p. 451).

Criar um alarme do CloudWatch

1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

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

Escolha Next (Próximo).


7. Execute as etapas a seguir:

• 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).

Escolha Create Alarm.

Parte 7: testar a solução


Agora você pode testar o alarme para verificar se ele executa a função do Lambda ao entrar no estado
ALARM. Use a operação SetAlarmState na API do CloudWatch para alterar temporariamente o estado
do alarme.

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.

Para testar a solução

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:

aws ses describe-configuration-set --configuration-set-name ConfigSet

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:

aws cloudwatch set-alarm-state \


--alarm-name MyAlarm \
--state-value ALARM \
--state-reason "Testing execution of Lambda function"

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

Ao executar esse comando, o status do alarme mudará de OK para ALARM e voltará


para OK em alguns segundos. Você pode visualizar essas alterações de status na
guia History (Histórico) do alarme no console do CloudWatch ou usando a operação
DescribeAlarmHistory.
3. Na linha de comando, digite o comando a seguir para verificar o status de envio de e-mails para o
conjunto de configurações:

aws ses describe-configuration-set \


--configuration-set-name ConfigSet

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
}
}

Se o valor de SendingEnabled for false, o envio de e-mails para o conjunto de configurações é


desabilitado, indicando que a função do Lambda foi executada com êxito.
4. Conclua as etapas em the section called “Parte 4: reativar o envio de e-mails para o conjunto de
configurações” (p. 452) para reativar o envio de e-mails para o conjunto de configurações.

455
Amazon Simple Email Service Guia do desenvolvedor

Exemplos de código para o Amazon


SES usando AWS SDKs
Os exemplos de código a seguir mostram como usar o Amazon SES com um kit de desenvolvimento de
software (SDK) da AWS.

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)

Exemplos de código para o Amazon SES usando


SDKs da AWS
Os exemplos de código a seguir mostram como usar o Amazon SES com um kit de desenvolvimento de
software (SDK) da AWS.

Os exemplos são divididos nas seguintes categorias:

Ações

Trechos de código que mostram como chamar funções de serviço individuais.


Cenários

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

Amostras de aplicações que funcionam em vários Serviços da AWS.

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)

Ações para o Amazon SES usando AWS SDKs


Os exemplos de código a seguir demonstram como realizar ações individuais do Amazon SES com AWS
SDKs. Estes trechos chamam a API do Amazon SES e não devem ser executados isoladamente. Cada
exemplo inclui um link para o GitHub, onde você pode encontrar instruções sobre como configurar e
executar o código no contexto. 458
Amazon Simple Email Service Guia do desenvolvedor
Ações

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)

Criar um filtro de recebimento do Amazon SES usando um AWS


SDK
O exemplo de código a seguir mostra como criar um filtro de recebimento do Amazon SES que bloqueia e-
mails recebidos de um endereço IP ou de um intervalo de endereços IP.

Python

SDK para Python (Boto3).


Tip

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

def create_receipt_filter(self, filter_name, ip_address_or_range, allow):


"""
Creates a filter that allows or blocks incoming mail from an IP address or
range.

:param filter_name: The name to give the filter.


:param ip_address_or_range: The IP address or range to block or allow.
:param allow: When True, incoming mail is allowed from the specified IP
address or range; otherwise, it is blocked.
"""
try:
policy = 'Allow' if allow else 'Block'
self.ses_client.create_receipt_filter(
Filter={
'Name': filter_name,
'IpFilter': {
'Cidr': ip_address_or_range,
'Policy': policy}})
logger.info(
"Created receipt filter %s to %s IP of %s.", filter_name, policy,
ip_address_or_range)
except ClientError:
logger.exception("Couldn't create receipt filter %s.", filter_name)
raise

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

Criar uma regra de recebimento do Amazon SES usando um


AWS SDK
O exemplo de código a seguir mostra como criar uma regra de recebimento do Amazon SES.

Python

SDK para Python (Boto3).


Tip

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

def create_bucket_for_copy(self, bucket_name):

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.

:param bucket_name: The name of the bucket to create.


:return: The newly created bucket.
"""
allow_ses_put_policy = {
"Version": "2012-10-17",
"Statement": [{
"Sid": "AllowSESPut",
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"},
"Action": "s3:PutObject",
"Resource": f"arn:aws:s3:::{bucket_name}/*"}]}
bucket = None
try:
bucket = self.s3_resource.create_bucket(
Bucket=bucket_name,
CreateBucketConfiguration={
'LocationConstraint':
self.s3_resource.meta.client.meta.region_name})
bucket.wait_until_exists()
bucket.Policy().put(Policy=json.dumps(allow_ses_put_policy))
logger.info("Created bucket %s to receive copies of emails.",
bucket_name)
except ClientError:
logger.exception("Couldn't create bucket to receive copies of emails.")
if bucket is not None:
bucket.delete()
raise
else:
return 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.

:param rule_set_name: The name of a previously created rule set to contain


this rule.
:param rule_name: The name to give the rule.
:param recipients: When an email is received by one of these recipients, it
is copied to the Amazon S3 bucket.
:param bucket_name: The name of the bucket to receive email copies. This
bucket must allow Amazon SES to put objects into it.
:param prefix: An object key prefix to give the emails copied to the
bucket.
"""
try:
self.ses_client.create_receipt_rule(
RuleSetName=rule_set_name,
Rule={
'Name': rule_name,
'Enabled': True,
'Recipients': recipients,
'Actions': [{
'S3Action': {
'BucketName': bucket_name,
'ObjectKeyPrefix': prefix
}}]})
logger.info(
"Created rule %s to copy mail received by %s to bucket %s.",

461
Amazon Simple Email Service Guia do desenvolvedor
Ações

rule_name, recipients, bucket_name)


except ClientError:
logger.exception("Couldn't create rule %s.", rule_name)
raise

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

Criar um conjunto de regras de recebimento do Amazon SES


usando um AWS SDK
O exemplo de código a seguir mostra como criar um conjunto de regras de recebimento do Amazon SES
para organizar as regras aplicadas aos e-mails recebidos.

Python

SDK para Python (Boto3).


Tip

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

def create_receipt_rule_set(self, rule_set_name):


"""
Creates an empty rule set. Rule sets contain individual rules and can be
used to organize rules.

:param rule_set_name: The name to give the rule set.


"""
try:
self.ses_client.create_receipt_rule_set(RuleSetName=rule_set_name)
logger.info("Created receipt rule set %s.", rule_set_name)
except ClientError:
logger.exception("Couldn't create receipt rule set %s.", rule_set_name)
raise

• 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

Criar um modelo de e-mail do Amazon SES usando um AWS


SDK
Os exemplos de código a seguir mostram como criar um modelo de e-mail do Amazon SES.

.NET

AWS SDK for .NET


Tip

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

SDK para Python (Boto3).


Tip

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 _extract_tags(self, subject, text, html):


"""
Extracts tags from a template as a set of unique values.

:param subject: The subject of the email.


:param text: The text version of the email.
:param html: The html version of the email.
"""
self.template_tags = set(re.findall(TEMPLATE_REGEX, subject + text + html))
logger.info("Extracted template tags: %s", self.template_tags)

def create_template(self, name, subject, text, html):


"""
Creates an email template.

:param name: The name of the template.


:param subject: The subject of the email.
:param text: The plain text version of the email.
:param html: The HTML version of the email.
"""
try:
template = {
'TemplateName': name,
'SubjectPart': subject,
'TextPart': text,
'HtmlPart': html}
self.ses_client.create_template(Template=template)
logger.info("Created template %s.", name)
self.template = template
self._extract_tags(subject, text, html)
except ClientError:
logger.exception("Couldn't create template %s.", name)
raise

• 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

Excluir um filtro de recebimento do Amazon SES usando um


AWS SDK
O exemplo de código a seguir mostra como excluir um filtro de recebimento do Amazon SES.

Python

SDK para Python (Boto3).


Tip

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

def delete_receipt_filter(self, filter_name):


"""
Deletes a receipt filter.

:param filter_name: The name of the filter to delete.


"""
try:
self.ses_client.delete_receipt_filter(FilterName=filter_name)
logger.info("Deleted receipt filter %s.", filter_name)
except ClientError:
logger.exception("Couldn't delete receipt filter %s.", filter_name)
raise

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

Excluir uma regra de recebimento do Amazon SES usando um


AWS SDK
O exemplo de código a seguir mostra como excluir uma regra de recebimento do Amazon SES.

Python

SDK para Python (Boto3).


Tip

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

def delete_receipt_rule(self, rule_set_name, rule_name):


"""
Deletes a rule.

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

Excluir um conjunto de regras do Amazon SES usando um AWS


SDK
O exemplo de código a seguir mostra como excluir um conjunto de regras do Amazon SES e todas as
regras contidas nesse conjunto.

Python

SDK para Python (Boto3).


Tip

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

def delete_receipt_rule_set(self, rule_set_name):


"""
Deletes a rule set. When a rule set is deleted, all of the rules it
contains
are also deleted.

:param rule_set_name: The name of the rule set to delete.


"""
try:
self.ses_client.delete_receipt_rule_set(RuleSetName=rule_set_name)
logger.info("Deleted rule set %s.", rule_set_name)
except ClientError:
logger.exception("Couldn't delete rule set %s.", rule_set_name)
raise

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

Excluir um modelo de e-mail do Amazon SES usando um AWS


SDK
Os exemplos de código a seguir mostram como excluir um modelo de e-mail do Amazon SES.

.NET

AWS SDK for .NET


Tip

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

SDK para Python (Boto3).


Tip

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 _extract_tags(self, subject, text, html):


"""
Extracts tags from a template as a set of unique values.

:param subject: The subject of the email.


:param text: The text version of the email.
:param html: The html version of the email.
"""
self.template_tags = set(re.findall(TEMPLATE_REGEX, subject + text + html))
logger.info("Extracted template tags: %s", self.template_tags)

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

Excluir uma identidade do Amazon SES usando um AWS SDK


Os exemplos de código a seguir mostram como excluir uma identidade do Amazon SES.

.NET

AWS SDK for .NET


Tip

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

SDK para Python (Boto3).


Tip

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

def delete_identity(self, identity):

469
Amazon Simple Email Service Guia do desenvolvedor
Ações

"""
Deletes an identity.

:param identity: The identity to remove.


"""
try:
self.ses_client.delete_identity(Identity=identity)
logger.info("Deleted identity %s.", identity)
except ClientError:
logger.exception("Couldn't delete identity %s.", identity)
raise

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

Descrever um conjunto de regras de recebimento do Amazon


SES usando um AWS SDK
O exemplo de código a seguir mostra como descrever um conjunto de regras de recebimento do Amazon
SES.

Python

SDK para Python (Boto3).


Tip

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

def describe_receipt_rule_set(self, rule_set_name):


"""
Gets data about a rule set.

:param rule_set_name: The name of the rule set to retrieve.


:return: Data about the rule set.
"""
try:
response = self.ses_client.describe_receipt_rule_set(
RuleSetName=rule_set_name)
logger.info("Got data for rule set %s.", rule_set_name)
except ClientError:
logger.exception("Couldn't get data for rule set %s.", rule_set_name)
raise
else:
return response

470
Amazon Simple Email Service Guia do desenvolvedor
Ações

• Para ver os detalhes da API, consulte DescribeReceiptRuleSet 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.

Obter um modelo existente de e-mail do Amazon SES usando


um AWS SDK
O exemplo de código a seguir mostra como obter um modelo existente de e-mail do Amazon SES.

Python

SDK para Python (Boto3).


Tip

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 _extract_tags(self, subject, text, html):


"""
Extracts tags from a template as a set of unique values.

:param subject: The subject of the email.


:param text: The text version of the email.
:param html: The html version of the email.
"""
self.template_tags = set(re.findall(TEMPLATE_REGEX, subject + text + html))
logger.info("Extracted template tags: %s", self.template_tags)

def get_template(self, name):


"""
Gets a previously created email template.

:param name: The name of the template to retrieve.


:return: The retrieved email template.
"""
try:
response = self.ses_client.get_template(TemplateName=name)
self.template = response['Template']
logger.info("Got template %s.", name)
self._extract_tags(
self.template['SubjectPart'], self.template['TextPart'],
self.template['HtmlPart'])
except ClientError:
logger.exception("Couldn't get template %s.", name)
raise
else:

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.

Obter limites de envio do Amazon SES usando um AWS SDK


O exemplo de código a seguir mostra como obter limites de envio do Amazon SES.

.NET

AWS SDK for .NET


Tip

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.

Obter o status de uma identidade do Amazon SES usando um


AWS SDK
Os exemplos de código a seguir mostram como obter o status de uma identidade do Amazon SES.

472
Amazon Simple Email Service Guia do desenvolvedor
Ações

.NET

AWS SDK for .NET


Tip
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

/// <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;
}

• Para obter os detalhes da API, consulte GetIdentityVerificationAttributes na Referência de API


do AWS SDK for .NET.

Python

SDK para Python (Boto3).


Tip
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

def get_identity_status(self, identity):


"""
Gets the status of an identity. This can be used to discover whether

473
Amazon Simple Email Service Guia do desenvolvedor
Ações

an identity has been successfully verified.

:param identity: The identity to query.


:return: The status of the identity.
"""
try:
response = self.ses_client.get_identity_verification_attributes(
Identities=[identity])
status = response['VerificationAttributes'].get(
identity, {'VerificationStatus': 'NotFound'})['VerificationStatus']
logger.info("Got status of %s for %s.", status, identity)
except ClientError:
logger.exception("Couldn't get status for %s.", identity)
raise
else:
return status

• Para ver os detalhes da API, consulte GetIdentityVerificationAttributes 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.

Listar modelos de e-mail do Amazon SES usando um AWS SDK


Os exemplos de código a seguir mostram como listar modelos de e-mail do Amazon SES.

.NET

AWS SDK for .NET


Tip

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

SDK para Java 2.x


Tip
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

public static void listAllTemplates(SesV2Client sesv2Client) {

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

SDK para Python (Boto3).


Tip
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 _extract_tags(self, subject, text, html):


"""
Extracts tags from a template as a set of unique values.

:param subject: The subject of the email.


:param text: The text version of the email.
:param html: The html version of the email.
"""

475
Amazon Simple Email Service Guia do desenvolvedor
Ações

self.template_tags = set(re.findall(TEMPLATE_REGEX, subject + text + html))


logger.info("Extracted template tags: %s", self.template_tags)

def list_templates(self):
"""
Gets a list of all email templates for the current account.

:return: The list of retrieved email templates.


"""
try:
response = self.ses_client.list_templates()
templates = response['TemplatesMetadata']
logger.info("Got %s templates.", len(templates))
except ClientError:
logger.exception("Couldn't get templates.")
raise
else:
return templates

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

Listar identidades do Amazon SES usando um AWS SDK


Os exemplos de código a seguir mostram como listar identidades do Amazon SES.

.NET

AWS SDK for .NET


Tip
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

/// <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

SDK para Java 2.x


Tip
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

public static void listSESIdentities(SesClient client) {

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

SDK para JavaScript V3


Tip
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

import { ListIdentitiesCommand } from "@aws-sdk/client-ses";


import { sesClient } from "./libs/sesClient.js";

const createListIdentitiesCommand = () =>


new ListIdentitiesCommand({ IdentityType: "EmailAddress", MaxItems: 10 });

const run = async () => {


const listIdentitiesCommmand = createListIdentitiesCommand();

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

SDK para Python (Boto3).


Tip
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

def list_identities(self, identity_type, max_items):


"""
Gets the identities of the specified type for the current account.

:param identity_type: The type of identity to retrieve, such as


EmailAddress.
:param max_items: The maximum number of identities to retrieve.
:return: The list of retrieved identities.
"""
try:
response = self.ses_client.list_identities(
IdentityType=identity_type, MaxItems=max_items)
identities = response['Identities']
logger.info("Got %s identities for the current account.",
len(identities))
except ClientError:
logger.exception("Couldn't list identities for the current account.")
raise
else:
return identities

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

Listar filtros de recebimento do Amazon SES usando um AWS


SDK
O exemplo de código a seguir mostra como listar filtros de recebimento do Amazon SES.

Python

SDK para Python (Boto3).


Tip
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

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.

:return: The list of receipt filters.


"""
try:
response = self.ses_client.list_receipt_filters()
filters = response['Filters']
logger.info("Got %s receipt filters.", len(filters))
except ClientError:
logger.exception("Couldn't get receipt filters.")
raise
else:
return filters

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

Enviar e-mails com o Amazon SES usando um AWS SDK


Os exemplos de código a seguir mostram como enviar e-mails com o Amazon SES.

.NET

AWS SDK for .NET


Tip

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

List<string> ccAddresses, List<string> bccAddresses,


string bodyHtml, string bodyText, string subject, string senderAddress)
{
var messageId = "";
try
{
var response = await _amazonSimpleEmailService.SendEmailAsync(
new SendEmailRequest
{
Destination = new Destination
{
BccAddresses = bccAddresses,
CcAddresses = ccAddresses,
ToAddresses = toAddresses
},
Message = new Message
{
Body = new Body
{
Html = new Content
{
Charset = "UTF-8",
Data = bodyHtml
},
Text = new Content
{
Charset = "UTF-8",
Data = bodyText
}
},
Subject = new Content
{
Charset = "UTF-8",
Data = subject
}
},
Source = senderAddress
});
messageId = response.MessageId;
}
catch (Exception ex)
{
Console.WriteLine("SendEmailAsync failed with exception: " +
ex.Message);
}

return messageId;
}

• Para ver os detalhes da API, consulte SendEmail na referência de API do AWS SDK for .NET.

Java

SDK para Java 2.x


Tip

Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

public static void send(SesClient client,

480
Amazon Simple Email Service Guia do desenvolvedor
Ações

String sender,
String recipient,
String subject,
String bodyHTML
) throws MessagingException {

Destination destination = Destination.builder()


.toAddresses(recipient)
.build();

Content content = Content.builder()


.data(bodyHTML)
.build();

Content sub = Content.builder()


.data(subject)
.build();

Body body = Body.builder()


.html(content)
.build();

Message msg = Message.builder()


.subject(sub)
.body(body)
.build();

SendEmailRequest emailRequest = SendEmailRequest.builder()


.destination(destination)
.message(msg)
.source(sender)
.build();

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);
}
}

public static void sendemailAttachment(SesClient client,


String sender,
String recipient,
String subject,
String bodyText,
String bodyHTML,
String fileLocation) throws AddressException,
MessagingException, IOException {

java.io.File theFile = new java.io.File(fileLocation);


byte[] fileContent = Files.readAllBytes(theFile.toPath());

Session session = Session.getDefaultInstance(new Properties());

// Create a new MimeMessage object.


MimeMessage message = new MimeMessage(session);

// Add subject, from and to lines.


message.setSubject(subject, "UTF-8");
message.setFrom(new InternetAddress(sender));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(recipient));

481
Amazon Simple Email Service Guia do desenvolvedor
Ações

// Create a multipart/alternative child container.


MimeMultipart msgBody = new MimeMultipart("alternative");

// Create a wrapper for the HTML and text parts.


MimeBodyPart wrap = new MimeBodyPart();

// Define the text part.


MimeBodyPart textPart = new MimeBodyPart();
textPart.setContent(bodyText, "text/plain; charset=UTF-8");

// Define the HTML part.


MimeBodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(bodyHTML, "text/html; charset=UTF-8");

// Add the text and HTML parts to the child container.


msgBody.addBodyPart(textPart);
msgBody.addBodyPart(htmlPart);

// Add the child container to the wrapper object.


wrap.setContent(msgBody);

// Create a multipart/mixed parent container.


MimeMultipart msg = new MimeMultipart("mixed");

// Add the parent container to the message.


message.setContent(msg);
msg.addBodyPart(wrap);

// Define the attachment.


MimeBodyPart att = new MimeBodyPart();
DataSource fds = new ByteArrayDataSource(fileContent, "application/
vnd.openxmlformats-officedocument.spreadsheetml.sheet");
att.setDataHandler(new DataHandler(fds));

String reportName = "WorkReport.xls";


att.setFileName(reportName);

// Add the attachment to the message.


msg.addBodyPart(att);

try {
System.out.println("Attempting to send an email through Amazon SES " +
"using the AWS SDK for Java...");

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();


message.writeTo(outputStream);

ByteBuffer buf = ByteBuffer.wrap(outputStream.toByteArray());

byte[] arr = new byte[buf.remaining()];


buf.get(arr);

SdkBytes data = SdkBytes.fromByteArray(arr);


RawMessage rawMessage = RawMessage.builder()
.data(data)
.build();

SendRawEmailRequest rawEmailRequest = SendRawEmailRequest.builder()


.rawMessage(rawMessage)
.build();

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

SDK para Python (Boto3).


Tip

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_email(self, source, destination, subject, text, html, reply_tos=None):


"""
Sends an email.

Note: If your account is in the Amazon SES sandbox, the source and
destination email accounts must both be verified.

:param source: The source email account.


:param destination: The destination email account.
:param subject: The subject of the email.
:param text: The plain text version of the body of the email.
:param html: The HTML version of the body of the email.
:param reply_tos: Email accounts that will receive a reply if the recipient
replies to the message.
:return: The ID of the message, assigned by Amazon SES.
"""
send_args = {
'Source': source,
'Destination': destination.to_service_format(),
'Message': {
'Subject': {'Data': subject},
'Body': {'Text': {'Data': text}, 'Html': {'Data': html}}}}
if reply_tos is not None:
send_args['ReplyToAddresses'] = reply_tos
try:
response = self.ses_client.send_email(**send_args)
message_id = response['MessageId']
logger.info(
"Sent mail %s from %s to %s.", message_id, source, destination.tos)
except ClientError:
logger.exception(
"Couldn't send mail from %s to %s.", source, destination.tos)
raise
else:
return message_id

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.

Enviar e-mails com base em modelo com o Amazon SES usando


um AWS SDK
Os exemplos de código a seguir mostram como enviar e-mails com base em modelo com o Amazon SES.

.NET

AWS SDK for .NET


Tip

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);

var response = await _amazonSimpleEmailService.SendTemplatedEmailAsync(


new SendTemplatedEmailRequest
{
Source = sender,
Destination = new Destination
{
ToAddresses = recipients
},
Template = templateName,
TemplateData = templateData
});
messageId = response.MessageId;
}
catch (Exception ex)
{
Console.WriteLine("SendTemplateEmailAsync failed with exception: " +
ex.Message);
}

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

SDK para Java 2.x


Tip

Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

public static void send(SesV2Client client, String sender, String recipient,


String templateName){

Destination destination = Destination.builder()


.toAddresses(recipient)
.build();

/*
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();

EmailContent emailContent = EmailContent.builder()


.template(myTemplate)
.build();

SendEmailRequest emailRequest = SendEmailRequest.builder()


.destination(destination)
.content(emailContent)
.fromEmailAddress(sender)
.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

SDK para Python (Boto3).


Tip

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.

:paramsource: The source email account.


:paramdestination: The destination email account.
:paramtemplate_name: The name of a previously created template.
:paramtemplate_data: JSON-formatted key-value pairs of replacement values
that are inserted in the template before it is sent.
:return: The ID of the message, assigned by Amazon SES.
"""
send_args = {
'Source': source,
'Destination': destination.to_service_format(),
'Template': template_name,
'TemplateData': json.dumps(template_data)
}
if reply_tos is not None:
send_args['ReplyToAddresses'] = reply_tos
try:
response = self.ses_client.send_templated_email(**send_args)
message_id = response['MessageId']
logger.info(
"Sent templated mail %s from %s to %s.", message_id, source,
destination.tos)
except ClientError:
logger.exception(
"Couldn't send templated mail from %s to %s.", source,
destination.tos)
raise
else:
return message_id

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

Atualizar um modelo de e-mail do Amazon SES usando um AWS


SDK
O exemplo de código a seguir mostra como atualizar um modelo de e-mail do Amazon SES.

Python

SDK para Python (Boto3).


Tip

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 _extract_tags(self, subject, text, html):


"""
Extracts tags from a template as a set of unique values.

:param subject: The subject of the email.


:param text: The text version of the email.
:param html: The html version of the email.
"""
self.template_tags = set(re.findall(TEMPLATE_REGEX, subject + text + html))
logger.info("Extracted template tags: %s", self.template_tags)

def update_template(self, name, subject, text, html):


"""
Updates a previously created email template.

:param name: The name of the template.


:param subject: The subject of the email.
:param text: The plain text version of the email.
:param html: The HTML version of the email.
"""
try:
template = {
'TemplateName': name,
'SubjectPart': subject,
'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

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.

Verificar uma identidade de domínio com o Amazon SES usando


um AWS SDK
O exemplo de código a seguir mostra como verificar uma identidade de domínio com o Amazon SES.

Python

SDK para Python (Boto3).


Tip

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

def verify_domain_identity(self, domain_name):


"""
Starts verification of a domain identity. To complete verification, you
must
create a TXT record with a specific format through your DNS provider.

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

:param domain_name: The name of the domain to verify.


:return: The token to include in the TXT record with your DNS provider.
"""
try:
response = self.ses_client.verify_domain_identity(Domain=domain_name)
token = response['VerificationToken']
logger.info("Got domain verification token for %s.", domain_name)
except ClientError:
logger.exception("Couldn't verify domain %s.", domain_name)
raise
else:
return token

• 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

Verificar uma identidade de e-mail com o Amazon SES usando


um AWS SDK
Os exemplos de código a seguir mostram como verificar uma identidade de e-mail com o Amazon SES.

.NET

AWS SDK for .NET


Tip
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

/// <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
});

success = response.HttpStatusCode == HttpStatusCode.OK;


}
catch (Exception ex)
{
Console.WriteLine("VerifyEmailIdentityAsync failed with exception: " +
ex.Message);
}

return success;
}

• Para obter os detalhes da API, consulte VerifyEmailIdentity na Referência de API do AWS SDK
for .NET.

Python

SDK para Python (Boto3).


Tip
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):
"""

489
Amazon Simple Email Service Guia do desenvolvedor
Cenários

:param ses_client: A Boto3 Amazon SES client.


"""
self.ses_client = ses_client

def verify_email_identity(self, email_address):


"""
Starts verification of an email identity. This function causes an email
to be sent to the specified email address from Amazon SES. To complete
verification, follow the instructions in the email.

:param email_address: The email address to verify.


"""
try:
self.ses_client.verify_email_identity(EmailAddress=email_address)
logger.info("Started verification of %s.", email_address)
except ClientError:
logger.exception("Couldn't start verification of %s.", email_address)
raise

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

Cenários para o Amazon SES usando AWS SDKs


Os exemplos de código a seguir mostram como implementar cenários comuns no Amazon SES com
AWS SDKs. Esses cenários mostram como realizar tarefas específicas chamando várias funções no
Amazon SES. Cada exemplo inclui um link para o GitHub, onde você pode encontrar instruções sobre
como configurar e executar o código.

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)

Copiar identidades de domínio e e-mail do Amazon SES de uma


região da AWS para outra usando um AWS SDK
O exemplo de código a seguir mostra como copiar as identidades de domínio e e-mail do Amazon SES
de uma região da AWS para outra. Quando as identidades de domínio são gerenciadas pelo Route 53, os
registros de verificação são copiados para o domínio da região de destino.

Python

SDK para Python (Boto3).


Tip
Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

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.

:param ses_client: A Boto3 Amazon SES client.


:return: The list of email identities and the list of domain identities.
"""
email_identities = []
domain_identities = []
try:
identity_paginator = ses_client.get_paginator('list_identities')
identity_iterator = identity_paginator.paginate(
PaginationConfig={'PageSize': 20})
for identity_page in identity_iterator:
for identity in identity_page['Identities']:
if '@' in identity:
email_identities.append(identity)
else:
domain_identities.append(identity)
logger.info(
"Found %s email and %s domain identities.", len(email_identities),
len(domain_identities))
except ClientError:
logger.exception("Couldn't get identities.")
raise
else:
return email_identities, domain_identities

def verify_emails(email_list, ses_client):


"""
Starts verification of a list of email addresses. Verification causes an email
to be sent to each address. To complete verification, the recipient must follow
the instructions in the email.

:param email_list: The list of email addresses to verify.


:param ses_client: A Boto3 Amazon SES client.
:return: The list of emails that were successfully submitted for verification.
"""
verified_emails = []
for email in email_list:
try:
ses_client.verify_email_identity(EmailAddress=email)
verified_emails.append(email)
logger.info("Started verification of %s.", email)
except ClientError:
logger.warning("Couldn't start verification of %s.", email)
return verified_emails

def verify_domains(domain_list, ses_client):


"""
Starts verification for a list of domain identities. This returns a token for
each domain, which must be registered as a TXT record with the DNS provider for
the domain.

491
Amazon Simple Email Service Guia do desenvolvedor
Cenários

:param domain_list: The list of domains to verify.


:param ses_client: A Boto3 Amazon SES client.
:return: The generated domain tokens to use to completed verification.
"""
domain_tokens = {}
for domain in domain_list:
try:
response = ses_client.verify_domain_identity(Domain=domain)
token = response['VerificationToken']
domain_tokens[domain] = token
logger.info("Got verification token %s for domain %s.", token, domain)
except ClientError:
logger.warning("Couldn't get verification token for domain %s.",
domain)
return domain_tokens

def get_hosted_zones(route53_client):
"""
Gets the Amazon Route 53 hosted zones for the current account.

:param route53_client: A Boto3 Route 53 client.


:return: The list of hosted zones.
"""
zones = []
try:
zone_paginator = route53_client.get_paginator('list_hosted_zones')
zone_iterator = zone_paginator.paginate(PaginationConfig={'PageSize': 20})
zones = [
zone for zone_page in zone_iterator for zone in
zone_page['HostedZones']]
logger.info("Found %s hosted zones.", len(zones))
except ClientError:
logger.warning("Couldn't get hosted zones.")
return zones

def find_domain_zone_matches(domains, zones):


"""
Finds matches between Amazon SES verified domains and Route 53 hosted zones.
Subdomain matches are taken when found, otherwise root domain matches are
taken.

:param domains: The list of domains to match.


:param zones: The list of hosted zones to match.
:return: The set of matched domain-zone pairs. When a match is not found, the
domain is included in the set with a zone value of None.
"""
domain_zones = {}
for domain in domains:
domain_zones[domain] = None
# Start at the most specific sub-domain and walk up to the root domain
until a
# zone match is found.
domain_split = domain.split('.')
for index in range(0, len(domain_split) - 1):
sub_domain = '.'.join(domain_split[index:])
for zone in zones:
# Normalize the zone name from Route 53 by removing the trailing
'.'.
zone_name = zone['Name'][:-1]
if sub_domain == zone_name:
domain_zones[domain] = zone
break
if domain_zones[domain] is not None:
break

492
Amazon Simple Email Service Guia do desenvolvedor
Cenários

return domain_zones

def add_route53_verification_record(domain, token, zone, route53_client):


"""
Adds a domain verification TXT record to the specified Route 53 hosted zone.
When a TXT record already exists in the hosted zone for the specified domain,
the existing values are preserved and the new token is added to the list.

:param domain: The domain to add.


:param token: The verification token for the domain.
:param zone: The hosted zone where the domain verification record is added.
:param route53_client: A Boto3 Route 53 client.
"""
domain_token_record_set_name = f'_amazonses.{domain}'
record_set_paginator = route53_client.get_paginator(
'list_resource_record_sets')
record_set_iterator = record_set_paginator.paginate(
HostedZoneId=zone['Id'], PaginationConfig={'PageSize': 20})
records = []
for record_set_page in record_set_iterator:
try:
txt_record_set = next(
record_set for record_set
in record_set_page['ResourceRecordSets']
if record_set['Name'][:-1] == domain_token_record_set_name and
record_set['Type'] == 'TXT')
records = txt_record_set['ResourceRecords']
logger.info(
"Existing TXT record found in set %s for zone %s.",
domain_token_record_set_name, zone['Name'])
break
except StopIteration:
pass
records.append({'Value': json.dumps(token)})
changes = [{
'Action': 'UPSERT',
'ResourceRecordSet': {
'Name': domain_token_record_set_name,
'Type': 'TXT',
'TTL': 1800,
'ResourceRecords': records}}]
try:
route53_client.change_resource_record_sets(
HostedZoneId=zone['Id'], ChangeBatch={'Changes': changes})
logger.info(
"Created or updated the TXT record in set %s for zone %s.",
domain_token_record_set_name, zone['Name'])
except ClientError as err:
logger.warning(
"Got error %s. Couldn't create or update the TXT record for zone %s.",
err.response['Error']['Code'], zone['Name'])

def generate_dkim_tokens(domain, ses_client):


"""
Generates DKIM tokens for a domain. These must be added as CNAME records to the
DNS provider for the domain.

:param domain: The domain to generate tokens for.


:param ses_client: A Boto3 Amazon SES client.
:return: The list of generated DKIM tokens.
"""
dkim_tokens = []
try:
dkim_tokens = ses_client.verify_domain_dkim(Domain=domain)['DkimTokens']

493
Amazon Simple Email Service Guia do desenvolvedor
Cenários

logger.info("Generated %s DKIM tokens for domain %s.", len(dkim_tokens),


domain)
except ClientError:
logger.warning("Couldn't generate DKIM tokens for domain %s.", domain)
return dkim_tokens

def add_dkim_domain_tokens(hosted_zone, domain, tokens, route53_client):


"""
Adds DKIM domain token CNAME records to a Route 53 hosted zone.

: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'])

def configure_sns_topics(identity, topics, ses_client):


"""
Configures Amazon Simple Notification Service (Amazon SNS) notifications for
an identity. The Amazon SNS topics must already exist.

:param identity: The identity to configure.


:param topics: The list of topics to configure. The choices are Bounce,
Delivery,
or Complaint.
:param ses_client: A Boto3 Amazon SES client.
"""
for topic in topics:
topic_arn = input(
f"Enter the Amazon Resource Name (ARN) of the {topic} topic or press "
f"Enter to skip: ")
if topic_arn != '':
try:
ses_client.set_identity_notification_topic(
Identity=identity, NotificationType=topic, SnsTopic=topic_arn)
logger.info("Configured %s for %s notifications.", identity, topic)
except ClientError:
logger.warning(
"Couldn't configure %s for %s notifications.", identity, topic)

def replicate(source_client, destination_client, route53_client):


logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s')

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)

print(f"Retrieving identities from {source_client.meta.region_name}.")


source_emails, source_domains = get_identities(source_client)
print("Email addresses found:")
print(*source_emails)
print("Domains found:")
print(*source_domains)

print("Starting verification for email identities.")


dest_emails = verify_emails(source_emails, destination_client)
print("Getting domain tokens for domain identities.")
dest_domain_tokens = verify_domains(source_domains, destination_client)

# 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)

print(f"Replication complete for {destination_client.meta.region_name}.")


print('-'*88)

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.

Gerar credenciais para estabelecer conexão com um endpoint


SMTP do Amazon SES
O exemplo de código a seguir mostra como gerar credenciais para estabelecer conexão com um endpoint
SMTP do Amazon SES.

Python

SDK para Python (Boto3).


Tip

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 sign(key, msg):


return hmac.new(key, msg.encode('utf-8'), hashlib.sha256).digest()

def calculate_key(secret_access_key, region):


if region not in SMTP_REGIONS:
raise ValueError(f"The {region} Region doesn't have an SMTP endpoint.")

signature = sign(("AWS4" + secret_access_key).encode('utf-8'), DATE)


signature = sign(signature, region)
signature = sign(signature, SERVICE)
signature = sign(signature, TERMINAL)
signature = sign(signature, MESSAGE)
signature_and_version = bytes([VERSION]) + signature
smtp_password = base64.b64encode(signature_and_version)
return smtp_password.decode('utf-8')

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.

Verificar uma identidade de e-mail e enviar mensagens com o


Amazon SES usando um AWS SDK
O código de exemplo a seguir mostra como:

• Adicione e verifique um endereço de e-mail com o Amazon SES.


• Envie uma mensagem de e-mail padrão.
• Crie um modelo e envie uma mensagem de e-mail com modelo.
• Envie uma mensagem usando um servidor SMTP do Amazon SES.

Python

SDK para Python (Boto3).


Tip

Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

Crie funções para encapsular ações de identidade do Amazon SES.

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

def verify_domain_identity(self, domain_name):


"""
Starts verification of a domain identity. To complete verification, you
must
create a TXT record with a specific format through your DNS provider.

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

:param domain_name: The name of the domain to verify.


:return: The token to include in the TXT record with your DNS provider.
"""
try:
response = self.ses_client.verify_domain_identity(Domain=domain_name)
token = response['VerificationToken']
logger.info("Got domain verification token for %s.", domain_name)
except ClientError:
logger.exception("Couldn't verify domain %s.", domain_name)
raise
else:
return token

498
Amazon Simple Email Service Guia do desenvolvedor
Cenários

def verify_email_identity(self, email_address):


"""
Starts verification of an email identity. This function causes an email
to be sent to the specified email address from Amazon SES. To complete
verification, follow the instructions in the email.

:param email_address: The email address to verify.


"""
try:
self.ses_client.verify_email_identity(EmailAddress=email_address)
logger.info("Started verification of %s.", email_address)
except ClientError:
logger.exception("Couldn't start verification of %s.", email_address)
raise

def wait_until_identity_exists(self, identity):


"""
Waits until an identity exists. The waiter polls Amazon SES until the
identity has been successfully verified or until it exceeds its maximum
time.

:param identity: The identity to wait for.


"""
try:
waiter = self.ses_client.get_waiter('identity_exists')
logger.info("Waiting until %s exists.", identity)
waiter.wait(Identities=[identity])
except WaiterError:
logger.error("Waiting for identity %s failed or timed out.", identity)
raise

def get_identity_status(self, identity):


"""
Gets the status of an identity. This can be used to discover whether
an identity has been successfully verified.

:param identity: The identity to query.


:return: The status of the identity.
"""
try:
response = self.ses_client.get_identity_verification_attributes(
Identities=[identity])
status = response['VerificationAttributes'].get(
identity, {'VerificationStatus': 'NotFound'})['VerificationStatus']
logger.info("Got status of %s for %s.", status, identity)
except ClientError:
logger.exception("Couldn't get status for %s.", identity)
raise
else:
return status

def delete_identity(self, identity):


"""
Deletes an identity.

:param identity: The identity to remove.


"""
try:
self.ses_client.delete_identity(Identity=identity)
logger.info("Deleted identity %s.", identity)
except ClientError:
logger.exception("Couldn't delete identity %s.", identity)
raise

def list_identities(self, identity_type, max_items):

499
Amazon Simple Email Service Guia do desenvolvedor
Cenários

"""
Gets the identities of the specified type for the current account.

:param identity_type: The type of identity to retrieve, such as


EmailAddress.
:param max_items: The maximum number of identities to retrieve.
:return: The list of retrieved identities.
"""
try:
response = self.ses_client.list_identities(
IdentityType=identity_type, MaxItems=max_items)
identities = response['Identities']
logger.info("Got %s identities for the current account.",
len(identities))
except ClientError:
logger.exception("Couldn't list identities for the current account.")
raise
else:
return identities

Crie funções para encapsular ações com modelo do Amazon SES.

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 _extract_tags(self, subject, text, html):


"""
Extracts tags from a template as a set of unique values.

:param subject: The subject of the email.


:param text: The text version of the email.
:param html: The html version of the email.
"""
self.template_tags = set(re.findall(TEMPLATE_REGEX, subject + text + html))
logger.info("Extracted template tags: %s", self.template_tags)

def create_template(self, name, subject, text, html):


"""
Creates an email template.

:param name: The name of the template.


:param subject: The subject of the email.
:param text: The plain text version of the email.
:param html: The HTML version of the email.
"""
try:
template = {
'TemplateName': name,
'SubjectPart': subject,
'TextPart': text,
'HtmlPart': html}
self.ses_client.create_template(Template=template)
logger.info("Created template %s.", name)
self.template = template
self._extract_tags(subject, text, html)
except ClientError:
logger.exception("Couldn't create template %s.", name)

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 get_template(self, name):


"""
Gets a previously created email template.

:param name: The name of the template to retrieve.


:return: The retrieved email template.
"""
try:
response = self.ses_client.get_template(TemplateName=name)
self.template = response['Template']
logger.info("Got template %s.", name)
self._extract_tags(
self.template['SubjectPart'], self.template['TextPart'],
self.template['HtmlPart'])
except ClientError:
logger.exception("Couldn't get template %s.", name)
raise
else:
return self.template

def list_templates(self):
"""
Gets a list of all email templates for the current account.

:return: The list of retrieved email templates.


"""
try:
response = self.ses_client.list_templates()
templates = response['TemplatesMetadata']
logger.info("Got %s templates.", len(templates))
except ClientError:
logger.exception("Couldn't get templates.")
raise
else:
return templates

def update_template(self, name, subject, text, html):


"""
Updates a previously created email template.

:param name: The name of the template.


:param subject: The subject of the email.
:param text: The plain text version of the email.
:param html: The HTML version of the email.
"""
try:
template = {
'TemplateName': name,
'SubjectPart': subject,

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

Crie funções para encapsular ações de e-mail do Amazon SES.

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

def send_email(self, source, destination, subject, text, html, reply_tos=None):


"""
Sends an email.

Note: If your account is in the Amazon SES sandbox, the source and
destination email accounts must both be verified.

:param source: The source email account.


:param destination: The destination email account.
:param subject: The subject of the email.
:param text: The plain text version of the body of the email.
:param html: The HTML version of the body of the email.
:param reply_tos: Email accounts that will receive a reply if the recipient
replies to the message.
:return: The ID of the message, assigned by Amazon SES.
"""
send_args = {
'Source': source,
'Destination': destination.to_service_format(),
'Message': {
'Subject': {'Data': subject},

502
Amazon Simple Email Service Guia do desenvolvedor
Cenários

'Body': {'Text': {'Data': text}, 'Html': {'Data': html}}}}


if reply_tos is not None:
send_args['ReplyToAddresses'] = reply_tos
try:
response = self.ses_client.send_email(**send_args)
message_id = response['MessageId']
logger.info(
"Sent mail %s from %s to %s.", message_id, source, destination.tos)
except ClientError:
logger.exception(
"Couldn't send mail from %s to %s.", source, destination.tos)
raise
else:
return message_id

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.

:param source: The source email account.


:param destination: The destination email account.
:param template_name: The name of a previously created template.
:param template_data: JSON-formatted key-value pairs of replacement values
that are inserted in the template before it is sent.
:return: The ID of the message, assigned by Amazon SES.
"""
send_args = {
'Source': source,
'Destination': destination.to_service_format(),
'Template': template_name,
'TemplateData': json.dumps(template_data)
}
if reply_tos is not None:
send_args['ReplyToAddresses'] = reply_tos
try:
response = self.ses_client.send_templated_email(**send_args)
message_id = response['MessageId']
logger.info(
"Sent templated mail %s from %s to %s.", message_id, source,
destination.tos)
except ClientError:
logger.exception(
"Couldn't send templated mail from %s to %s.", source,
destination.tos)
raise
else:
return message_id

Verifique um endereço de e-mail com o Amazon SES e envie mensagens.

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

logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s')

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>"

print(f"Sending mail from {email} to {email}.")


ses_mail_sender.send_email(
email, SesDestination([email]), "Amazon SES demo",
test_message_text, test_message_html)
input("Mail sent. Check your inbox and press Enter to continue.")

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.")

print("Sending mail through the Amazon SES SMTP server.")


boto3_session = boto3.Session()
region = boto3_session.region_name
credentials = boto3_session.get_credentials()
port = 587
smtp_server = f'email-smtp.{region}.amazonaws.com'
password = calculate_key(credentials.secret_key, region)
message = """

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!")

if ses_template.template is not None:


print("Deleting demo template.")
ses_template.delete_template()
if verified:
answer = input(f"Do you want to remove {email} from Amazon SES (y/n)? ")
if answer.lower() == 'y':
ses_identity.delete_identity(email)
print("Thanks for watching!")
print('-'*88)

• 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 de uso entre serviços do Amazon SES


usando AWS SDKs
As seguintes amostras de aplicações usam AWS SDKs para combinar o Amazon SES com outros
Serviços da AWS. Cada exemplo inclui um link para o GitHub, onde você pode encontrar instruções sobre
como configurar e executar o código no contexto.

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)

Criar uma aplicação de transmissão do Amazon Transcribe


O exemplo de código a seguir mostra como construir uma aplicação que registra, transcreve e traduz áudio
ao vivo em tempo real, e envia os resultados por e-mail.

JavaScript

SDK para JavaScript V3

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.

Serviços usados neste exemplo


• Amazon Comprehend
• Amazon SES
• Amazon Transcribe
• Amazon Translate

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.

Criar uma aplicação Web dinâmica para monitorar dados do


DynamoDB
Os exemplos de código a seguir mostram como construir uma aplicação Web que monitora e gera
relatórios sobre itens de trabalho.

.NET

AWS SDK for .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.

Serviços usados neste exemplo


• DynamoDB
• Amazon SES

Java

SDK para Java 2.x

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.

Serviços usados neste exemplo


• DynamoDB
• Amazon SES

JavaScript

SDK para JavaScript V3

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.

Serviços usados neste exemplo


• DynamoDB
• Amazon SES

Kotlin

SDK para Kotlin


Note

Essa documentação é de pré-lançamento para um recurso em versão de pré-


visualização. Está sujeita a alteração.

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.

Serviços usados neste exemplo


• DynamoDB
• Amazon SES

Python

SDK para Python (Boto3).

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.

Serviços usados neste exemplo


• DynamoDB
• Amazon SES

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.

Criar um monitor de item do Amazon Relational Database


Service
Os exemplos de código a seguir mostram como construir uma aplicação Web que monitora e gera
relatórios sobre itens de trabalho usando um banco de dados do Amazon Relational Database Service
(Amazon RDS).

Java

SDK para Java 2.x

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.

Serviços usados neste exemplo


• Amazon RDS
• Amazon SES

Kotlin

SDK para Kotlin


Note

Essa documentação é de pré-lançamento para um recurso em versão de pré-


visualização. Está sujeita a alteração.

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.

Serviços usados neste exemplo


• Amazon RDS

508
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços

• Amazon SES

PHP

SDK for 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.

Serviços usados neste exemplo


• Amazon RDS
• Amazon SES

Python

SDK para Python (Boto3).

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.

Serviços usados neste exemplo


• Amazon RDS
• Amazon SES

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.

Detectar EPI em imagens com o Amazon Rekognition usando um


AWS SDK
Os exemplos de código a seguir mostram como construir uma aplicação que usa o Amazon Rekognition
para detectar equipamentos de proteção individual (EPI) em imagens.

509
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços

Java

SDK para Java 2.x

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.

Serviços usados neste exemplo


• DynamoDB
• Amazon Rekognition
• Amazon S3
• Amazon SES

JavaScript

SDK para JavaScript V3

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.

Serviços usados neste exemplo


• DynamoDB
• Amazon Rekognition
• Amazon S3
• Amazon SES

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.

Detectar objetos em imagens com o Amazon Rekognition usando


um AWS SDK
Os exemplos de código a seguir mostram como construir uma aplicação que usa o Amazon Rekognition
para detectar objetos por categoria em imagens.

510
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços

.NET

AWS SDK for .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.

Serviços usados neste exemplo


• Amazon Rekognition
• Amazon S3
• Amazon SES

Java

SDK para Java 2.x

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.

Serviços usados neste exemplo


• Amazon Rekognition
• Amazon S3
• Amazon SES

JavaScript

SDK para JavaScript V3

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.

Serviços usados neste exemplo


• Amazon Rekognition

511
Amazon Simple Email Service Guia do desenvolvedor
Exemplos entre serviços

• Amazon S3
• Amazon SES

Kotlin

SDK para Kotlin


Note

Essa documentação é de pré-lançamento para um recurso em versão de pré-


visualização. Está sujeita a alteração.

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.

Serviços usados neste exemplo


• Amazon Rekognition
• Amazon S3
• Amazon SES

Python

SDK para Python (Boto3).

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.

Você pode usar a página da Web do React para:


• Exibir uma lista de imagens que estão armazenadas no bucket do S3.
• Carregar imagens do computador para o bucket do S3.
• Exibir imagens e rótulos que identificam os itens detectados na imagem.
• Obter um relatório de todas as imagens no bucket do S3 e enviar um relatório por e-mail.

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.

Serviços usados neste exemplo


• Amazon Rekognition
• Amazon S3
• Amazon SES

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.

Detectar pessoas e objetos em um vídeo com o Amazon


Rekognition usando um AWS SDK
Os exemplos de código a seguir mostram como detectar pessoas e objetos em um vídeo com o Amazon
Rekognition.

Java

SDK para Java 2.x

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.

Serviços usados neste exemplo


• Amazon Rekognition
• Amazon S3
• Amazon SES

JavaScript

SDK para JavaScript V3

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.

Serviços usados neste exemplo


• Amazon Rekognition
• Amazon S3
• Amazon SES

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.

Usar Step Functions para invocar funções do Lambda


Os exemplos de código a seguir mostram como criar um máquina de estado do AWS Step Functions que
invoca a funções do AWS Lambda em sequência.

Java

SDK para Java 2.x

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.

Serviços usados neste exemplo


• DynamoDB
• Lambda
• Amazon SES
• Step Functions

JavaScript

SDK para JavaScript V3

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.

Serviços usados neste exemplo


• DynamoDB

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.

Exemplos de código para a API v2 do Amazon SES


usando AWS SDKs
Os exemplos de código a seguir mostram como usar a API v2 do Amazon SES com um kit de
desenvolvimento de software (SDK) da AWS.

Os exemplos são divididos nas seguintes categorias:

Ações

Trechos de código que mostram como chamar funções de serviço individuais.

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)

Ações para a API v2 do Amazon SES usando AWS


SDKs
Os exemplos de código a seguir demonstram como realizar ações individuais a API v2 do Amazon
SES com AWS SDKs. Estes trechos chamam a API v2 do Amazon SES e não devem ser executados
isoladamente. Cada exemplo inclui um link para o GitHub, onde você pode encontrar instruções sobre
como configurar e executar o código no contexto.

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)

Criar um contato da API v2 do Amazon SES em uma lista de


contatos usando um AWS SDK
O exemplo de código a seguir mostra como criar um contato da API v2 do Amazon SES em uma lista de
contatos.

Rust

SDK for Rust


Note

Esta documentação destina-se a um SDK na versão de previsualização. O SDK está


sujeito a alterações e não deve ser usado em ambientes de produção.
Tip

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.

Criar uma lista de contatos da API v2 do Amazon SES usando


um AWS SDK
O exemplo de código a seguir mostra como criar uma lista de contatos da API v2 do Amazon SES.

516
Amazon Simple Email Service Guia do desenvolvedor
Ações

Rust

SDK for Rust


Note

Esta documentação destina-se a um SDK na versão de previsualização. O SDK está


sujeito a alterações e não deve ser usado em ambientes de produção.
Tip

Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

async fn make_list(client: &Client, contact_list: &str) -> Result<(), Error> {


client
.create_contact_list()
.contact_list_name(contact_list)
.send()
.await?;

println!("Created contact list.");

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.

Obter informações sobre uma identidade da API v2 do Amazon


SES usando um AWS SDK
O exemplo de código a seguir mostra como obter informações de identidade da API v2 do Amazon SES.

Rust

SDK for Rust


Note

Esta documentação destina-se a um SDK na versão de previsualização. O SDK está


sujeito a alterações e não deve ser usado em ambientes de produção.
Tip

Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

Determina se um endereço de e-mail foi verificado.

async fn is_verified(client: &Client, email: &str) -> Result<(), Error> {


let resp = client
.get_email_identity()
.email_identity(email)

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.

Listar as listas de contatos da API v2 do Amazon SES usando


um AWS SDK
O exemplo de código a seguir mostra como listar as listas de contatos da API v2 do Amazon SES.

Rust

SDK for Rust


Note

Esta documentação destina-se a um SDK na versão de previsualização. O SDK está


sujeito a alterações e não deve ser usado em ambientes de produção.
Tip

Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

async fn show_lists(client: &Client) -> Result<(), Error> {


let resp = client.list_contact_lists().send().await?;

println!("Contact lists:");

for list in resp.contact_lists().unwrap_or_default() {


println!(" {}", list.contact_list_name().unwrap_or_default());
}

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

Listar os contatos em uma lista de contatos da API v2 do Amazon


SES usando um AWS SDK
O exemplo de código a seguir mostra como listar os contatos em uma lista de contatos da API v2 do
Amazon SES.

Rust

SDK for Rust


Note

Esta documentação destina-se a um SDK na versão de previsualização. O SDK está


sujeito a alterações e não deve ser usado em ambientes de produção.
Tip

Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

async fn show_contacts(client: &Client, list: &str) -> Result<(), Error> {


let resp = client
.list_contacts()
.contact_list_name(list)
.send()
.await?;

println!("Contacts:");

for contact in resp.contacts().unwrap_or_default() {


println!(" {}", contact.email_address().unwrap_or_default());
}

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.

Enviar um e-mail com a API v2 do Amazon SES usando um AWS


SDK
O exemplo de código a seguir mostra como enviar um e-mail com a API do Amazon SES v2.

Java

SDK para Java 2.x


Tip

Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

Envia uma mensagem.

public static void send(SesV2Client client,


String sender,

519
Amazon Simple Email Service Guia do desenvolvedor
Ações

String recipient,
String subject,
String bodyHTML
){

Destination destination = Destination.builder()


.toAddresses(recipient)
.build();

Content content = Content.builder()


.data(bodyHTML)
.build();

Content sub = Content.builder()


.data(subject)
.build();

Body body = Body.builder()


.html(content)
.build();

Message msg = Message.builder()


.subject(sub)
.body(body)
.build();

EmailContent emailContent = EmailContent.builder()


.simple(msg)
.build();

SendEmailRequest emailRequest = SendEmailRequest.builder()


.destination(destination)
.content(emailContent)
.fromEmailAddress(sender)
.build();

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

SDK for Rust


Note

Esta documentação destina-se a um SDK na versão de previsualização. O SDK está


sujeito a alterações e não deve ser usado em ambientes de produção.
Tip

Para saber mais sobre como configurar e executar esse exemplo, consulte o GitHub.

520
Amazon Simple Email Service Guia do desenvolvedor
Ações

Envia uma mensagem a todos os membros da lista de contatos.

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?;

let contacts = resp.contacts().unwrap_or_default();

let cs: String = contacts


.iter()
.map(|i| i.email_address().unwrap_or_default())
.collect();

let dest = Destination::builder().to_addresses(cs).build();


let subject_content =
Content::builder().data(subject).charset("UTF-8").build();
let body_content = Content::builder().data(message).charset("UTF-8").build();
let body = Body::builder().text(body_content).build();

let msg = Message::builder()


.subject(subject_content)
.body(body)
.build();

let email_content = EmailContent::builder().simple(msg).build();

client
.send_email()
.from_email_address(from)
.destination(dest)
.content(email_content)
.send()
.await?;

println!("Email sent to list");

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 no Amazon Simple Email


Service
A segurança da nuvem na AWS é a nossa maior prioridade. Como cliente da AWS, você se contará com
um datacenter e uma arquitetura de rede criados para atender aos requisitos das organizações com as
maiores exigências de segurança.

A segurança é uma responsabilidade compartilhada entre a AWS e você. O modelo de responsabilidade


compartilhada descreve isso como a segurança da nuvem e a segurança na nuvem:

• 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)

Proteção de dados no Amazon Simple Email


Service
O modelo de responsabilidade compartilhada da AWS se aplica à proteção de dados no Amazon Simple
Email Service. Conforme descrito nesse modelo, a AWS é responsável por proteger a infraestrutura

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:

• Use uma autenticação multifator (MFA) com cada conta.


• Use SSL/TLS para se comunicar com os recursos da AWS. Recomendamos TLS 1.2 ou posterior.
• Configure o registro em log das atividades da API e do usuário com o AWS CloudTrail.
• Use as soluções de criptografia da AWS, juntamente com todos os controles de segurança padrão nos
serviços da AWS.
• Use serviços gerenciados de segurança avançada, como o Amazon Macie, que ajuda a localizar e
proteger dados pessoais armazenados no Amazon S3.
• Se você precisar de módulos criptográficos validados pelo FIPS 140-2 ao acessar a AWS por meio de
uma interface de linha de comando ou uma API, use um endpoint do FIPS. Para obter mais informações
sobre endpoints do FIPS, consulte Federal Information Processing Standard (FIPS) 140-2.

É 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

Exclusão de dados pessoais do Amazon SES


Dependendo de como você o usa, o Amazon SES pode armazenar determinados dados que podem ser
considerados pessoais. Por exemplo, para enviar e-mails usando o Amazon SES, você deve fornecer pelo
menos uma identidade verificada (um endereço de e-mail ou um domínio). Você pode usar o console do
Amazon SES ou a API do Amazon SES para excluir permanentemente esses 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)

Excluir endereços de e-mail da lista de supressão no nível da


conta
O Amazon SES inclui uma lista opcional de supressão no nível de conta. Quando você habilita este
recurso, os endereços de e-mail são automaticamente adicionados a uma lista de supressão quando
resultam em uma devolução ou reclamação. Os endereços de e-mail permanecem nesta lista até que você
os exclua. Para obter mais informações sobre a lista de supressão no nível da conta, consulte Como usar
a lista de supressão do Amazon SES por conta (p. 300)

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

• Na linha de comando, insira o seguinte comando:

aws sesv2 delete-suppressed-destination --email-address [email protected]

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.

Excluir dados sobre e-mails enviados usando o Amazon SES


Ao usar o Amazon SES para enviar um e-mail, você pode enviar informações sobre esse e-mail para
outros serviços da AWS. Por exemplo, você pode enviar informações sobre eventos de e-mail (como
entregas, aberturas e cliques) ao Kinesis Data Firehose. Esse evento normalmente contém dados de seu
endereço de e-mail e o endereço IP do qual o e-mail foi enviado. Ele também contém os endereços de e-
mail de todos os destinatários aos quais o e-mail foi enviado.

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

1. Faça login no Amazon SES em https://console.aws.amazon.com/ses/.


2. Em Email Sending (Envio de e-mail), selecione Configuration Sets (Conjuntos de configurações).
3. Na lista de conjuntos de configurações, escolha o conjunto de configurações que contém o destino de
eventos do Kinesis Data Firehose.
4. Ao lado do destino de eventos do Kinesis Data Firehose que deseja excluir, escolha o botão delete
(excluir) ( ).
5. 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).

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

1. Na linha de comando, digite o seguinte comando:

aws sesv2 delete-configuration-set-event-destination --configuration-set-name configSet


\
--event-destination-name eventDestination

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

Remover dados de eventos armazenados


Para obter mais informações sobre como excluir informações de outros serviços da AWS, consulte os
seguintes documentos:

• Excluir um objeto e um bucket no Guia do usuário do Amazon Simple Storage Service


• Excluir um domínio do OpenSearch Service no Guia do desenvolvedor do Amazon OpenSearch Service
• Exclusão de um cluster no Guia de gerenciamento de clusters do Amazon RedShift

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

Exclusão de dados sobre identidades


As identidades incluem os endereços de e-mail e os domínios que você usa para enviar e-mails usando o
Amazon SES. Em algumas jurisdições, endereços de e-mail ou domínios podem ser considerados como
dados de identificação pessoal.

Para excluir uma identidade usando o console do Amazon SES

1. Faça login no Amazon SES em https://console.aws.amazon.com/ses/.


2. No Identity Management (Gerenciamento de identidades), proceda de uma das seguintes maneiras:

• Selecione Domains (Domínios) para excluir um domínio.


• Selecione Email Addresses (Endereços de e-mail) para excluir um endereço de e-mail.
3. Selecione a identidade a ser excluída e, em seguida, selecione Remove (Remover).
4. Na caixa de diálogo de confirmação, selecione Yes, Delete Identity (Sim, excluir identidade).

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 identidade usando a AWS CLI

• Na linha de comando, digite o seguinte comando:

aws ses delete-identity --identity [email protected]

Nesse comando, substitua [email protected] pela identidade a ser excluída.

Excluir dados de autenticação de remetente


A autenticação do remetente refere-se ao processo de configuração do Amazon SES para que outro
usuário possa enviar e-mails em seu nome. Para habilitar a autorização do remetente, você deve criar uma
política, conforme descrito em Uso de autorização de envio com o Amazon SES (p. 235). Essas políticas
contêm identidades (que pertencem a você), além de IDs da AWS (que estão associadas à pessoa ou
ao grupo que envia e-mail em seu nome). Você pode remover esse dados pessoais modificando ou
excluindo as políticas de autenticação do remetente. Os procedimentos a seguir mostram como excluir
essas políticas.

Para excluir uma política de autenticação de remetente usando o console do Amazon SES

1. Faça login no Amazon SES em https://console.aws.amazon.com/ses/.


2. No Identity Management (Gerenciamento de identidades), proceda de uma das seguintes maneiras:

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

Para excluir uma política de autenticação de remetente usando a AWS CLI

• Na linha de comando, digite o seguinte comando:

aws ses delete-identity-policy --identity example.com --policy-name samplePolicy

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.

Excluir dados relacionados às regras de recebimento


Se usar o Amazon SES para receber e-mail de entrada, você pode criar regras de recebimento que são
aplicadas a uma ou mais identidades (endereços de e-mail ou domínios). Essas regras determinam o que
o Amazon SES faz com os e-mails recebidos enviados às identidades especificadas.

Para excluir uma regra de recebimento usando o console do Amazon SES

1. Faça login no Amazon SES em https://console.aws.amazon.com/ses/.


2. Em Email Receiving (Recebimento de e-mail), selecione Rule Sets (Conjuntos de regras).
3. Se a regra de recebimento fizer parte do conjunto de regras ativo, selecione View Active Rule Set
(Visualizar conjunto de regras ativo). Caso contrário, selecione o conjunto de regras que contém a
regra de recebimento que você deseja excluir.
4. Na lista de regras de recebimento, selecione a regra que você deseja excluir.
5. No menu Ações, escolha Excluir.
6. Na caixa de diálogo de confirmação, selecione Delete (Excluir).

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.

Para excluir uma regra de recebimento usando a AWS CLI

• Na linha de comando, digite o seguinte comando:

aws ses delete-receipt-rule --rule-set myRuleSet --rule-name myReceiptRule

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.

Excluir dados relacionados aos filtros de endereços IP


Se usar o Amazon SES para receber e-mail de entrada, você pode criar filtros para aceitar ou bloquear
explicitamente mensagens que são enviadas de endereços IP específicos.

Para excluir um filtro de endereços IP usando o console do Amazon SES

1. Faça login no Amazon SES em https://console.aws.amazon.com/ses/.

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.

Para excluir um filtro de endereços IP usando a AWS CLI

• Na linha de comando, digite o seguinte comando:

aws ses delete-receipt-filter --filter-name IPfilter

Nesse comando, substitua IPfilter pelo nome do filtro de endereços IP que você deseja excluir.

Excluir dados em modelos de e-mail


Se você usar modelos de e-mail para enviar e-mails, é possível que esses modelos contenham dados
pessoais, dependendo de como você os configurou. Por exemplo, você pode ter adicionado um endereço
de e-mail ao modelo com o qual os destinatários podem entrar em contato para obter mais informações.

Você só pode excluir modelos de e-mail usando a API do Amazon SES.

Para excluir um modelo de e-mail usando a AWS CLI

• Na linha de comando, digite o seguinte comando:

aws ses delete-template --template-name sampleTemplate

Nesse comando, substitua sampleTemplate pelo nome do modelo de e-mail que você deseja
excluir.

Excluir dados de modelos de e-mail de verificação


personalizados
Se você usar modelos personalizados para verificar novos endereços de envio de e-mail, é possível que
esses modelos contenham dados pessoais, dependendo de como você os configurou. Por exemplo, você
pode ter adicionado um endereço de e-mail ao modelo de e-mail de verificação com o qual os destinatários
podem entrar em contato para obter mais informações.

Você só pode excluir modelos de e-mail de verificação personalizados usando a API do Amazon SES.

Para excluir um modelo de e-mail de verificação personalizado usando a AWS CLI

• Na linha de comando, digite o seguinte comando:

aws ses delete-custom-verification-email-template --template-


name verificationEmailTemplate

Nesse comando, substitua verificationEmailTemplate pelo nome do modelo de e-mail de


verificação personalizado que você deseja excluir.

528
Amazon Simple Email Service Guia do desenvolvedor
Gerenciamento de Identidade e Acesso

Excluir todos os dados pessoais encerrando sua conta da AWS


Também é possível excluir todos os dados pessoais armazenados no Amazon SES fechando sua conta da
AWS. No entanto, essa ação também exclui todos os outros dados - pessoais ou não pessoais - que você
armazenou em qualquer outro serviço da AWS.

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.

Para fechar sua conta AWS

1. Abra o AWS Management Console em https://console.aws.amazon.com/kms.


2. Acesse a página Account Settings (Configurações da conta) em https://console.aws.amazon.com/
billing/home?#/account.
Warning

As duas etapa a seguir excluirão permanentemente todos os dados armazenados em todos


os serviços da AWS em todas as regiões da AWS.
3. Em Encerrar conta, leia o aviso de isenção que descreve as consequências de encerrar sua conta da
AWS. Se concordar com os termos, marque a caixa de seleção e selecione Encerrar conta.
4. Na caixa de diálogo de confirmação, selecione Encerrar conta.

Gerenciamento de identidade e acesso no Amazon


SES
Você pode usar o AWS Identity and Access Management (IAM) com o Amazon Simple Email Service
(Amazon SES) para especificar quais ações da API do SES um usuário, um grupo ou uma função do
IAM pode realizar. (Neste tópico, nós nos referimos coletivamente a essas entidades como usuário.)
Você também pode controlar quais endereços de e-mail o usuário pode usar para os endereços "From",
destinatário e "Return-Path" dos e-mails.

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

• Se a conta estiver na sandbox do SES, suas restrições impedirão a implementação de algumas


dessas políticas. Consulte Saída da sandbox (p. 32).
• Você também pode controlar o acesso ao SES usando políticas de autorização de envio.
Enquanto as políticas do IAM restringem o que usuários individuais do IAM podem fazer, as

529
Amazon Simple Email Service Guia do desenvolvedor
Criar políticas do IAM para acesso ao SES

políticas de autorização de envio restringem a forma como 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 a autorização de envio, consulte Uso
de autorização de envio com o Amazon SES (p. 235).

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

Criar políticas do IAM para acesso ao SES


Esta seção explica como usar as políticas do IAM especificamente com o SES. Para saber como criar
políticas do IAM no geral, consulte Guia do usuário do IAM.

Há três motivos pelos quais você pode usar o IAM com o SES:

• Para restringir a ação de envio de e-mail.


• Para restringir os endereços "From", destinatário e "Return-Path" dos e-mails que o usuário envia.
• Para controlar aspectos gerais do uso da API, como o período durante o qual um usuário tem permissão
para chamar as APIs que estão autorizados a usar.

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

Em seguida, dependendo da Action, especifique o elemento Resource da seguinte forma:

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 o elemento Action permitir acesso a todas as APIs:

• 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

Restrição de endereços de e-mail


Se você quiser restringir o usuário a endereços de e-mail específicos, pode usar um bloco Condition. No
bloco Condition, você especifica as condições usando chaves de condição, como descrito no Guia do
usuário do IAM. Ao usar chaves de condição, você pode controlar os seguintes endereços de e-mail:
Note

Essas chaves de condição de endereço de e-mail aplicam-se somente às APIs indicadas na


tabela a seguir.

Chave de condição Descrição API

ses:Recipients Restringe os endereços do SendEmail, SendRawEmail


destinatário, que incluem os
endereços To:, "CC" e "BCC".

ses:FromAddress Restringe o endereço "From". SendEmail, SendRawEmail,


SendBounce

ses:FromDisplayName Restringe o endereço "From" SendEmail, SendRawEmail


usado como o nome de exibição.

ses:FeedbackAddress Restringe o endereço "Return- SendEmail, SendRawEmail


Path", que é o endereço para o
qual devoluções e reclamações
podem ser enviadas a você
pelo encaminhamento de
feedback por e-mail. Para obter
informações sobre reenvio de
feedback por e-mail, consulte
Recebimento de notificações do
Amazon SES por e-mail (p. 211).

Restringir pela versão da API do SES


Ao usar a chave ses:ApiVersion em condições, você pode restringir o acesso ao SES com base na
versão da API do SES.
Note

A interface SMTP do SES usa a API do SES versão 2 de ses:SendRawEmail.

Restrição do uso da API geral


Usando chaves no âmbito da AWS em condições, você pode restringir o acesso ao SES com base em
aspectos como a data e a hora em que o usuário tem permissão para acessar as APIs. O SES implementa
somente as seguintes chaves de políticas no âmbito da AWS:

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

Exemplo de políticas do IAM para o SES


Este tópico inclui exemplos de políticas que permitem a um usuário acessar o SES, mas apenas em
determinadas condições.

Exemplos de políticas nesta seção:


• Permitir acesso total a todas as ações do SES (p. 532)
• Permitir acesso somente à API do SES versão 2 (p. 532)
• Permitir acesso somente a ações de envio de e-mails (p. 533)
• Restringir o período de envio (p. 533)
• Restringir os endereços do destinatário (p. 533)
• Restringir o endereço "From". (p. 534)
• Restringir o nome de exibição do remetente de e-mail (p. 534)
• Restringir o destino do feedback de devolução e reclamação (p. 535)

Permitir acesso total a todas as ações do SES


A política a seguir permite que um usuário chame qualquer ação do SES.

{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"ses:*"
],
"Resource":"*"
}
]
}

Permitir acesso somente à API do SES versão 2


A política a seguir permite que um usuário chame apenas as ações do SES da API versão 2.

{
"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

Permitir acesso somente a ações de envio de e-mails


A política a seguir permite que um usuário envie um e-mail usando o SES, mas não permite que o usuário
realize ações administrativas, como acessar estatísticas de envio do SES.

{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource":"*"
}
]
}

Restringir o período de envio


A política a seguir permite que o usuário chame APIs de envio de e-mail do SES somente durante o mês
de setembro de 2018.

{
"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"
}
}
}
]
}

Restringir os endereços do destinatário


A política a seguir permite que um usuário chame as APIs de envio de e-mail do SES, mas somente para
endereços de destinatários no domínio exemplo.com (StringLike diferencia maiúsculas de minúsculas).

{
"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"
]
}
}
}
]
}

Restringir o endereço "From".


A política a seguir permite que um usuário chame as APIs de envio de e-mail do SES, mas somente se o
endereço “From” (De) for [email protected].

{
"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]"
}
}
}
]
}

Restringir o nome de exibição do remetente de e-mail


A política a seguir permite que um usuário chame as APIs de envio de e-mail do SES, mas somente se
o nome de exibição do endereço “From” (De) incluir Marketing (StringLike diferencia maiúsculas de
minúsculas).

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"
}
}
}
]
}

Restringir o destino do feedback de devolução e reclamação


A política a seguir permite que um usuário chame as APIs de envio de e-mail do SES, mas apenas se
“Return-Path” do e-mail for definido como [email protected].

{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource":"*",
"Condition":{
"StringEquals":{
"ses:FeedbackAddress":"[email protected]"
}
}
}
]
}

Registro e monitoramento no Amazon SES


O monitoramento é importante para manter a confiabilidade, a segurança, a disponibilidade e a
performance do Amazon SES e de suas soluções da AWS. A AWS fornece ferramentas para ajudar você a
monitorar o Amazon SES e responder a potenciais incidentes.

• 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).

Registro de chamadas de API do Amazon SES com o


AWS CloudTrail
O Amazon SES é integrado ao AWS CloudTrail, um serviço que fornece um registro das ações realizadas
por um usuário, uma função ou um serviço da AWS no Amazon SES. O CloudTrail captura as chamadas
de API para o Amazon SES como eventos. As chamadas capturadas incluem as chamadas do console
do Amazon SES e as chamadas de código para as operações da API do Amazon SES. Se você criar
uma trilha, poderá habilitar a entrega contínua de eventos do CloudTrail para um bucket do Amazon
S3, incluindo eventos para o Amazon SES. Se você não configurar uma trilha, ainda poderá visualizar
os eventos mais recentes no console do CloudTrail em Event history (Histórico de eventos). Usando as
informações coletadas pelo CloudTrail, é possível determinar a solicitação feita para o Amazon SES, o
endereço IP do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e detalhes adicionais.

Para saber mais sobre o CloudTrail, incluindo como configurá-lo e ativá-lo, consulte o Guia do usuário do
AWS CloudTrail.

Informações sobre o Amazon SES no CloudTrail


O CloudTrail é habilitado em sua Conta da AWS quando ela é criada. Quando atividade de evento
suportada ocorre no Amazon SES, ela é registrada em um evento do CloudTrail juntamente com outros
eventos de serviços da AWS no Event history (Histórico de eventos). Você pode visualizar, pesquisar e
fazer download de eventos recentes em sua Conta da AWS. Para mais informações, consulte Visualizar
eventos com o histórico de eventos do 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:

• Visão geral da criação de uma trilha


• Serviços e integrações compatíveis com o CloudTrail
• Configuração de notificações do Amazon SNS para o CloudTrail
• Receber arquivos de log do CloudTrail de várias regiões e receber arquivos de log do CloudTrail de
várias contas

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

O Amazon SES entrega eventos de gerenciamento ao CloudTrail. Eventos de gerenciamento


incluem ações relacionadas à criação e ao gerenciamento de recursos em sua Conta da AWS.
No Amazon SES, eventos de gerenciamento incluem ações como a criação e a exclusão de
identidades ou regras de recebimento.
Eventos de gerenciamento são diferentes dos eventos de dados. Eventos de dados são eventos
que estão relacionados a acesso e interação com dados em sua Conta da AWS. No Amazon
SES, eventos de dados incluem ações como o envio de e-mails.
Como o Amazon SES só entrega eventos de gerenciamento ao CloudTrail, os seguintes eventos
não são registrados no CloudTrail:

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

Para obter mais informações, consulte o Elemento userIdentity do CloudTrail.

Exemplo: entradas de arquivo de log do Amazon SES


Uma trilha é uma configuração que permite a entrega de eventos como registros de log a um bucket do
Amazon S3 especificado. Os arquivos de log do CloudTrail contêm uma ou mais entradas de log. Um
evento representa uma única solicitação de qualquer fonte e inclui informações sobre a ação solicitada, a
data e a hora da ação, os parâmetros de solicitação e assim por diante. Os arquivos de log do CloudTrail
não são um rastreamento de pilha ordenada de chamadas de API pública. Dessa forma, eles não são
exibidos em uma ordem específica.

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"
}
}
]
}

Validação de conformidade para o Amazon Simple


Email Service
Auditores externos avaliam a segurança e a conformidade do Amazon Simple Email Service como parte de
vários programas de compatibilidade da AWS. Isso inclui SOC, PCI, FedRAMP, HIPAA e outros.

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:

• Guias de início rápido de segurança e compatibilidade: esses guias de implantação abordam as


considerações de arquitetura e fornecem etapas para implantação de ambientes de linha de base
focados em compatibilidade e segurança na AWS.
• Whitepaper Architecting for HIPAA Security and Compliance: este whitepaper descreve como as
empresas podem usar a AWS para criar aplicações em conformidade com a HIPAA.
• Recursos de conformidade da AWS: essa coleção de manuais e guias pode ser aplicada a seu setor e
local.
• Avaliar recursos com regras no AWS Config Guia do desenvolvedor: AWS Config; avalia como
suas configurações de recursos estão em conformidade com práticas internas, diretrizes do setor e
regulamentos.
• AWS Security Hub: esse serviço da AWS fornece uma visão abrangente do estado de sua segurança na
AWS que ajuda você a conferir sua conformidade com padrões e práticas recomendadas de segurança
do setor.

539
Amazon Simple Email Service Guia do desenvolvedor
Resiliência

Resiliência no Amazon Simple Email Service


A infraestrutura global da AWS é criada com base em regiões e zonas de disponibilidade da AWS. As
regiões fornecem várias zonas de disponibilidade separadas e isoladas fisicamente, que são conectadas
com baixa latência, altas taxas de transferência e redes altamente redundantes. Com as zonas de
disponibilidade, você pode projetar e operar aplicações e bancos de dados que automaticamente
executam o failover entre as zonas sem interrupção. As zonas de disponibilidade são mais altamente
disponíveis, tolerantes a falhas e escaláveis que uma ou várias infraestruturas de data center tradicionais.

Para obter mais informações sobre regiões e zonas de disponibilidade da AWS, consulte Infraestrutura
global da AWS.

Segurança da infraestrutura no Amazon Simple


Email Service
Como um serviço gerenciado, o Amazon Simple Email Service é protegido pelos procedimentos de
segurança de rede global da AWS que estão descritos no whitepaper Amazon Web Services: Overview of
Security Processes (Amazon Web Services: visão geral dos processos de segurança).

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.

Configurar endpoints da VPC com o Amazon SES


Muitos clientes do Amazon SES têm políticas corporativas implantadas que limitam a capacidade de seus
sistemas internos se conectarem à Internet pública. Essas políticas impedem que esses clientes usem os
endpoints públicos do Amazon SES.

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.

Configuração do Amazon SES na Amazon VPC


O processo de configuração de um endpoint da VPC para usar o Amazon SES consiste em algumas
etapas diferentes. Primeiro, é necessário identificar o endereço IP privado da instância do Amazon EC2
que você deseja usar com endpoint da VPC. Depois disso, crie um grupo de segurança que permite que
a instância se comunique com portas SMTP. Depois disso, crie um endpoint da VPC para o Amazon SES.
Por fim, teste a conexão com o VPC endpoint para garantir que ele esteja configurado corretamente.

Etapa 1: Encontrar o endereço IP privado de sua instância do


Amazon EC2
Para configurar uma instância do Amazon EC2 para usar um endpoint da VPC do Amazon SES, você
precisa encontrar o IP privado da instância. Você usará esse endereço IP em uma etapa posterior.

Para encontrar o IP privado de uma instância do Amazon EC2

1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.


2. No painel de navegação, em Instâncias, escolha Instâncias.
3. Na lista de instâncias do Amazon EC2, escolha a instância que você deseja usar para se conectar ao
endpoint da VPC.
4. No painel de detalhes na parte inferior da tela, na guia Description (Descrição), copie o endereço IP ao
lado de Private IP (IP privado).

Etapa 2: Criar o grupo de segurança


No Amazon EC2, um grupo de segurança permite controlar as comunicações de entrada e saída da VPC.
Nesta etapa, você cria um grupo de segurança que permite que a instância do instância do Amazon EC2
se comunique com endpoints SMTP.

Como criar o grupo de segurança

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.

4. Em Inbound rules (Regras de entrada), escolha Add rule (Adicionar regra).


5. Em Inbound rule 1 (Regra de entrada 1), faça o seguinte:

• Em Type (Tipo), escolha Custom TCP (TCP personalizada).


• Em Port range (Intervalo de portas), insira o número da porta que deseja usar para enviar e-mails. É
possível usar qualquer um dos seguintes números de porta: 25, 465, 587, 2465 ou 2587.
• Em Source type (Tipo de origem), escolha Custom (Personalizado).
• Para Source (Origem), insira o IP privado da sua instância do Amazon EC2 (ou seja, o endereço
que você encontrou antes).
6. (Opcional) Se quiser adicionar uma regra de entrada para portas adicionais, escolha Add rule
(Adicionar regra) novamente. Depois disso, repita a etapa anterior para adicionar portas adicionais. É
possível criar regras para um ou todos os números de porta listados na etapa anterior.
7. Quando terminar, escolha Create security group (Criar grupo de segurança).

Etapa 3: Criar o VPC endpoint.


Na Amazon VPC, um endpoint da VPC permite conectar sua VPC aos serviços compatíveis da AWS.
Nesse caso, configure a Amazon VPC para que seu grupo de segurança do Amazon EC2 possa se
conectar ao Amazon SES.

Para criar o endpoint da VPC

1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

542
Amazon Simple Email Service Guia do desenvolvedor
Configuração do Amazon SES na Amazon VPC

2. Em Virtual Private Cloud (Nuvem privada virtual), escolha Endpoints.


3. Escolha Create Endpoint (Criar endpoint).
4. Na página Criar endpoint, para a Categoria de serviço, escolha Serviços da AWS.
5. Em Service Name (Nome do serviço), use a caixa de pesquisa para procurar “e-mail”, conforme
mostrado na imagem a seguir.

Escolha o serviço email-smtp para sua Região da AWS atual.


6. Em VPC, escolha a nuvem privada virtual que você deseja usar.
7. Em Security group (Grupo de segurança), escolha o grupo de segurança criado anteriormente,
conforme mostrado na imagem a seguir.

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

Etapa 4: Testar a conexão com o VPC endpoint


Ao concluir o processo de configuração do VPC endpoint, é necessário testar a conexão para garantir que
o VPC endpoint esteja configurado corretamente. É possível testar a conexão usando ferramentas de linha
de comando incluídas na maioria dos sistemas operacionais.

Como testar a conexão com o VPC endpoint

1. Conecte-se à sua instância Amazon EC2.

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

Solução de problemas do Amazon


SES
Esta seção contém os seguintes tópicos que podem ajudá-lo quando você encontrar problemas:

• 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

• Problemas com e-mails recebidos do Amazon SES (p. 551)


• Problemas de notificação do Amazon SES (p. 552)
• Erros de envio de e-mail do Amazon SES (p. 552)
• Aumento da taxa de transferência com o Amazon SES (p. 554)
• Problemas de SMTP do Amazon SES (p. 555)

Problemas gerais do Amazon SES


As informações desta página explicarão e ajudarão a diagnosticar problemas que você pode encontrar ao
usar o Amazon SES.

As alterações que eu faço não ficam imediatamente


visíveis
Como um serviço que é acessado por meio de computadores em datacenters em todo o mundo, o Amazon
SES usa um modelo de computação distribuído chamado consistência final. Qualquer alteração feita
no Amazon SES (ou outros produtos da AWS) leva tempo para se tornar visível em todos os endpoints
possíveis. O atraso resulta, em parte, do tempo necessário para enviar os dados de um servidor para outro
e de uma região para outra em todo o mundo. Na maioria dos casos, esse atraso não será maior do que
alguns minutos.

Algumas áreas onde é possível que haja um atraso incluem:

• Criação e modificação de conjuntos de configurações – ao criar ou modificar um conjunto de


configurações (por exemplo, se você associar um grupo de IPs dedicado a um conjunto de
configurações existente (p. 280)), pode haver um breve atraso entre o momento em que você cria ou
modifica o conjunto e o momento em que essas alterações se tornam ativas.
• Criação e modificação de destinos de evento: quando você cria ou modifica um destino de evento
(por exemplo, para dizer ao Amazon SES que envie seu e-mail enviando dados para outro serviço
da AWS (p. 337)), pode haver uma demora entre a hora em que você cria ou modifica o destino dos
eventos e a hora em que os eventos de envio do e-mail realmente chegam ao destino especificado.

Problemas de verificação de domínio e endereço de


e-mail
Para verificar um domínio ou endereço de e-mail com o Amazon SES, inicie o processo usando o console
ou a API do Amazon SES. Esta seção contém informações que podem ajudar a resolver problemas com o
processo de verificação.
Note

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

Problemas comuns de verificação de domínio


Se você tentar verificar um domínio usando o procedimento em the section called “Verificar uma identidade
de domínio” (p. 163) e encontrar problemas, revise as possíveis causas e soluções a seguir.

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.

Conferir as configurações de verificação de domínio


Você pode conferir se o registro DNS de verificação de domínio do Amazon SES foi publicado
corretamente em seu servidor DNS usando o procedimento a seguir. Este procedimento usa a ferramenta
nslookup, que está disponível para Windows e Linux. No Linux, você também pode usar dig.

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

Como conferir se os registros CNAME de verificação do domínio foram publicados no servidor


DNS

1. Localize os servidores de nome de seu domínio executando as seguintes etapas.

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.

nslookup -type=NS <domain>

Se o seu domínio for ses-example.com, esse comando terá a seguinte aparência:

nslookup -type=NS ses-example.com

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.

nslookup -type=CNAME <random string>_domainkey.<domain> <name server>

Em nosso exemplo ses-example.com, se um servidor de nome encontrado na etapa


1 fosse denominado ns1.name-server.net e a <random string> gerada pelo SES fosse
4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz, nós digitaríamos o seguinte:

nslookup -type=CNAME 4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.ses-example.com


ns1.name-server.net

b. Na saída do comando, verifique se a string após canonical name = corresponde ao valor


CNAME visto ao escolher o domínio na lista de identidades do console do Amazon SES.

Em nosso exemplo, estamos procurando um registro CNAME em


4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.ses-example.com com o valor
4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz.dkim.amazonses.com. Se o registro foi
corretamente publicado, esperamos que o comando tenha a seguinte saída:

4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.ses-example.com canonical name =


"4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz.dkim.amazonses.com"

Problemas comuns de verificação de e-mail


• O e-mail de verificação não chegou: se você concluir os procedimentos em Verificar a identidade de um
endereço de e-mail (p. 169) mas não receber o e-mail de verificação em alguns minutos, complete as
seguintes etapas:

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.

Solução de problemas do DKIM no Amazon SES


Esta seção lista alguns dos problemas que você pode encontrar ao configurar a autenticação DKIM
no Amazon SES. Se você tentar configurar o DKIM e encontrar problemas, veja as possíveis causas e
soluções abaixo.

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.

Se você recebeu um erro BadRequestException, faça o seguinte:


• Certifique-se de que o seletor especificado para a chave pública contenha de 1 a 63 caracteres
alfanuméricos. O seletor não pode incluir ponto final, outros símbolos ou pontuação.
• Certifique-se de que você removeu as linhas de cabeçalho e rodapé e todas as quebras de linha da
chave pública.
Ao usar o Easy DKIM, os servidores DNS retornam os registros de CNAME para DKIM do Amazon SES
com sucesso, mas retornam SERVFAIL para o registro TXT de verificação do 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

A assinatura DKIM adicional, que contém d=amazonses.com, é automaticamente adicionada pelo


Amazon SES. Você pode ignorá-la.

Problemas de entrega do Amazon SES


Depois de fazer uma solicitação bem-sucedida para o Amazon SES, sua mensagem é geralmente enviada
imediatamente. Em outras situações, pode haver um pequeno atraso. Em qualquer caso, você pode ter
certeza de que seu e-mail será enviado.

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.

Se um e-mail não chegar, tente o seguinte:

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

Problemas com e-mails recebidos do Amazon SES


Esta seção discute alguns problemas comuns que você pode perceber ao receber e-mails enviados do
Amazon SES.

O cliente de e-mail exibe “enviado via amazonses.com” como a origem do e-mail

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.

Problemas de notificação do Amazon SES


Se você encontrar um problema com devolução, reclamação ou notificações de entrega, revise as
possíveis causas e soluções a seguir.

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

Erros de envio de e-mail do Amazon SES


Este tópico analisa os tipos de erros específicos de envio de e-mail que você pode encontrar ao enviar um
e-mail pelo Amazon SES. Se você tentar enviar um e-mail por meio do Amazon SES e ocorrer uma falha
na chamada para o Amazon SES, o Amazon SES retornará uma mensagem de erro à sua aplicação e
não enviará o e-mail. A maneira como você observa essa mensagem de erro depende da maneira como
chama o Amazon SES.

• 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).

Aumento da taxa de transferência com o Amazon


SES
Quando você envia e-mails, pode chamar o Amazon SES com a frequência permitida por sua taxa máxima
de envio. (Para obter mais informações sobre sua taxa máxima de envio, consulte Gerenciamento de
limites do envio do Amazon SES (p. 39).) No entanto, cada chamada para o Amazon SES leva tempo para
ser concluída.

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.

Problemas de SMTP do Amazon SES


Esta seção contém soluções para diversos problemas comuns relacionados ao envio de e-mail usando a
interface Simple Mail Transfer Protocol (SMTP) do Amazon SES. Ela também contém uma lista de códigos
de resposta do SMTP retornados pelo Amazon SES.

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

• Não é possível se conectar ao endpoint SMTP do Amazon SES.

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.

As perdas de conexão são mais comumente provocadas pelos seguintes problemas:


• Tamanho da MTU: se você receber uma mensagem de erro de tempo limite, o tamanho da unidade
de transmissão máxima (MTU) da interface de rede do computador que você está usando para se
conectar à interface SMTP do Amazon SES talvez seja muito grande. Para resolver esse problema,
defina o tamanho da MTU no computador como 1.500 bytes.

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

Códigos de resposta SMTP retornados pelo Amazon


SES
Esta seção contém uma lista de códigos de resposta que são retornados pela interface SMTP do Amazon
SES.

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.

Descrição Código de resposta Mais informações

Autenticação bem-sucedida 235 Authentication Seu cliente SMTP se conectou com


successful êxito e fez login no servidor SMTP.

Entrega bem-sucedida 250 Ok MessageID ID da mensagem é uma


sequência de caracteres exclusiva
que o Amazon SES usa para
identificar uma mensagem.

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

Descrição Código de resposta Mais informações

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.

Problema ao receber a 454 Temporary service O Amazon SES não recebeu


solicitação failure a solicitação com êxito.
Consequentemente, a mensagem
não foi enviada.

Credenciais incorretas 530 Authentication A aplicação que você usa para


required enviar e-mails não tentou fazer
a autenticação quando tentou se
conectar à interface SMTP do
Amazon SES.

Credenciais de autenticação 535 Authentication A aplicação que você usa para


inválidas Credentials Invalid enviar e-mails não forneceu as
credenciais SMTP corretas para
o Amazon SES. Observe que as
credenciais SMTP não são as
mesmas que as credenciais da
AWS. Para mais informações,
consulte Obtenção de credenciais
SMTP do Amazon SES (p. 46).

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

Descrição Código de resposta Mais informações

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.

Erro de sintaxe MAIL FROM 553 <email-address> Há um erro de sintaxe na parte


Invalid email address MAIL FROM da mensagem SMTP.
Verifique se você está seguindo o
formato correto e não se esqueça
de colocar o endereço de e-mail
entre “<>”.

Erro de sintaxe RCPT TO 553 <email-address> Há um erro de sintaxe na parte


address unknown RCPT TO da mensagem SMTP.
Verifique se você está seguindo o
formato correto e não se esqueça
de colocar o endereço de e-mail
entre “<>”.

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

Descrição Código de resposta Mais informações

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

O Amazon SES tem


endpoints em várias
Regiões da AWS (p. 2),
e o status de verificação
do endereço de e-mail
é separado para cada
Região da AWS. Você
deve concluir o processo
de verificação para cada
remetente nas Regiões da
AWS que deseja usar.

560
Amazon Simple Email Service Guia do desenvolvedor
Perguntas frequentes sobre o processo de análise de envios

Perguntas frequentes sobre o


Amazon SES
Esta seção contém respostas às várias perguntas frequentes relacionadas ao uso do Amazon SES.

Esta seção contém perguntas frequentes sobre os seguintes tópicos:


• Perguntas frequentes sobre o processo do Amazon SES de revisão de envios (p. 561)
• Perguntas frequentes sobre a lista de buracos negros de DNS (DNSBL) (p. 577)
• Perguntas frequentes sobre métricas de envio de e-mails do Amazon SES (p. 580)

Perguntas frequentes sobre o processo do Amazon


SES de revisão de envios
Nós monitoramos o e-mail enviado pelo Amazon SES para garantir que o serviço não esteja sendo usado
para entregar e-mails mal-intencionados, não solicitados ou de baixa qualidade. Se for determinado que
um usuário está enviando conteúdo que se encaixa em uma dessas categorias, tomamos ações nessa
conta. Chamamos esse processo de 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)

Perguntas frequentes sobre contas sob análise


P1. Eu recebi uma mensagem informando que a minha conta
está sob análise. O que isso significa?
Detectamos um problema relacionado ao envio de e-mail da sua conta, e estamos oferecendo tempo
para você corrigi-lo. Você pode continuar a enviar e-mails normalmente, mas também deverá corrigir o
problema que fez com que sua conta fosse colocada sob análise. Se você não corrigir o problema antes de
o período de análise terminar, poderemos pausar sua capacidade de enviar e-mails adicionais.

561
Amazon Simple Email Service Guia do desenvolvedor
Contas sob análise

P2. Sempre serei notificado se minha conta for colocada sob


análise?
Sim. Você receberá uma notificação no endereço de e-mail associado à sua conta da AWS.

P3. Por que eu não recebi uma notificação informando que a


minha conta está sob análise?
Quando sua conta é colocada sob análise, nós automaticamente enviamos uma notificação para o
endereço de e-mail associado à sua conta da AWS. Esse é o endereço de e-mail que você especificou
quando criou sua conta da AWS. Em alguns casos, esse endereço de e-mail pode ser diferente daquele
que é usado para enviar e-mails usando o Amazon SES.

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.

P4. O fato da minha conta do Amazon SES estar sob revisão


afeta o meu uso de outros serviços da AWS?
Você ainda poderá usar outros serviços da AWS enquanto sua conta do Amazon SES sendo revista.
No entanto, se você solicitar um aumento na cota de serviço para outro serviço da AWS que envia
comunicações de saída (como o Amazon SNS), essa solicitação poderá ser negada até que o período de
revisão da sua conta do Amazon SES seja suspenso.

P5. O que devo fazer se minha conta estiver sob análise?


Você deverá fazer o seguinte:

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

P6. Como faço para solicitar uma revisão?


Você pode solicitar uma revisão da nossa decisão de colocar sua conta sob análise. Para solicitar uma
revisão, faça login no Console da AWS e acesse a Central de Suporte. Responda ao caso que abrimos em
seu nome.

Na solicitação, forneça as seguintes informações:

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

P7. O que acontece se a minha solicitação de revisão não for


aceita?
Vamos responder à sua solicitação com informações sobre o motivo de não aceitarmos. Em alguns casos,
você poderá enviar outra solicitação se conseguir demonstrar que você resolveu o problema, e que as
alterações impedem que o problema ocorra novamente no futuro.

P8. Vocês podem me ajudar a diagnosticar o problema?


Normalmente, podemos dar somente uma visão geral de alto nível de seu problema (por exemplo, se você
tem problema com devoluções). Você precisará investigar a causa raiz de sua parte.

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

P10. A minha conta é colocada sob análise sempre que houver


um problema?
Não. Em algumas situações, poderemos pausar a capacidade de sua conta enviar e-mails sem antes
colocar sua conta sob análise. Por exemplo:

• Se o problema for muito grave.


• Se a sua conta tiver sido colocada sob análise pelo mesmo problema várias vezes no passado. Por esse
motivo, é importante resolver o problema subjacente em vez de apenas resolver o incidente específico
que levou sua conta a ser colocada sob análise. Por exemplo, se uma determinada campanha fez com
que sua conta fosse colocada sob análise, é necessário fazer mais do que simplesmente interromper a
campanha. Você precisa determinar quais propriedades da campanha foram problemáticas e garantir
que existem processos implementados, de forma que as campanhas futuras não tenham o mesmo
problema.

Em ambas as situações, enviaremos automaticamente uma notificação quando a capacidade de sua conta
enviar e-mails for pausada.

P11. O que acontece se eu fizer correções pouco antes do


período de análise expirar?
Faça login no Console da AWS Management Console e acesse a Central de Suporte. Responda ao caso
que abrimos em seu nome. Em sua resposta ao caso, informe que você resolveu o problema.

563
Amazon Simple Email Service Guia do desenvolvedor
Pausas de envio

P12. Posso obter ajuda do meu representante da AWS ou do


Premium Support?
Se você já estiver trabalhando com um representante de conta da AWS, entraremos em contato com
ele automaticamente quando sua conta for colocada sob análise. O representante da conta talvez possa
fornecer informações adicionais para ajudá-lo a compreender melhor o problema. Se você usa o Premium
Support, também deve entrar em contato com a equipe de ajuda adicional.

Perguntas frequentes sobre a pausa de envio


P1. Eu recebi uma mensagem informando que a capacidade da
minha conta enviar e-mails foi pausada. O que isso significa?
Nós pausamos a capacidade de sua conta enviar e-mails devido a um problema crítico com e-mails
enviados. Na maioria dos casos, pausamos contas devido a um dos seguintes motivos:

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

P2. Sempre serei notificado se a capacidade da minha conta


enviar e-mail for pausada?
Sim. Você receberá uma notificação no endereço de e-mail associado à sua conta da AWS.

P3. A capacidade da minha conta enviar e-mails foi pausada. Por


que não recebi uma notificação?
Quando pausamos capacidade de uma conta enviar e-mails, enviamos automaticamente uma notificação
ao endereço de e-mail correspondente a essa conta.
Note

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.

P4. A capacidade da minha conta enviar e-mails foi pausada.


Isso afeta a minha capacidade de usar outros serviços da AWS?
Você ainda pode usar outros serviços da AWS enquanto a capacidade de sua conta enviar e-mails
estiver pausada. No entanto, se você solicitar um aumento na cota de serviço para outro serviço da AWS
que envia mensagens de saída (como o Amazon SNS), poderemos negar essa solicitação até que a
capacidade de envio de e-mails da sua conta seja restaurada.

P5. O que devo fazer se a capacidade da minha conta enviar e-


mails for pausada?
Você deverá fazer o seguinte:

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

P6. O que é uma análise?


Você pode solicitar uma revisão da nossa decisão de colocar sua conta sob análise. Consulte a próxima
pergunta para obter mais informações sobre como solicitar uma revisão.

P7. Como faço para solicitar uma revisão?


Para solicitar uma revisão, faça login no Console da AWS e acesse a Central de Suporte. Responda ao
caso que abrimos em seu nome.

Na solicitação, forneça as seguintes informações:

• Informações sobre o que causou o problema.


• 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 impedirão que o mesmo problema ocorra novamente no
futuro.

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.

P8. O que acontece se a minha solicitação não for aceita?


Vamos responder à sua solicitação com informações sobre o motivo de não aceitarmos. Em alguns casos,
você poderá enviar outra solicitação se conseguir demonstrar que você resolveu o problema, e que as
alterações impedem que o problema ocorra novamente no futuro.

P9. Vocês podem me ajudar a diagnosticar o problema?


Normalmente, podemos dar somente uma visão geral de alto nível de seu problema (por exemplo, se você
tem problema com devoluções). A correção do problema é responsabilidade sua.

P10. Como posso saber se a capacidade de enviar e-mails da


minha conta foi restabelecida?
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).

P11. Posso obter ajuda do meu representante da AWS ou do


Premium Support?
Se você já estiver trabalhando com um representante de conta da AWS, entraremos em contato com ele
automaticamente se pausarmos a capacidade da sua conta enviar e-mails. O representante da conta
talvez possa fornecer informações adicionais para ajudá-lo a compreender melhor o problema. Se você
usa o Premium Support, também deve entrar em contato com a equipe de ajuda adicional.

Perguntas frequentes sobre devolução


P1. Por que você se preocupa com minhas devoluções?
As altas taxas de devolução são comumente usadas por entidades como provedores de e-mail e
organizações antispam para detectar remetentes que tomem parte em práticas de envio de e-mails
incorretas. As altas taxas de devolução podem levar ao envio de e-mail para a pasta de spam em vez da
caixa de entrada.

P2. 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 à taxa de devoluções da minha conta?
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.
Inclua também as seguintes informações:

• O método que você usa para rastrear suas devoluções


• Como você garante que os endereços de e-mail dos novos destinatários são válidos antes de enviar
a eles. Por exemplo, quais das recomendações você está seguindo em P11. O que posso fazer para
minimizar devoluções? (p. 568)

566
Amazon Simple Email Service Guia do desenvolvedor
Devoluções

P3. Que tipos de devoluções contam para minha taxa de


devoluções?
Sua taxa de devoluções inclui apenas devoluções definitivas para domínios ainda não verificados.
Devoluções definitivas são falhas de entrega permanente, como "endereço não existe". Falhas
intermitentes e temporárias, como uma "caixa postal cheia", ou devoluções por endereços IP bloqueados,
não contam para sua taxa de devoluções.

P4. Vocês revelam as taxas de devoluções que podem fazer com


que a minha conta seja colocada sob análise ou que podem fazer
com que o envio seja pausado?
Para obter os melhores resultados, você deve manter uma taxa de devolução abaixo de 2%. Taxas de
devolução mais altas podem afetar a entrega de seus e-mails.

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.

P5. Ao longo de qual período minha taxa de devoluções é


calculada?
Nós não calculamos sua taxa de devoluções com base em um período fixo, porque diferentes remetentes
enviam em taxas diferentes. Em vez disso, analisamos um volume representativo: uma quantidade de e-
mails que representa as suas práticas de envio típicas. Para ser justo com remetentes de alto e pequeno
volume, o volume representativo é diferente para cada usuário e muda conforme os padrões de envio do
usuário.

P6. Posso calcular minha própria taxa de devolução usando


as informações do console do Amazon SES ou da API do
GetSendStatistics?
Não. A taxa de devoluções é calculada usando o volume representativo (consulte P5. Ao longo
de qual período minha taxa de devoluções é calculada? (p. 567)). Dependendo da sua taxa de
envios, a taxa de devolução pode incluir um período mais longo do que o console do Amazon SES ou
GetSendStatistics podem recuperar. Além disso, apenas os e-mails para domínios não verificados
são considerados ao calcular a taxa de devoluções. No entanto, se você monitorar regularmente suas
taxas de devoluções usando esses métodos, ainda terá um bom indicador que pode usar para prever os
problemas antes que atinjam níveis que nos fazem colocar sua conta sob análise ou pausar a capacidade
da sua conta enviar e-mails.

P7. Como posso descobrir quais endereços de e-mail


devolveram?
Examine as notificações de devolução que o Amazon SES envia a você. O endereço de e-mail ao qual
o Amazon SES encaminha as notificações depende de como você enviou as mensagens originais,
conforme descrito em Recebimento de notificações do Amazon SES por e-mail (p. 211). Você também
pode configurar notificações de devolução pelo Amazon Simple Notification Service (Amazon SNS),
conforme descrito em Configuração de notificação de evento para o Amazon SES (p. 210). Observe que
simplesmente remover endereços devolvidos da sua lista, sem investigação adicional, pode não resolver
o problema subjacente. Para obter informações sobre o que você pode fazer para reduzir as devoluções,
consulte P11. O que posso fazer para minimizar devoluções? (p. 568).

567
Amazon Simple Email Service Guia do desenvolvedor
Devoluções

P8. Se eu não estiver monitorando minhas devoluções, vocês


podem me dar uma lista de endereços que devolveram?
Não, não podemos fornecer uma lista completa de endereços que causaram uma devolução. Você é
responsável por monitorar e agir sobre as devoluções da sua conta.

P9. Como devo lidar com devoluções?


Você precisa remover os endereços que devolveram da sua lista de e-mails e interromper o envio de e-
mail a eles imediatamente. Se você enviar poucas mensagens, pode bastar simplesmente monitorar as
devoluções por e-mail e remover os endereços devolvidos manualmente da lista de correspondência. Se o
seu volume for maior, pode ser conveniente automatizar esse processo, seja por meio de processamento
programático da caixa postal onde você recebe as devoluções ou por meio da criação de notificações de
devolução pelo Amazon SNS. Para mais informações, consulte Configuração de notificação de evento
para o Amazon SES (p. 210).

P10. Meus e-mails podem estar sendo devolvidos porque eu


atingi as cotas de envio?
Não. As devoluções não estão relacionadas às cotas de envio. Se você tentar exceder as cotas de envio,
receberá um erro da API do Amazon SES ou da interface SMTP quando tentar enviar um e-mail.

P11. O que posso fazer para minimizar devoluções?


Primeiro, você deve estar ciente das suas devoluções (consulte P7. Como posso descobrir quais
endereços de e-mail devolveram? (p. 567)). Depois, siga estas diretrizes:

• 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

Perguntas frequentes sobre reclamações


P1. O que é uma reclamação?
Uma reclamação ocorre quando um destinatário relata que não quer receber um e-mail. Ele pode ter
clicado no botão "Report spam (Denunciar como spam)" do cliente de e-mail, reclamado com o provedor
de e-mail, notificado o Amazon SES diretamente ou por meio de algum outro método. Este tópico inclui
informações gerais sobre reclamações. Se sua notificação contiver informações específicas sobre a origem
das reclamações, leia também o tópico relevante: Perguntas frequentes sobre reclamações do Amazon
SES por meio de encaminhamento de feedback (p. 570), Perguntas frequentes sobre reclamações ao
Amazon SES diretamente dos destinatários (p. 571) ou Perguntas frequentes sobre reclamações que o
Amazon SES recebe dos provedores de e-mail (p. 572).

P2. Por que você se preocupa com minhas reclamações?


As taxas elevadas de reclamação são frequentemente usadas por entidades como provedores de e-mail
e organizações antispam como indicadores de que um remetente está enviando para destinatários que
não se cadastraram especificamente para receber e-mails, ou que o remetente está enviando conteúdo
diferente do tipo para o qual os destinatários se registraram.

P3. O que devo fazer se receber um aviso informando que a


minha conta está sob análise ou que o envio está pausado
devido a um problema com reclamações?
Revise seu processo de aquisição de lista e o conteúdo dos seus e-mails para tentar entender por que os
destinatários podem não estar gostando do e-mails que estão recebendo. 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.

P4. O que posso fazer para minimizar reclamações?


Primeiro, monitore as reclamações sobre as quais o Amazon SES pode notificá-lo, que são reclamações
que o Amazon SES recebe por meio encaminhamento de feedback (consulte Perguntas frequentes sobre
reclamações do Amazon SES por meio de encaminhamento de feedback (p. 570)). Depois, siga estas
diretrizes:

• 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

Perguntas frequentes sobre reclamações do Amazon SES por


meio de encaminhamento de feedback
Este tópico fornece informações sobre reclamações que o Amazon SES recebe de provedores de e-mail
por meio de encaminhamento de feedback. Para ver informações gerais aplicáveis a todos os tipos de
reclamação, consulte Perguntas frequentes sobre reclamações (p. 569).

P1. Como esse tipo de reclamação é relatada?


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 e-mails indesejados e solicitar que o
provedor de e-mail execute uma ação para impedi-los. Se o Amazon SES tiver um encaminhamento de
feedback (FBL) configurado com o provedor de e-mail, ele enviará a reclamação de volta para o Amazon
SES.

P2. Essas reclamações estão incluídas na estatística de taxa de reclamação


exibida no console do Amazon SES e retornada pela API GetSendStatistics?
Sim. No entanto, a estatística da taxa de reclamação não inclui reclamações dos provedores de e-mail
que não fornecem feedback ao Amazon SES. A taxa de reclamações de domínios que fornecem feedback
provavelmente é representativa do restante do seu envio também.

P3. Como posso ser notificado sobre essas reclamações?


Você pode ser notificado por e-mail ou por meio de notificações do Amazon SNS. Consulte as instruções
de configuração em Configuração de notificação de evento para o Amazon SES (p. 210).

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

P6. Ao longo de qual período minha taxa de reclamações é calculada?


Nós não calculamos sua taxa de reclamações com base em um período fixo, porque diferentes remetentes
enviam em taxas diferentes. Em vez disso, analisamos um volume representativo&emdash; 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 usuário e muda conforme os
padrões de envio do usuário. Além disso, a taxa de reclamações não é calculada com base em cada e-
mail. Em vez disso, ela é calculada como a porcentagem das reclamações em e-mails enviados para os
domínios que enviam feedback de reclamação para o Amazon SES.

P7. Posso calcular minha própria taxa de reclamação usando as métricas do


console do Amazon SES ou da API GetSendStatistics?
Não. Há dois motivos principais para isso:

• A taxa de reclamações é calculada usando o volume representativo (consulte P6. Ao longo de


qual período minha taxa de reclamações é calculada? (p. 571)). Dependendo da sua taxa de
envios, a taxa de reclamação pode incluir um período maior do que o console do Amazon SES ou
a API de GetSendStatistics podem recuperar. Por esse motivo, recomendamos que você use
regularmente esses métodos para monitorar a taxa de reclamações para sua conta. Monitorar sua taxa
de reclamações dessa forma fornece as informações que você precisa para identificar os problemas
antes que eles atinjam níveis capazes de afetar a entrega de seus e-mails.
• Ao calcular a taxa de reclamações, nem todo e-mail conta. A taxa de reclamação é calculada como
porcentagem de reclamações sobre e-mails enviados para os domínios que enviam feedback de
reclamação para o Amazon SES.

P8. Como posso descobrir quais endereços de e-mail reclamaram?


Examine as notificações de reclamações que o Amazon SES envia a você por e-mail ou pelo Amazon SNS
(consulte Configuração de notificação de evento para o Amazon SES (p. 210)). No entanto, provedores
de e-mail diferentes fornecem diferentes quantidades de informações, e alguns provedores ocultam
o endereço de e-mail do destinatário antes de repassar a notificação de reclamação para o Amazon
SES. Para permitir que você encontre o endereço de e-mail do destinatário no futuro, 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.

P9. Se eu não estiver monitorando minhas reclamações, vocês podem me dar


uma lista de endereços que reclamaram?
Infelizmente, não podemos oferecer a você uma lista abrangente. No entanto, você pode monitorar
reclamações futuras por e-mail ou pelo Amazon SNS.

P10. Posso obter um exemplo de e-mail?


Não é possível enviar um exemplo de e-mail mediante solicitação, mas você pode encontrar essa
informação na notificação da reclamação. Para mais informações, consulte P8. Como posso descobrir
quais endereços de e-mail reclamaram? (p. 571).

Perguntas frequentes sobre reclamações ao Amazon SES


diretamente dos destinatários
Este tópico fornece informações sobre reclamações que o Amazon SES recebe diretamente de
destinatários. Para ver informações gerais aplicáveis a todos os tipos de reclamação, consulte Perguntas
frequentes sobre reclamações (p. 569).

571
Amazon Simple Email Service Guia do desenvolvedor
Reclamações

P1. Como esse tipo de reclamação é relatada?


Vários destinatários entraram em contato diretamente com o Amazon SES sobre seu e-mail, por e-mail ou
outros meios.

P2. Essas reclamações estão incluídas na estatística de taxa de reclamação


exibida no console do Amazon SES e retornada pela API GetSendStatistics?
Não. A estatística da taxa de reclamação recuperada usando o console do Amazon SES ou a API de
GetSendStatistics só inclui as reclamações que o Amazon SES recebe por encaminhamento de
feedback. Para obter mais informações sobre esses tipos de reclamações, consulte Perguntas frequentes
sobre reclamações do Amazon SES por meio de encaminhamento de feedback (p. 570).

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.

P4. Como posso descobrir quais endereços de e-mail reclamaram?


Para proteger as identidades dos destinatários que reclamaram, não podemos listar os endereços de e-
mail que reclamaram sobre seu e-mail.

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.

P5. Posso obter um exemplo de e-mail?


Para proteger as identidades dos destinatários que reclamaram, não podemos fornecer cópias dos e-mails
que causaram as reclamações dos destinatários.

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.

Perguntas frequentes sobre reclamações que o Amazon SES


recebe dos provedores de e-mail
Este tópico fornece informações sobre as reclamações que o Amazon SES recebe por meio de provedores
de e-mail (também chamados de provedores de caixa postal). Para ver informações gerais aplicáveis a
todos os tipos de reclamação, consulte Perguntas frequentes sobre reclamações (p. 569).

572
Amazon Simple Email Service Guia do desenvolvedor
Spamtraps

P1. Como esse tipo de reclamação é relatada?


Um provedor de e-mail informou ao Amazon SES que um número significativo de seus clientes marcaram
seu e-mail como spam. O relatório não foi fornecido ao Amazon SES por encaminhamento de feedback,
mas por outro meio diferente, descrito em Perguntas frequentes sobre reclamações do Amazon SES por
meio de encaminhamento de feedback (p. 570).

P2. Essas reclamações estão incluídas na estatística de taxa de reclamação


exibida no console do Amazon SES e retornada pela API GetSendStatistics?
Não. A estatística da taxa de reclamação recuperada usando o console do Amazon SES ou a API de
GetSendStatistics só inclui as reclamações que o Amazon SES recebe por encaminhamento de
feedback.

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.

P4. Como posso descobrir quais endereços de e-mail reclamaram?


Os provedores de e-mail normalmente não divulgam essas informações. No entanto, em vez de se
concentrar em remover destinatários individuais da sua lista, você precisa se concentrar em localizar e
corrigir o problema. Comece revisando seu processo de aquisição de lista e o conteúdo dos seus e-mails
para tentar entender por que os destinatários podem não estar gostando do seu e-mail.

P5. Posso obter um exemplo de e-mail?


Não. Os provedores de e-mail normalmente não fornecem um exemplo de e-mail.

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.

Perguntas frequentes sobre spamtrap


P1. O que são spamtraps?
Um spamtrap é um endereço de e-mail especial mantido por um provedor de serviços de Internet (ISP),
provedor de e-mail ou uma organização antispam. Como esse endereço nunca se registrou para receber
e-mails, as organizações que mantêm esses spamtraps sabem que qualquer pessoa que envie e-mails
para um desses endereços provavelmente está envolvida em práticas de e-mail questionáveis.

P2. Como os spamtraps são configurados?


Os endereços de spamtrap podem ser configurados de diversas maneiras. Eles podem ser convertidos
de endereços válidos anteriormente, mas que foram inutilizados (e devolvidos) por um período extenso.

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.

P3. Como o Amazon SES sabe se eu estou enviando para


armadilhas de spam?
Determinadas organizações que usam armadilhas de spam enviam notificações ao Amazon SES quando
suas armadilhas de spam são acessados por remetentes do Amazon SES.

P4. Como o Amazon SES usa os relatórios de armadilhas de


spam?
Nós analisamos os relatórios. Se determinarmos que a sua conta está enviando e-mails para spamtraps,
colocaremos a conta sob análise e pediremos que corrija o problema subjacente. Se você não corrigir o
problema antes que o período de análise termine, poderemos pausar a capacidade da sua conta enviar e-
mails adicionais. Se o seu problema com spamtraps for muito grave, poderemos pausar a capacidade da
sua conta enviar e-mails imediatamente, sem antes colocar sua conta sob análise.

P5. O que devo fazer se receber um aviso informando que a


minha conta está sob análise ou que o envio está pausado
devido a um problema com spamtraps?
Primeiro, resolva o problema que nos fez colocar sua conta sob análise ou pausar sua capacidade de
enviar e-mails. Em seguida, 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 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.

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.

P6. Quantos acessos de spamtrap posso ter antes que a minha


conta seja colocada sob análise ou antes que capacidade de
enviar e-mails seja pausada?
Nós não divulgamos o número específico de acessos de spamtrap que fazem com tomemos ações em sua
conta. No entanto, é importante observar que até mesmo um pequeno número de acessos de spamtraps
pode ter um efeito negativo na sua reputação como remetente, portanto, você deve levar os relatórios de
spamtrap a sério.

P7. Vocês revelam os endereços de spamtrap?


Não. Para que os spamtraps sejam eficazes, é essencial que eles permaneçam confidenciais. As
organizações de spamtraps divulgam apenas a ocorrência de acessos de spamtraps, não os endereços
em si.

P8. O que posso fazer para evitar o envio para spamtraps?


Para reduzir o risco de envio para spamtraps, siga estas diretrizes:

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.

Perguntas frequentes sobre investigação manual


P1. 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 uma investigação manual?
Um investigador do Amazon SES identificou um problema significativo com seu envio. Os problemas
típicos incluem, entre outros, os seguintes:

• Seu envio viola a Política de uso aceitável da AWS (AUP).


• Seus e-mails parecem não ser solicitados.
• Seu conteúdo é relacionado a phishing (isso inclui phishing simulado).
• Seu conteúdo é associado a um caso de uso ao qual o Amazon SES não oferece suporte.

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.

P3. O que são e-mails "não solicitados"?


E-mails não solicitados são e-mails que o destinatário não pediu explicitamente para receber. Isso inclui
casos nos quais o destinatário se cadastra para determinado tipo de e-mail (por exemplo, notificações) e,
em vez disso, recebe um tipo diferente de e-mail (por exemplo, anúncios).

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.

P4. 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 uma análise manual?
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 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.

P5. Que tipos de problemas vocês veem como "corrigíveis?"


Geralmente, acreditamos que a situação é corrigível se você tiver histórico de boas práticas de envio e
se houver etapas que você pode tomar para eliminar o envio problemático, enquanto dá continuidade ao
volume geral dos seus envios. Por exemplo, se você estiver enviando três diferentes tipos de e-mail e
apenas um tipo for problemático, é possível simplesmente interromper o envio problemático e continuar
com o restante do seu envio.

P6. E se eu não conseguir encontrar a origem do problema?


Você pode fazer login no Console da AWS e acessar a Central de Suporte. Responda ao caso que
abrimos em seu nome e solicite um exemplo de e-mail que causou o problema.

576
Amazon Simple Email Service Guia do desenvolvedor
Perguntas frequentes sobre a lista
de buracos negros de DNS (DNSBL)

Perguntas frequentes sobre a lista de buracos


negros de DNS (DNSBL)
Domain Name System-based Blackhole (DNSBLs - Listas de Buracos Negros Baseadas no Domain Name
System): algumas vezes chamadas de Listas de buracos negros de tempo real (RBLs), listas de negação,
listas de bloqueios ou Listas negras, destinam-se a informar os provedores de e-mail sobre endereços IP
que supostamente enviam e-mails indesejados.

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

P1. Como as DNSBLs afetam a entrega de e-mail?


Diferentes DNSBLs têm impactos diferentes sobre a entrega bem-sucedida de uma mensagem. Os
principais provedores de e-mail, como o Gmail, Hotmail, AOL e Yahoo, reconhecem um número muito
pequeno de DNSBLs bem conceituadas, como as oferecidas pela Spamhaus. Na nossa experiência,
outras DNSBLs tendem a ter um baixo impacto, embora alguns sistemas de e-mail enfatizem determinadas
DNSBLs em vez de outras.

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.

P2. Como os endereços IP acabam em DNSBLs?


Exsitem vários modos de um endereço IP acabar em uma DNSBL. Os endereços IP podem ser
adicionados a DNSBLs ao enviarem um e-mail para armadilhas de spam. Um spamtrap é um endereço
de e-mail que não pertence a um usuário humano. O spamtraps existem somente para coletar spam e
identificar spammers. Algumas DNSBLs também permitem que usuários específicos enviem endereços
IP. Algumas DNSBLs permitem até que os usuários enviem um intervalo inteiro de endereços IP. Outras
DNSBLs são mantidas por contribuições de administradores de e-mails e podem incluir endereços IP que
os administradores acreditam estarem fazendo um uso abusivo de seus próprios sistemas.

P3. Como o Amazon SES impede que seus endereços


IP apareçam em DNSBLs?
Nossos sistemas procuram sinais de abuso. Se detectamos padrões de envio ou outras características
que podem fazer com que um endereço IP seja incluído em uma DNSBL, enviamos uma notificação ao
remetente. Se a situação for grave ou se o remetente não corrigir o problema após o envio da notificação,
pausaremos a capacidade do remetente de enviar e-mails até que resolvam o problema. Impor nossas
políticas de envio dessa forma ajuda a reduzir as chances de que nossos endereços IP acabem em
DNSBLs.

577
Amazon Simple Email Service Guia do desenvolvedor
P4 das Perguntas Frequentes sobre DNSBL

P4. Os endereços IP do Amazon SES podem ser


removidos de uma DNSBL?
Nós monitoramos ativamente as DNSBLs que podem afetar a entrega em todo o serviço do Amazon SES
ou que podem afetar a capacidade de enviar e-mails para destinatários que usam os principais provedores
de e-mail, como o Gmail, Yahoo, AOL e Hotmail. As DNSBLs oferecidas pela Spamhaus se encaixam
nessa categoria. Quando um dos nossos endereços IP aparece em uma lista que atende esses critérios,
tomamos medidas imediatas para que esse endereço seja removido da DNSBL o mais rápido possível.

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.

P5. Um provedor de e-mail está rejeitando meus e-


mail porque o endereço IP de envio está listado em
uma DNSBL que não é da Spamhaus. O que posso
fazer?
Primeiro, confirme se a mensagem foi realmente bloqueada devido a uma DNSBL. Se seu e-mail foi
rejeitado porque o endereço IP de envio encontra-se em uma DNSBL, você recebe uma notificação de
devolução que menciona o provedor de DNSBL por nome, conforme o exemplo a seguir:

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

P6. Os e-mails que envio ao Gmail, Yahoo, Hotmail


ou a outro provedor importante estão sendo enviados
para a pasta de spam. Isso está ocorrendo porque
meu endereço IP de envio está em uma DNSBL?
Provavelmente não. Se um endereço IP for listado por uma DNSBL com impacto significativo, como uma
das DNSBL do Spamhaus, os principais provedores de e-mails rejeitarão o e-mail desse endereço IP de
forma definitiva em vez de enviá-los para a pasta de spam.

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

Perguntas frequentes sobre métricas de envio de e-


mails do Amazon SES
O Amazon SES coleta várias métricas sobre os e-mails que você envia. Essas métricas permitem que
você analise a eficácia de seu programa de e-mail e monitore estatísticas importantes, como taxas de
devolução e reclamação.

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 rastreamento de eventos depende do provedor de serviços de e-mail (ESP) do destinatário


e de como eles definiram suas configurações de privacidade, que estão além do controle do
Amazon SES. A contagem de eventos de rastreamento pode ser distorcida (retornando contagens
imprecisas) em condições como:

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

P2. Se um usuário abrir um e-mail várias vezes ou clicar em


um link de e-mail várias vezes, cada um desses eventos será
rastreado separadamente?
Se um destinatário abrir um e-mail várias vezes, o Amazon SES contará cada abertura como um evento
de abertura único. Da mesma forma, se um destinatário clicar no mesmo link várias vezes, o Amazon SES
conta cada clique como um evento de clique único. No entanto, essas contagens podem ser distorcidas
pelos cenários descritos acima na caixa de notas.

P3. As métricas de abertura e clique são somadas ou podem ser


medidas até o nível do destinatário?
As aberturas e os cliques são rastreados até o nível do destinatário. Com o rastreamento de aberturas e
cliques, você pode determinar quais destinatários abriram um e-mail ou clicaram em um link de um e-mail.

580
Amazon Simple Email Service Guia do desenvolvedor
Rastreamento de abertura

P4. Posso recuperar métricas de aberturas e cliques usando a


API do Amazon SES?
A API do Amazon SES não fornece um método para recuperação de métricas de abertura e clique. No
entanto, você pode recuperar as métricas de abertura e clique para o Amazon SES usando a API do
CloudWatch. Por exemplo, você pode usar a AWS CLI para recuperar métricas de abertura e clique
usando a API do CloudWatch emitindo o seguinte comando:

aws cloudwatch get-metric-statistics --namespace AWS/SES --metric-name Click \


--statistics Sum --period 86400 --start-time 2017-01-01T00:00:00Z \
--end-time 2017-12-31T23:59:59Z

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.

A adição desse pixel de rastreamento não altera a aparência do seu e-mail.

P2. O rastreamento de abertura é habilitado por padrão?


O rastreamento de abertura está disponível a todos os usuários do Amazon SES por padrão. Para usar o
rastreamento de abertura, você deve fazer o seguinte:

1. Criar um conjunto de configurações.


2. No conjunto de configurações, crie um destino de evento.
3. Configure o destino do evento para publicar notificações de evento de abertura em um destino.
4. Em todos os e-mails dos quais você deseja rastrear a abertura, especifique o conjunto de configurações
criado na etapa 1.

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

P3. Posso omitir o pixel de rastreamento de abertura de alguns e-


mails?
Há duas maneiras de omitir o pixel de rastreamento de abertura do seu e-mails. O primeiro método é
enviar o e-mail sem especificar um conjunto de configurações. Como alternativa, você pode especificar um
conjunto de configurações que não está configurado para publicar dados sobre eventos de abertura.

P4. Vocês rastreiam as aberturas de e-mails em texto simples?


O rastreamento de abertura só funciona com e-mails HTML. Como o rastreamento de abertura depende
da inclusão de uma imagem, não é possível coletar métricas de abertura para usuários que abrem e-mails
usando um cliente de e-mail somente em texto (não HTML).

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.

P2. Posso desabilitar o rastreamento de cliques?


Você pode desabilitar o rastreamento de cliques para links individuais adicionando um atributo ses:no-
track às tags de âncora no corpo HTML do seu e-mail. Por exemplo, se você criar um link para a página
inicial da AWS, um link de âncora normal será parecido com o seguinte:

<a href="https://aws.amazon.com">Amazon Web Services</a>

Para desabilitar o rastreamento de cliques para esse link, modifique-o para ficar semelhante ao seguinte:

<a ses:no-track href="aws.amazon.com">Amazon Web Services</a>

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

P3. Quantos links podem ser rastreados em cada e-mail?


O sistema de rastreamento de cliques pode rastrear um máximo de 250 links.

582
Amazon Simple Email Service Guia do desenvolvedor
Rastreamento de cliques

P4. As métricas de cliques são coletadas para links em e-mails


com texto sem formatação?
Só é possível rastrear cliques em e-mails HTML.

P5. Posso usar tags em links com identificadores exclusivos?


Você pode adicionar um número ilimitado de tags, como pares de chave-valor, a links no seu e-mail
usando o atributo ses:tags. Quando você usar esse atributo, especifique as chaves e os valores usando
o mesmo formato que usaria para passar propriedades CSS em linha: digite a chave seguida por dois
pontos (:) e seguida pelo valor. Se você precisar passar vários pares de chave-valor, separe cada um
deles com ponto-e-vírgula (;).

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 (_).

P6. Os links rastreados usam o protocolo HTTP ou HTTPS?


Os links de rastreamento usam o mesmo protocolo que os links originais no seu e-mail.

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.

P7. Um link no meu e-mail não está sendo acompanhado. Por


que não?
O Amazon SES espera que os links de seus e-mails contenham URLs codificadas corretamente.
Especificamente, as URLs em seus links devem estar em conformidade com a RFC 3986. Se um link em
um e-mail não estiver codificado corretamente, os destinatários ainda vêm o link no e-mail, mas o Amazon
SES não acompanha os eventos de clique desse link.

Normalmente, os problemas relacionados à codificação incorreta ocorrem em URLs que contêm


sequências de consulta. Por exemplo, se o URL de um link no seu e-mail contém um caractere de espaço
não codificado na sequência de consulta (como o espaço entre "John" e "Doe" no exemplo a seguir:
http://www.exemplo.com/path/to/page?name=José da Silva), o Amazon SES não acompanha esse link.
No entanto, se o URL usar um caractere de espaço codificado (como "%20" no exemplo a seguir: http://
www.exemplo.com/path/to/page?name=José%20Silva), o Amazon SES faz o acompanhamento esperado.

583
Amazon Simple Email Service Guia do desenvolvedor

Histórico do documento Guia do


desenvolvedor do Amazon SES
A tabela a seguir descreve as versões da documentação do Amazon SES.

update-history-change atualização da descrição do atualização da data do histórico


histórico

New console (p. 584) Versão inicial do novo console do 28 de fevereiro de 2021
Amazon SES

584

Você também pode gostar