Ir para o conteúdo principal

Amazon SES: guia completo de configuração DNS e autenticação de email

Por CaptainDNS
Publicado em 20 de janeiro de 2026

Atualizado em 29 de setembro de 2026

Diagrama mostrando o fluxo de envio de email Amazon SES com autenticação DKIM, SPF e DMARC
TL;DR
  • Amazon SES oferece envio de email a US$ 0,10 por 1.000 emails na tarifa de pagamento por uso, com 7 regiões na Europa.
  • Easy DKIM gera 3 CNAMEs que servem tanto para verificação de domínio quanto para assinatura DKIM (rotação automática gerenciada pela AWS).
  • Custom MAIL FROM é indispensável para o alinhamento SPF DMARC; sem ele, o SPF autentica com amazonses.com.
  • Para p=reject, combine Easy DKIM + Custom MAIL FROM + alinhamento relaxed (adkim=r, aspf=r).
  • Se os bounces sobem enquanto SPF e DKIM passam, olhe a reputação por origem: os tenants do SES isolam cada cliente ou aplicação, sem proteger a conta.

Por que o Amazon SES merece sua atenção?

O Amazon SES processa mais de um trilhão de emails por ano desde seu lançamento em 2011. Com uma precificação de US$ 0,10 por 1.000 emails no pagamento por uso (fora dos planos Essentials, Pro e Enterprise), é uma das opções mais econômicas para envio transacional e marketing.

O que faz a diferença:

  • API v2 (setembro 2019): mensagens de até 40 MB, gerenciamento nativo de descadastros, cabeçalhos personalizados sem precisar de Raw email
  • 7 regiões na Europa: Frankfurt, Irlanda, Londres, Paris, Estocolmo, Milão, Zurique
  • Virtual Deliverability Manager: painel de reputação e recomendações automatizadas

Este guia foca na configuração DNS e autenticação. O objetivo: uma entregabilidade otimizada compatível com p=reject.

Arquitetura de envio SES e fluxo de autenticação

Fluxo de autenticação de email Amazon SES com DKIM, SPF e DMARC

Quando você envia via SES:

  1. Sua aplicação chama a API v2 ou usa SMTP
  2. O SES assina a mensagem com sua chave DKIM (domínio d=captaindns.com)
  3. O servidor destinatário verifica SPF (IP de envio), DKIM (assinatura), depois DMARC (alinhamento)

Configuração DNS completa

Easy DKIM: o método recomendado

Easy DKIM gera 3 registros CNAME que cumprem duas funções:

  • Verificação de propriedade do domínio (não precisa de TXT _amazonses)
  • Assinatura DKIM com rotação automática das chaves, gerenciada pela AWS
{token1}._domainkey.captaindns.com  CNAME  {token1}.dkim.amazonses.com
{token2}._domainkey.captaindns.com  CNAME  {token2}.dkim.amazonses.com
{token3}._domainkey.captaindns.com  CNAME  {token3}.dkim.amazonses.com

Em Milão e Zurique, o destino inclui a região: {token}.dkim.eu-south-1.amazonses.com e {token}.dkim.eu-central-2.amazonses.com.

Tamanho da chave: RSA 2048-bit por padrão (recomendado).

Custom MAIL FROM: o elemento crítico para DMARC

Sem Custom MAIL FROM, o envelope SMTP usa amazonses.com como domínio MAIL FROM. Resultado: SPF autentica com amazonses.com, não com seu domínio, o alinhamento SPF DMARC falha.

Registros necessários (exemplo para mail.captaindns.com):

TipoNomeValorPrioridade
MXmail.captaindns.comfeedback-smtp.eu-west-1.amazonses.com10
TXTmail.captaindns.com"v=spf1 include:amazonses.com ~all"-

Restrições:

  • O Custom MAIL FROM deve ser um subdomínio do domínio verificado
  • Apenas um registro MX (vários = falha)
  • Este subdomínio não deve receber outros emails

SPF no domínio raiz: opcional mas recomendado

Se você usa Easy DKIM + Custom MAIL FROM, SPF no domínio raiz não é necessário para DMARC (DKIM é suficiente). Ele serve principalmente aos outros serviços que enviam com seu domínio raiz:

captaindns.com  TXT  "v=spf1 include:amazonses.com ~all"

Alinhamento DMARC: configuração para p=reject

Matriz de alinhamento DMARC com Amazon SES

O que funciona (e o que quebra)

Alinhamento DKIM (método principal):

ConfiguraçãoAlinhado?DMARC via DKIM?
Email verificado sozinho (sem domínio DKIM)NãoNão
Domínio com Easy DKIM ativadoSimSim
Domínio com BYODKIMSimSim

Alinhamento SPF:

ConfiguraçãoAlinhado?DMARC via SPF?
MAIL FROM padrão (amazonses.com)NãoNão
Custom MAIL FROM + aspf=r (relaxed)SimSim
Custom MAIL FROM + aspf=s (strict)NãoNão (subdomínio não alinhado)

Registro DMARC recomendado

_dmarc.captaindns.com  TXT  "v=DMARC1;p=reject;adkim=r;aspf=r;rua=mailto:dmarc@captaindns.com"

Pontos-chave:

  • adkim=r e aspf=r: alinhamento relaxed (permite subdomínios)
  • Progrida de p=none → p=quarantine → p=reject
  • Monitore os relatórios rua antes de endurecer

Tabela resumo DNS

TipoHost/NomeValorObrigatório
CNAME{token1}._domainkey.captaindns.com{token1}.dkim.amazonses.comSim (Easy DKIM)
CNAME{token2}._domainkey.captaindns.com{token2}.dkim.amazonses.comSim (Easy DKIM)
CNAME{token3}._domainkey.captaindns.com{token3}.dkim.amazonses.comSim (Easy DKIM)
MXmail.captaindns.comfeedback-smtp.{region}.amazonses.comSim (Custom MAIL FROM)
TXTmail.captaindns.com"v=spf1 include:amazonses.com ~all"Sim (Custom MAIL FROM)
TXT_dmarc.captaindns.com"v=DMARC1;p=reject;adkim=r;aspf=r;..."Recomendado
CNAMEtrack.captaindns.comr.{region}.awstrack.meOpcional (tracking)

Em Milão e Zurique, o destino DKIM é {token}.dkim.<região>.amazonses.com.

Métodos de envio: API v2 vs SMTP

API v2 (recomendada)

Endpoint: https://email.{region}.amazonaws.com

aws sesv2 send-email \
  --from-email-address "sender@captaindns.com" \
  --destination '{"ToAddresses":["recipient@captaindns.com"]}' \
  --content '{
    "Simple": {
      "Subject": {"Data": "Test"},
      "Body": {"Html": {"Data": "<h1>Hello</h1>"}}
    }
  }' \
  --configuration-set-name "my-config-set"

Vantagens v2:

  • Mensagens de até 40 MB (vs 10 MB na v1)
  • Cabeçalhos personalizados nativos (List-Unsubscribe sem Raw email)
  • ListManagementOptions para gerenciamento de listas

Interface SMTP

Endpoint: email-smtp.{region}.amazonaws.com

PortaProtocoloRecomendação
25STARTTLSLimitado por padrão no EC2
465TLS implícitoAlternativa
2465TLS implícitoAlternativa ao 465
587STARTTLSRecomendado
2587STARTTLSAlternativa ao 587

Cabeçalhos X-SES-* disponíveis:

  • X-SES-CONFIGURATION-SET: associar um configuration set
  • X-SES-MESSAGE-TAGS: adicionar tags (key=value)
  • X-SES-TENANT: vincular o envio a um tenant (junto com X-SES-CONFIGURATION-SET)

Cotas e limites a conhecer

CotaSandboxProdução
Emails/24h200Variável conforme o caso de uso
Taxa de envio1/segVariável conforme o caso de uso
Destinatários/mensagem5050
Tamanho mensagem (API v2)40 MB40 MB

Sair do sandbox: pelo console do SES ou pela AWS CLI, prazo de ~24h se a solicitação estiver completa.

Limites de reputação: os números críticos

Painel de reputação Amazon SES com limites de alerta

MétricaRevisão da contaPausa possível
Bounce Rate5%10%
Complaint Rate0.1%0.5%

A AWS recomenda manter os bounces abaixo de 2%.

Boas práticas:

  • Conferir se a account-level suppression list está ativa (padrão nas contas criadas desde o fim de 2019): ela cobre hard bounces e reclamações
  • Com tenants, restringir a lista de supressão a cada tenant (SuppressionScope=TENANT): um hard bounce vai então para a lista do tenant e para a lista global gerenciada pela AWS, e não para a da conta (tenants: veja abaixo)
  • Configurar alertas CloudWatch em Reputation.BounceRate e Reputation.ComplaintRate
  • Soft bounces: o SES tenta novamente por até 14h por padrão, duração ajustável de 5 min a 14h no configuration set (MaxDeliverySeconds)

Tenants do SES: isolar a reputação por cliente ou aplicação

Uma queda de entregabilidade nem sempre vem do DNS. SPF e DKIM podem passar enquanto os bounces e as reclamações de um cliente, de uma unidade de negócio ou de uma aplicação prejudicam a reputação.

Um tenant é um contêiner lógico dentro da sua conta SES. Você vincula a ele identidades, configuration sets e templates. Ele tem métricas de reputação próprias: bounces, reclamações (incluindo os feedback loops dos provedores) e sinais de terceiros.

Para enviar em nome de um tenant, passe o parâmetro TenantName na API v2. Via SMTP, adicione o cabeçalho X-SES-TENANT junto com X-SES-CONFIGURATION-SET. Os recursos usados precisam estar vinculados ao tenant; caso contrário, o envio falha.

Política de reputaçãoComportamentoLimites publicados pela AWS
Standard (padrão, recomendada)Pausado quando o SES detecta um problema de alta gravidadeBounces > 15% ou reclamações > 1%
StrictPausado diante de qualquer problema, mesmo de baixa gravidadeBounces > 10% ou reclamações > 0,5%
NoneNenhuma pausa causada pela política, os problemas continuam registrados. O SES ainda pode pausar o tenant diante de um problema grave-

Um tenant pausado não consegue mais enviar; os outros tenants continuam enviando. A reativação é manual, pela API UpdateReputationEntityCustomerManagedStatus. Uma pausa aplicada pela equipe Trust & Safety da AWS exige abrir um chamado no Support. O SES publica os problemas detectados e as mudanças de status no EventBridge.

O isolamento limita o impacto de uma origem, mas a atividade somada dos tenants continua pesando na reputação da conta, cujos limites seguem valendo.

Os tenants não substituem SPF, DKIM, DMARC nem o Custom MAIL FROM.

Um tenant é regional e não é replicado: se você envia a partir de várias regiões na Europa, crie-o em cada uma. Sem aninhamento, 10.000 tenants por padrão (até 300.000 sob solicitação). Os tenants são cobrados à parte, por tenant e por mês: veja a página de preços do SES.

Preços com pagamento por uso

ComponentePreço
Emails enviadosUS$ 0,10 / 1.000
Dados de saída (anexos)US$ 0,12 / GB
IP dedicado padrãoUS$ 24,95 / mês / IP
Managed Dedicated IPsUS$ 15 / mês + de US$ 0,08 a US$ 0,02 / 1.000, decrescente conforme o volume
Virtual Deliverability ManagerUS$ 0,07 / 1.000 emails

Planos do SES: desde 21 de julho de 2026, as contas novas (e as regiões de uma conta existente sem atividade SES faturada desde 1º de junho de 2025) começam no plano Essentials, a US$ 0,16 / 1.000 emails até 10 milhões por mês, sem custo fixo. É possível migrar a qualquer momento para a tarifa de pagamento por uso indicada acima.

Contas AWS novas: até US$ 200 em créditos Free Tier, que podem ser usados no SES, entre outros serviços.

Plano de ação: configuração em 6 etapas

  1. Criar uma identidade de domínio no console SES (região europeia de sua escolha)
  2. Configurar Easy DKIM: publicar os 3 CNAMEs fornecidos pelo SES
  3. Aguardar a verificação: até 72h para a propagação DNS
  4. Configurar Custom MAIL FROM: criar o subdomínio com MX e TXT SPF
  5. Publicar o registro DMARC: começar com p=none, monitorar os relatórios
  6. Sair do sandbox: enviar a solicitação de acesso à produção

Guias técnicos: outras plataformas de email transacional

Descubra nossos guias completos para outras soluções de email transacional:

FAQ

É obrigatório configurar Custom MAIL FROM?

Para o alinhamento SPF DMARC, sim. Sem Custom MAIL FROM, SPF autentica com amazonses.com, o que quebra o alinhamento. Se você conta apenas com DKIM para DMARC (o que funciona), Custom MAIL FROM ainda é recomendado para defesa em profundidade.

Qual região europeia escolher para o RGPD?

O SES oferece 7 regiões na Europa (Frankfurt, Irlanda, Londres, Paris, Estocolmo, Milão, Zurique), das quais Londres e Zurique ficam fora da UE. Escolha com base na latência e disponibilidade SMTP (Milão e Zurique não têm endpoint SMTP).

Os 3 CNAMEs Easy DKIM estão todos ativos simultaneamente?

A AWS não documenta o papel de cada CNAME. Publique os três: o SES gerencia as chaves e a rotação delas sem nenhuma ação sua no DNS.

Como testar a configuração antes de enviar em produção?

No sandbox, envie para endereços verificados. Use aws sesv2 send-email com um configuration set configurado para publicar eventos no SNS ou CloudWatch. Verifique os cabeçalhos DKIM e SPF recebidos.

Minha taxa de bounce está subindo enquanto SPF e DKIM passam: é um problema de DNS?

Não necessariamente. SPF e DKIM autenticam o remetente, mas não dizem nada sobre a qualidade da lista. Os bounces e as reclamações de uma origem (um cliente, uma unidade de negócio, uma aplicação) pesam na reputação. Identifique primeiro a origem que gera os bounces. Se vários clientes ou aplicações compartilham a conta, isole-os em tenants do SES para limitar o impacto de um sobre os outros. Os limites da conta continuam valendo.

Glossário

  • Easy DKIM: método SES que gera e gerencia automaticamente as chaves DKIM via 3 registros CNAME, com rotação automática.

  • Custom MAIL FROM: subdomínio configurado para substituir o domínio MAIL FROM padrão (amazonses.com), necessário para o alinhamento SPF DMARC.

  • BYODKIM: Bring Your Own DKIM - opção para usar suas próprias chaves DKIM em vez das geradas pelo SES (apenas 1 registro TXT).

  • Configuration Set: conjunto de regras SES para tracking, notificações de eventos e políticas TLS.

  • Tenant: contêiner lógico dentro de uma conta SES, com reputação própria, ao qual são vinculados identidades, configuration sets e templates.

  • Sandbox: modo inicial das contas SES limitando o envio a 200 emails/dia apenas para endereços verificados.

  • Virtual Deliverability Manager (VDM): funcionalidade paga do SES oferecendo um painel de métricas e recomendações automatizadas de entregabilidade.

Fontes oficiais

Artigos relacionados