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

Por CaptainDNS
Publicado em 20 de janeiro 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 $0.10/1000 emails com 7 regiões EU para conformidade com GDPR.
  • Easy DKIM gera 3 CNAMEs que servem tanto para verificação de domínio quanto para assinatura DKIM (rotação automática a cada 90 dias).
  • 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).

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 $0.10 por 1.000 emails (sem níveis de volume), é a opção mais econômica para envio transacional e marketing.

O que faz a diferença:

  • API v2 (setembro 2019): mensagens de até 40 MB, gerenciamento nativo de unsubscribes, headers customizados sem precisar de Raw email
  • 7 regiões EU: Frankfurt, Irlanda, Londres, Paris, Estocolmo, Milão, Zurique - DPA GDPR incluído automaticamente
  • Virtual Deliverability Manager: dashboard 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 a cada 90 dias
{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

Tamanho da chave: RSA 2048-bit por padrão (recomendado). A rotação gerencia automaticamente os papéis active/passive/pending entre os 3 CNAMEs.

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

TipoNameValuePriority
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). A AWS recomenda configurá-lo mesmo assim:

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 (mismatch subdomain)

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=nonep=quarantinep=reject
  • Monitore os relatórios rua antes de endurecer

Tabela resumo DNS

TipoHost/NameValueObrigató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)

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)
  • Headers customizados nativos (List-Unsubscribe sem Raw email)
  • ListManagementOptions para gerenciamento de listas

Interface SMTP

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

PortaProtocoloRecomendação
25STARTTLSFrequentemente bloqueado por ISPs
465TLS implícitoAlternativa
587STARTTLSRecomendado
2587STARTTLSAlternativa ao 587

Headers X-SES-* disponíveis:

  • X-SES-CONFIGURATION-SET: associar um configuration set
  • X-SES-MESSAGE-TAGS: adicionar tags (key=value)

Cotas e limites a conhecer

CotaSandboxProdução
Emails/24h200~50.000-100.000 (inicial)
Taxa de envio1/seg~14-50/seg (inicial)
Destinatários/mensagem5050
Tamanho mensagem (API v2)40 MB40 MB

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

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

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

MétricaWarningMáximoAção
Bounce Rate5%10%Account review
Complaint Rate0.1%0.2%Account review

Boas práticas:

  • Ativar a account-level suppression list (suprime automaticamente hard bounces)
  • Configurar alertas CloudWatch em Reputation.BounceRate e Reputation.ComplaintRate
  • Soft bounces: SES faz retry automaticamente durante 12h

Preços 2025

ComponentePreço
Emails enviados$0.10 / 1.000
Dados de saída (attachments)$0.12 / GB (1º GB gratuito)
IP dedicado padrão$24.95 / mês / IP
Managed Dedicated IPs$15/mês + $0.08-0.02/1000 conforme volume
Virtual Deliverability Manager$0.07 / 1.000 emails

Free tier (contas novas): 3.000 emails/mês durante 12 meses.

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

  1. Criar uma identidade de domínio no console SES (região EU 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 production access

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 EU escolher para o GDPR?

As 7 regiões EU (Frankfurt, Irlanda, Londres, Paris, Estocolmo, Milão, Zurique) são todas conformes com GDPR com DPA incluído automaticamente. 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?

Não. Apenas um CNAME está ativo (resolve com uma chave pública p=...) em um dado momento. Os outros dois estão em rotação (passive/pending). O SES gerencia automaticamente a rotação a cada ~90 dias.

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 headers DKIM e SPF recebidos.

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.

  • 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 dashboard de métricas e recomendações automatizadas de entregabilidade.

Fontes oficiais

Artigos relacionados