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

- 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

Quando envia via SES:
- A sua aplicação chama a API v2 ou usa SMTP
- O SES assina a mensagem com a sua chave DKIM (domínio
d=captaindns.com) - 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):
| Tipo | Nome | Valor | Prioridade |
|---|---|---|---|
| MX | mail.captaindns.com | feedback-smtp.eu-west-1.amazonses.com | 10 |
| TXT | mail.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

O que funciona (e o que quebra)
Alinhamento DKIM (método principal):
| Configuração | Alinhado? | DMARC via DKIM? |
|---|---|---|
| Email verificado sozinho (sem domínio DKIM) | Não | Não |
| Domínio com Easy DKIM ativado | Sim | Sim |
| Domínio com BYODKIM | Sim | Sim |
Alinhamento SPF:
| Configuração | Alinhado? | DMARC via SPF? |
|---|---|---|
MAIL FROM padrão (amazonses.com) | Não | Não |
| Custom MAIL FROM + aspf=r (relaxed) | Sim | Sim |
| Custom MAIL FROM + aspf=s (strict) | Não | Nã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=reaspf=r: alinhamento relaxed (permite subdomínios)- Progrida de
p=none→p=quarantine→p=reject - Monitorize os relatórios
ruaantes de endurecer
Tabela resumo DNS
| Tipo | Host/Nome | Valor | Obrigatório |
|---|---|---|---|
| CNAME | {token1}._domainkey.captaindns.com | {token1}.dkim.amazonses.com | Sim (Easy DKIM) |
| CNAME | {token2}._domainkey.captaindns.com | {token2}.dkim.amazonses.com | Sim (Easy DKIM) |
| CNAME | {token3}._domainkey.captaindns.com | {token3}.dkim.amazonses.com | Sim (Easy DKIM) |
| MX | mail.captaindns.com | feedback-smtp.{region}.amazonses.com | Sim (Custom MAIL FROM) |
| TXT | mail.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 |
| CNAME | track.captaindns.com | r.{region}.awstrack.me | Opcional (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)
ListManagementOptionspara gestão de listas
Interface SMTP
Endpoint: email-smtp.{region}.amazonaws.com
| Porta | Protocolo | Recomendação |
|---|---|---|
| 25 | STARTTLS | Limitado por predefinição no EC2 |
| 465 | TLS implícito | Alternativa |
| 2465 | TLS implícito | Alternativa ao 465 |
| 587 | STARTTLS | Recomendado |
| 2587 | STARTTLS | Alternativa ao 587 |
Cabeçalhos X-SES-* disponíveis:
X-SES-CONFIGURATION-SET: associar um configuration setX-SES-MESSAGE-TAGS: adicionar tags (key=value)X-SES-TENANT: associar o envio a um tenant (em conjunto comX-SES-CONFIGURATION-SET)
Cotas e limites a conhecer
| Cota | Sandbox | Produção |
|---|---|---|
| Emails/24h | 200 | Variável consoante o caso de utilização |
| Taxa de envio | 1/seg | Variável consoante o caso de utilização |
| Destinatários/mensagem | 50 | 50 |
| Tamanho mensagem (API v2) | 40 MB | 40 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

| Métrica | Revisão da conta | Pausa possível |
|---|---|---|
| Bounce Rate | 5% | 10% |
| Complaint Rate | 0.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.BounceRateeReputation.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ção | Comportamento | Limites publicados pela AWS |
|---|---|---|
| Standard (predefinida, recomendada) | Em pausa quando o SES deteta um problema de gravidade alta | Bounces > 15% ou reclamações > 1% |
| Strict | Em pausa perante qualquer problema, mesmo de gravidade baixa | Bounces > 10% ou reclamações > 0,5% |
| None | Sem 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
| Componente | Preço |
|---|---|
| Emails enviados | 0,10 USD / 1.000 |
| Dados de saída (anexos) | 0,12 USD / GB |
| IP dedicado padrão | 24,95 USD / mês / IP |
| Managed Dedicated IPs | 15 USD / mês + de 0,08 USD a 0,02 USD / 1.000, decrescente conforme o volume |
| Virtual Deliverability Manager | 0,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
- Criar uma identidade de domínio na consola SES (região europeia da sua escolha)
- Configurar Easy DKIM: publicar os 3 CNAMEs fornecidos pelo SES
- Aguardar a verificação: até 72h para a propagação DNS
- Configurar Custom MAIL FROM: criar o subdomínio com MX e TXT SPF
- Publicar o registo DMARC: começar com
p=none, monitorizar os relatórios - 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:
- Postmark: configuração DKIM e REST API - Especialista em deliverability, DKIM 1024 bits, Message Streams
- SendGrid: autenticação de domínio e Web API v3 - DKIM 2048 bits com rotação, IP dedicado a partir de 50k/mês
- Mailgun: DKIM com rotação automática - Return-Path nativo, rotação DKIM 120 dias
- Mailjet: API v3.1 e configuração DKIM - DKIM 2048/4096 bits, aquisição Sinch
- Mandrill: integração Mailchimp transacional - Requisito Mailchimp Standard, blocos de 25k emails
- Brevo: configuração DKIM e SPF - 300 emails/dia grátis, DKIM TXT ou CNAME
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
- Amazon SES Developer Guide
- SES Pricing
- SES Quotas
- Tenants SES: isolamento da reputação (documentação AWS)
- Lista de supressão ao nível do tenant (documentação AWS)
- Anúncio da AWS de agosto de 2025: isolamento por tenant e políticas de reputação automatizadas
- Blog da AWS: implementar tenants no Amazon SES, parte 3 (limites das políticas)


