Skip to content
Comece com 100 créditos de verificação grátis
Qualisend
Guia de configuração de SPF

SPF, DKIM & DMARC para Amazon SES.

O Amazon SES é um remetente "por conta": não existe uma linha SPF compartilhada para colar no seu domínio raiz nem um assistente de autenticação de domínio que gerencie o seu DNS por você. Você verifica o seu domínio e ativa o Easy DKIM — três registros CNAME por conta que o SES gera — e, como o remetente de envelope padrão do SES fica em amazonses.com, você opcionalmente adiciona um subdomínio MAIL FROM personalizado para deixar o SPF alinhado ao seu próprio domínio também. Assim que os CNAMEs do DKIM resolvem, o SES assina cada mensagem com d=yourdomain.com, então o DMARC passa pelo alinhamento de DKIM mesmo antes de você mexer no SPF.

Autenticação por conta
Your DNSAdd the CNAME / TXT records
Amazon SESSigns & sends as your domain
The inboxSPF · DKIM · DMARC pass

Por que autenticar o Amazon SES?

O SES entrega a você uma infraestrutura de envio bruta e de alta entregabilidade, mas deliberadamente não publica a autenticação em seu nome como fazem os assistentes do Mailchimp ou do SendGrid — esse fardo é seu, e ignorá-lo é o motivo pelo qual o e-mail do SES tantas vezes cai no spam. Desde fevereiro de 2024, o Gmail e o Yahoo passaram a exigir que todo remetente em massa (aproximadamente 5.000+ mensagens por dia) passe em SPF, DKIM e DMARC com alinhamento, e a Microsoft começou a rejeitar e-mails fora de conformidade em 2025. Se você envia pelo SES sem ativar o Easy DKIM, as suas mensagens são assinadas apenas com a chave compartilhada amazonses.com, nada se alinha ao seu domínio, o DMARC falha e a sua reputação fica misturada com a de todos os outros inquilinos não autenticados do SES. Ativar o Easy DKIM resolve o cerne disso de uma só vez: o SES assina como d=yourdomain.com, o DKIM alinha, o DMARC passa e a reputação de envio que você constrói se acumula no seu próprio domínio. Um domínio MAIL FROM personalizado, então, adiciona o alinhamento de SPF por cima, para os destinatários que dão peso a ele.

A realidade do SPF para o Amazon SES

O Amazon SES é um provedor por conta, não um provedor de "include" — para a maioria das pessoas NÃO existe um include:amazonses.com para adicionar ao seu registro SPF RAIZ, e você não deve adicionar um lá. Por padrão, o SES define o MAIL FROM de envelope (o Return-Path / endereço de bounce) como um subdomínio de amazonses.com. Portanto, o SPF é verificado contra o próprio registro publicado de amazonses.com e PASSA automaticamente — mas passa para amazonses.com, não para o seu domínio, então não está "alinhado" e, por si só, não faz nada pelo DMARC. Isso é intencional e está tudo bem, porque o Easy DKIM carrega o DMARC por meio do alinhamento de DKIM (o SES assina com d=yourdomain.com). Se você também quiser o SPF alinhado ao seu domínio — cinto e suspensório, e útil porque alguns destinatários dão peso ao alinhamento de SPF —, você configura um subdomínio MAIL FROM personalizado (por exemplo, mail.yourdomain.com) e publica v=spf1 include:amazonses.com ~all mais um registro MX apontando para feedback-smtp.{region}.amazonses.com. O ponto crucial é que esses dois registros vão no SUBDOMÍNIO MAIL FROM, nunca no seu SPF raiz. O seu SPF raiz permanece intocado, o SES não adiciona nenhuma consulta de DNS a ele, e o include:amazonses.com aparece apenas nesse subdomínio dedicado.

Duas maneiras de configurar

Recomendado

Easy DKIM — 3 CNAMEs (recomendado)

  • O SES gera um par de chaves RSA de 2048 bits e você publica três tokens CNAME que delegam a chave de volta ao SES
  • O SES mantém e rotaciona a chave privada — nada para você gerar, armazenar, fazer backup ou rotacionar
  • Publicar os três CNAMEs verifica a identidade do domínio e ativa a assinatura DKIM em um único passo
  • Funciona de imediato com alinhamento d=yourdomain.com, então o DMARC passa pelo DKIM sem alterações no SPF
Legado

BYODKIM — 1 TXT (traga sua própria chave)

  • Você gera a chave RSA por conta própria (1024–2048 bits, PKCS#1 ou PKCS#8, base64/PEM) e publica um TXT selector._domainkey com a chave pública
  • Útil quando a política exige que você tenha a custódia da chave, ou quando você quer reutilizar uma chave entre provedores/regiões
  • Você é responsável pelo armazenamento e pela rotação da chave — o SES nunca vê a chave privada
  • Um único registro DNS em vez de três, mas sem rotação automática de chave

Passo a passo

No console do SES
  1. 1

    Crie (ou abra) a identidade de domínio

    Abra o console do SES em console.aws.amazon.com/ses e, em Configuration, escolha Identities → Create identity → Domain. Digite yourdomain.com. Se o domínio já existir, abra-o e use a aba Authentication.

  2. 2

    Mantenha o Easy DKIM em RSA_2048

    Em Advanced DKIM settings, deixe Identity type = Easy DKIM e DKIM signing key length = RSA_2048_BIT (o padrão e a escolha mais forte; RSA_1024_BIT é apenas uma configuração legada mais fraca). Certifique-se de que DKIM signatures = Enabled. Escolha BYODKIM apenas se você precisar fornecer a sua própria chave.

  3. 3

    (Opcional) Defina um domínio MAIL FROM personalizado

    Na página da identidade, abra o painel Custom MAIL FROM domain → Edit → marque "Use a custom MAIL FROM domain" e digite um subdomínio dedicado como mail.yourdomain.com (usado para nada mais). Defina Behavior on MX failure como "Use default MAIL FROM domain" enquanto o DNS propaga.

No seu DNS
  1. 4

    Adicione os três registros CNAME do DKIM

    O SES mostra três registros no formato token1._domainkey → token1.dkim.amazonses.com (token2, token3 de forma semelhante). Adicione cada um como CNAME exatamente como exibido. Publicar esses registros verifica o domínio e ativa o DKIM — não há TXT para colar no Easy DKIM.

  2. 5

    Adicione o MX e o SPF do MAIL FROM (só se você ativou o MAIL FROM personalizado)

    No subdomínio MAIL FROM, adicione um registro MX, prioridade 10, valor feedback-smtp.{region}.amazonses.com (específico da região, por exemplo us-east-1), e um registro TXT v=spf1 include:amazonses.com ~all. Ambos ficam em mail.yourdomain.com, não no seu domínio raiz.

  3. 6

    Publique ou mantenha um registro DMARC

    Adicione um registro TXT em _dmarc.yourdomain.com começando com v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com. Mantenha exatamente um registro _dmarc para o domínio inteiro — não adicione um segundo para o SES.

  4. 7

    Desative o proxy do Cloudflare nos CNAMEs

    Se o seu DNS estiver no Cloudflare, defina cada CNAME do DKIM como "DNS only" (nuvem cinza). Um CNAME com proxy de nuvem laranja não resolverá para *.dkim.amazonses.com e a verificação de DKIM ficará travada em pending.

Verifique
  1. 8

    Aguarde o SES detectar os registros

    De volta ao console, o status do DKIM passa para Verified/Successful e, se você configurou um, o estado do MAIL FROM personalizado passa para Success. A detecção normalmente leva minutos, mas o SES permite até 72 horas; o SES envia um e-mail a você quando cada etapa se completa.

  2. 9

    Solicite acesso de produção (saia do sandbox)

    Contas novas começam no sandbox do SES — você só pode enviar para endereços verificados, com limite de 200 mensagens/dia e 1/segundo. No Account dashboard, escolha Request production access, ou o seu e-mail real nunca sairá, por mais perfeito que esteja o seu DNS.

  3. 10

    Envie um teste e leia os cabeçalhos

    Envie uma mensagem real a partir de um endereço no domínio e abra-a no Gmail → Mostrar original. Confirme DKIM: PASS com d=yourdomain.com, SPF: PASS e DMARC: PASS.

Registros a adicionar

O Amazon SES gera os valores exatos no seu assistente de configuração — estes mostram o formato do que você vai adicionar no seu provedor de DNS.

TipoHostValor
CNAMEtoken1._domainkeytoken1.dkim.amazonses.comChave 1 do Easy DKIM — o token é exclusivo da sua conta/região e o SES rotaciona a chave por trás dele
CNAMEtoken2._domainkeytoken2.dkim.amazonses.comChave 2 do Easy DKIM (token por conta)
CNAMEtoken3._domainkeytoken3.dkim.amazonses.comChave 3 do Easy DKIM (token por conta)
MXmailfeedback-smtp.us-east-1.amazonses.comSomente MAIL FROM personalizado — prioridade 10, host específico da região; exatamente um MX neste subdomínio
TXTmailv=spf1 include:amazonses.com ~allSomente MAIL FROM personalizado — vai no subdomínio MAIL FROM, NÃO no seu SPF raiz
TXT_dmarcv=DMARC1; p=none; rua=mailto:dmarc@yourdomain.comA sua política DMARC — uma por domínio, comece em p=none

Mantenha exatamente um registro TXT de SPF (v=spf1) no seu domínio raiz — combine todos os remetentes nele. Ter dois registros SPF já é, por si só, um erro.

O limite de 10 consultas de DNS

O SPF tem um limite rígido de 10 consultas de DNS — se passar disso, ele retorna um permerror e para de validar em todo lugar. Veja quanto a configuração do Amazon SES consome desse limite.

SPF 10-lookup budget0 used · 10 free

A configuração recomendada do Amazon SES adiciona 0 consultas — todas as 10 ficam livres para os remetentes que realmente precisam de um include.

DKIM

O DKIM é o registro que sustenta tudo no SES, e o Easy DKIM torna isso automático. Quando você o ativa, o SES gera um par de chaves RSA de 2048 bits (RSA_2048 é o padrão do console; 1024 bits é apenas uma opção legada mais fraca) e fornece três tokens. Você os publica como CNAMEs — token1._domainkey.yourdomain.com → token1.dkim.amazonses.com, e o mesmo para token2 e token3. Note que o comprimento da chave não muda o que você armazena: o Easy DKIM sempre publica três CNAMEs curtos, quer você escolha 1024 ou 2048, porque a chave pública real fica do lado do SES no CNAME, não na sua zona. Como esses são CNAMEs delegados ao SES em vez de registros TXT que você cola, o SES mantém a chave privada e pode rotacionar as chaves publicadas por trás desses seletores sem que você precise editar o DNS de novo. Cada mensagem é então assinada com d=yourdomain.com, que é o que se alinha para o DMARC. No console atual do SES, essa mesma publicação de CNAME também é o que verifica a identidade do domínio (verificação baseada em DKIM), então normalmente não há um token TXT _amazonses separado para adicionar. Duas ressalvas: no Cloudflare os CNAMEs precisam estar DNS-only (nuvem cinza), e as identidades do SES são por região da AWS — enviar de uma segunda região gera seus próprios três tokens, que você também precisa publicar. Se você não puder usar CNAMEs, o BYODKIM é a alternativa: você gera a chave e publica um único TXT selector._domainkey com a chave pública (e aí a chave de 2048 bits gera um valor TXT mais longo, que alguns provedores de DNS dividem em várias strings), mas então a rotação é responsabilidade sua.

DMARC

O DMARC é um registro de política separado no seu domínio raiz, não algo que o SES publica por você. Adicione um registro TXT em _dmarc.yourdomain.com começando com v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com — p=none é apenas monitoramento, então não afetará a entrega enquanto você confirma que o e-mail do SES passa com alinhamento. A nuance específica do SES: como o MAIL FROM de envelope padrão do SES é um subdomínio de amazonses.com, o SPF passa mas não fica alinhado ao seu domínio, então em uma configuração padrão do SES o DMARC passa inteiramente pelo alinhamento de DKIM. Isso significa que você precisa ter o Easy DKIM (ou BYODKIM) ativado e verificado antes de endurecer a política — com o DKIM desligado, uma configuração do SES com MAIL FROM padrão falha o DMARC completamente. Assim que os relatórios agregados (rua) confirmarem que o SES é uma fonte consistente e alinhada ao longo de uma ou duas semanas, mude de p=none para p=quarantine e, por fim, p=reject. Se você também configurar um domínio MAIL FROM personalizado, ganhará alinhamento de SPF por cima, dando duas formas independentes de passar. Mantenha exatamente um registro _dmarc para o domínio inteiro, não importa quantos remetentes você opere — nunca adicione um segundo para o SES.

Confirme que funcionou de verdade

Não confie apenas nos selos do console — confirme em uma mensagem real. No SES, o status do DKIM da identidade deve constar como Verified/Successful e, se você configurou um, o estado do MAIL FROM personalizado deve constar como Success. Então envie para si mesmo um teste a partir de um endereço no domínio, abra-o no Gmail e escolha ⋮ → Mostrar original: você quer ver DKIM: PASS exibindo d=yourdomain.com (não amazonses.com), mais DMARC: PASS. O SPF vai mostrar PASS para o seu subdomínio MAIL FROM, se você configurou um personalizado, ou para amazonses.com, se não configurou — o caso amazonses.com é esperado e o DMARC ainda passa porque o DKIM o carrega, então não trate isso como uma falha. Passe o seu domínio pela verificação de saúde de domínio da Qualisend para confirmar que todos os três CNAMEs do DKIM (e o MX/SPF do MAIL FROM, se usado) resolvem e, assim que os relatórios agregados de DMARC começarem a chegar, jogue um deles no analisador de relatórios DMARC — o SES deve aparecer como uma fonte alinhada e aprovada.

Pegadinhas comuns

  • Configuração de DNS

    O SES é por região. Identidades, os três tokens DKIM e o host MX feedback-smtp são todos delimitados a uma única região da AWS. Se você envia tanto de us-east-1 quanto de eu-west-1, cada região emite seus próprios três CNAMEs do DKIM e seu próprio MX regional — publique os registros de todas as regiões ou o e-mail da região não configurada não autenticará.

  • Cobertura

    Contas novas começam no sandbox. Até você fazer Request production access, o SES só entrega a destinatários verificados, com limite de 200 mensagens/dia e 1/segundo — um DNS perfeito não importa se você ainda está no sandbox.

  • Cobertura

    O alinhamento de SPF é opcional, não automático. Por padrão, o envelope é um subdomínio de amazonses.com, então o SPF passa mas não alinha e o DMARC se apoia inteiramente no DKIM. Ver "SPF: amazonses.com" é normal — só configure um MAIL FROM personalizado se você especificamente quiser o SPF alinhado também.

  • Quebra a autenticação

    Nunca adicione include:amazonses.com ao seu SPF RAIZ. Ele pertence somente ao subdomínio MAIL FROM personalizado. Na raiz, não faz nada de útil e desperdiça sem necessidade uma das suas 10 consultas de SPF.

  • Cobertura

    Exatamente um MX no subdomínio MAIL FROM. O SES falha a configuração de MAIL FROM personalizado se esse subdomínio tiver mais de um registro MX, então use um subdomínio dedicado (mail. ou bounce.) que não seja usado para enviar ou receber mais nada.

  • Configuração de DNS

    O proxy do Cloudflare quebra o DKIM. Defina os três CNAMEs como "DNS only" (nuvem cinza); um CNAME com proxy de nuvem laranja não resolverá para *.dkim.amazonses.com e a identidade fica em pending.

  • Quebra a autenticação

    Duplicação de host pelo registrador e pontos finais. Digite apenas o rótulo (token1._domainkey, mail), não o FQDN completo, se o seu painel anexar o domínio automaticamente; e onde um host pedir um FQDN para o valor do MX/CNAME, use um ponto final para que feedback-smtp.us-east-1.amazonses.com não seja deturpado em ...amazonses.com.yourdomain.com.

  • Cobertura

    "Behavior on MX failure = Reject message" é arriscado no início. Enquanto o DNS está propagando (ou se o MX alguma vez falhar em resolver), Reject vai rejeitar todo o seu e-mail — deixe em "Use default MAIL FROM domain" até o estado mostrar Success.

Monte seu registro SPF

O Amazon SES não precisa de um include: de SPF no seu domínio raiz — use o gerador para montar um único registro limpo para os seus outros remetentes, e mantenha tudo em uma só linha.

1

Sending sources

Search for each platform you send email through and tick it.

Search for your email platform above, or .

2

This domain's own servers

Authorize the domain itself, if it sends mail directly (not through a platform above).

3

Other senders & IPs

Anything not in the list — another provider's SPF host, or specific IP addresses.

We add the include: prefix — enter the hostname your provider documents.

4

Policy for everyone else

What receivers should do with mail from any server not listed above (the all mechanism).

Your SPF record0/10 DNS lookups
v=spf1 ~all

No senders yet, so every message would hit the ~all policy. Add the platforms you send through in step 1.

  • Publish it as a TXT record at your root domain — host @ (the bare domain), value the full string above.
  • Keep only one SPF record per domain. Merge every sending source into this single line — a second TXT record starting v=spf1 makes both invalid.
  • Stay at or under 10 DNS lookups. Each include:, a and mx counts, and an include can trigger more lookups inside itself — ip4: and ip6: are free.

Authentication published? The next step is sending to a clean, verified list.

Verify a list

SPF do Amazon SES — Perguntas frequentes

Leituras relacionadas

Depois de publicado, confirme se tudo resolve corretamente com o verificação de saúde do domínio e, em seguida, veja quem está enviando em seu nome com o analisador de relatórios DMARC. Explore todas as fontes de envio no gerador. A autenticação, porém, é só metade da entregabilidade — um IP ou domínio de envio que esteja listado ainda te joga no spam por mais limpo que seu SPF esteja, então vale a pena acompanhar as blacklists com o monitoramento de blacklists.

Autenticado — agora mantenha a lista limpa

Passar em SPF, DKIM e DMARC te leva à caixa de entrada; uma lista limpa te mantém lá. Verifique a sua — comece grátis com 100 créditos, sem precisar de cartão.

Começar a verificar