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 0,10 USD por cada 1.000 emails na tarifa de pagamento por utilização, 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 gerida 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 o SPF e o DKIM passam, analise a reputação por origem: os tenants SES isolam cada cliente ou aplicação, sem proteger a conta.

Porque o Amazon SES merece a sua atenção?

O Amazon SES processa mais de um bilião de emails por ano desde o seu lançamento em 2011. Com um preço de 0,10 USD por cada 1.000 emails em pagamento por utilização (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, gestão nativa de cancelamentos de subscrição, 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 envia via SES:

  1. A sua aplicação chama a API v2 ou usa SMTP
  2. O SES assina a mensagem com a 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 registos 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, gerida 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 predefiniçã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 o seu domínio, o alinhamento SPF DMARC falha.

Registos 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 registo MX (vários = falha)
  • Este subdomínio não deve receber outros emails

SPF no domínio raiz: opcional mas recomendado

Se usa Easy DKIM + Custom MAIL FROM, SPF no domínio raiz não é necessário para DMARC (DKIM é suficiente). Serve sobretudo aos outros serviços que enviam com o 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)

Registo 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
  • Monitorize 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 gestão de listas

Interface SMTP

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

PortaProtocoloRecomendação
25STARTTLSLimitado por predefiniçã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: associar o envio a um tenant (em conjunto com X-SES-CONFIGURATION-SET)

Cotas e limites a conhecer

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

Sair do sandbox: através da consola SES ou da 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:

  • Confirmar que a account-level suppression list está ativa (por predefinição nas contas criadas desde o final de 2019): abrange hard bounces e reclamações
  • Com tenants, limitar a lista de supressão a cada tenant (SuppressionScope=TENANT): um hard bounce passa então para a lista do tenant e para a lista global gerida pela AWS, e não para a da conta (tenants: ver abaixo)
  • Configurar alertas CloudWatch em Reputation.BounceRate e Reputation.ComplaintRate
  • Soft bounces: o SES volta a tentar até 14h por predefinição, duração ajustável de 5 min a 14h no configuration set (MaxDeliverySeconds)

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

Uma quebra de entregabilidade nem sempre tem origem no DNS. O SPF e o DKIM podem passar enquanto os bounces e as reclamações de um cliente, de uma unidade de negócio ou de uma aplicação degradam a reputação.

Um tenant é um contentor lógico dentro da conta SES. Associam-se-lhe identidades, configuration sets e modelos. Tem métricas de reputação próprias: bounces, reclamações (incluindo os ciclos de feedback dos fornecedores de correio) e sinais de terceiros.

Para enviar em nome de um tenant, passe o parâmetro TenantName na API v2. Em SMTP, acrescente o cabeçalho X-SES-TENANT em conjunto com X-SES-CONFIGURATION-SET. Os recursos utilizados têm de estar associados ao tenant, caso contrário o envio falha.

Política de reputaçãoComportamentoLimites publicados pela AWS
Standard (predefinida, recomendada)Em pausa quando o SES deteta um problema de gravidade altaBounces > 15% ou reclamações > 1%
StrictEm pausa perante qualquer problema, mesmo de gravidade baixaBounces > 10% ou reclamações > 0,5%
NoneSem pausa decorrente da política, os problemas continuam a ser registados. O SES pode ainda assim pôr o tenant em pausa perante um problema grave-

Um tenant em pausa deixa de poder enviar; os restantes tenants continuam a enviar. A reativação é manual, através da API UpdateReputationEntityCustomerManagedStatus. Uma pausa aplicada pela equipa Trust & Safety da AWS exige a abertura de um pedido ao Support. O SES publica os problemas detetados e as mudanças de estado no EventBridge.

O isolamento limita o impacto de uma origem, mas a atividade acumulada dos tenants continua a pesar na reputação da conta, cujos limites se mantêm aplicáveis.

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

Um tenant é regional e não é replicado: para enviar a partir de várias regiões na Europa, é preciso criá-lo em cada uma. Sem aninhamento, 10.000 tenants por predefinição (até 300.000 mediante pedido). Os tenants são faturados à parte, por tenant e por mês: consulte a página de preços do SES.

Preços com pagamento por utilização

ComponentePreço
Emails enviados0,10 USD / 1.000
Dados de saída (anexos)0,12 USD / GB
IP dedicado padrão24,95 USD / mês / IP
Managed Dedicated IPs15 USD / mês + de 0,08 USD a 0,02 USD / 1.000, decrescente conforme o volume
Virtual Deliverability Manager0,07 USD / 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 0,16 USD / 1.000 emails até 10 milhões por mês, sem custo fixo. É possível mudar a qualquer momento para a tarifa de pagamento por utilização indicada acima.

Contas AWS novas: até 200 USD em créditos Free Tier, utilizáveis, entre outros serviços, no SES.

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

  1. Criar uma identidade de domínio na consola SES (região europeia da 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 registo DMARC: começar com p=none, monitorizar os relatórios
  6. Sair do sandbox: submeter o pedido de acesso de produção

Guias técnicos: outras plataformas de email transacional

Descubra os 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 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 gere as chaves e a respetiva rotação sem qualquer intervençã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.

A taxa de bounces está a subir enquanto o SPF e o DKIM passam: é um problema de DNS?

Não necessariamente. O SPF e o DKIM autenticam o remetente, mas nada dizem 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. Comece por identificar a origem que gera os bounces. Se vários clientes ou aplicações partilham a conta, isole-os em tenants SES para limitar o impacto de uns sobre os outros. Os limites da conta mantêm-se aplicáveis.

Glossário

  • Easy DKIM: método SES que gera e gere automaticamente as chaves DKIM via 3 registos 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 as suas próprias chaves DKIM em vez das geradas pelo SES (apenas 1 registo TXT).

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

  • Tenant: contentor lógico dentro de uma conta SES, com reputação própria, ao qual se associam identidades, configuration sets e modelos.

  • 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