Email Spam Tester Executar um teste · Para agentes · API

Como o teste funciona

Envie uma mensagem para um endereço descartável e 39 testes serão executados nela. Esta página reúne todos eles: o que cada um analisa, quanto custa à sua pontuação quando falha e de qual seção do padrão vem.

Nada aqui é nossa opinião apresentada como regra. Quando um teste aplica algo que um padrão determina, a frase desse padrão é citada abaixo dele. Quando ele aplica algo que Google ou Yahoo exige, a página correspondente é vinculada. Quando se trata do nosso próprio julgamento, isso é indicado.

Autenticação

Se o servidor de recebimento consegue provar que a mensagem veio de onde afirma ter vindo. Esta é a metade da capacidade de entrega que depende exclusivamente de DNS e a metade que Gmail e Yahoo tornaram obrigatória para remetentes em massa em 2024.

Cadeia ARC auth.arc

O ARC preserva o resultado da autenticação ao passar por um encaminhador. Sem ele, uma lista de discussão que adiciona um rodapé invalida sua assinatura DKIM, e a cópia encaminhada falha no DMARC no destino final.

Se falhar: Nada a fazer como remetente. Isso é importante se você opera uma lista ou um encaminhador, e explica por que algumas de suas mensagens falham no DMARC depois que alguém as encaminha.

Custa até 2 pontos de 100 na nossa pontuação.

RFC 7960 §1 — Introduction

DMARC with restrictive policies causes problems for many Mailing Lists.

RFC 8617 §2.1 — Evidence

In ARC's situation, the "evidence" is a message's authentication assessment at any point along the delivery path between origination and final delivery.

Google — Requirements for bulk senders (5,000+/day)

Assinatura DKIM auth.dkim

DKIM assina partes da mensagem com uma chave privada e publica a chave pública no DNS. Verificamos todas as assinaturas que a mensagem contém e informamos o domínio de assinatura, o seletor e o tamanho da chave.

Se falhar: Ative o DKIM em sua plataforma de envio e publique a chave fornecida por ela. Use 2048 bits (1024 ainda é verificado, mas está sendo descontinuado).

Custa até 18 pontos de 100 na nossa pontuação e até 1 de 10 na pontuação clássica.

RFC 6376 §3.5 — The DKIM-Signature Header Field

The signature of the email is stored in the DKIM-Signature header field.

RFC 6376 §6.1 — Extract Signatures from the Message

Verifiers MUST NOT attribute ultimate meaning to the order of multiple DKIM-Signature header fields.

Google — Turn on DKIM for your domain

Google — Requirements for bulk senders (5,000+/day)

Alinhamento de DKIM auth.dkim_alignment

Uma assinatura válida não é suficiente para o DMARC. O domínio de assinatura precisa corresponder ao domínio no cabeçalho From, exatamente ou pelo domínio organizacional, dependendo da política que você publicou.

Se falhar: Assine com seu próprio domínio, em vez do domínio da sua plataforma. A maioria das plataformas oferece suporte a isso e o chama de domínio de envio personalizado ou autenticado.

Custa até 10 pontos de 100 na nossa pontuação e até 1 de 10 na pontuação clássica.

RFC 7489 §3.1.1 — DKIM-Authenticated Identifiers

DMARC permits Identifier Alignment, based on the result of a DKIM authentication, to be strict or relaxed.

Google — Add a DMARC record

Google — Requirements for bulk senders (5,000+/day)

Resultado do DMARC auth.dmarc

O DMARC vincula SPF e DKIM ao domínio que seu leitor vê e informa aos destinatários o que fazer quando nenhum dos dois está alinhado. Informamos a política publicada e se esta mensagem a satisfez.

Se falhar: Publique um registro DMARC. Comece com p=none, leia os relatórios por algumas semanas e depois passe para quarantine quando souber quais outros serviços enviam mensagens em seu nome.

Custa até 14 pontos de 100 na nossa pontuação.

RFC 7489 §6.6.2 — Determine Handling Policy

DMARC evaluation can only yield a "pass" result after one of the underlying authentication mechanisms passes for an aligned identifier.

RFC 7489 §6.3 — General Record Format

DMARC records follow the extensible "tag-value" syntax for DNS-based key records defined in DKIM [DKIM].

Google — Requirements for bulk senders (5,000+/day)

Yahoo — Sender requirements and recommendations

Sender ID auth.sender_id

A mesma verificação que o SPF, executada no domínio do cabeçalho From, em vez do envelope. Ela responde a uma pergunta diferente: se o domínio que seu leitor vê autoriza o servidor que enviou a mensagem. Uma mensagem pode ser aprovada no SPF em seu envelope enquanto o domínio visível não endossa ninguém.

Se falhar: Publique SPF para o domínio no seu cabeçalho From, não apenas para o domínio de devolução que sua plataforma forneceu.

Custa até 5 pontos de 100 na nossa pontuação e até 0.5 de 10 na pontuação clássica.

RFC 4406 §4 — Record Selection

After the above steps, there should be one record remaining and evaluation can proceed.

SPF auth.spf

SPF é um registro DNS que lista quais servidores podem enviar mensagens pelo seu domínio. O servidor receptor pega o endereço no envelope, consulta o registro desse domínio e verifica se o IP que está se conectando consta nele. Informamos o resultado e o número de consultas DNS de que o registro precisou, porque a avaliação para em dez e qualquer valor acima disso é um erro permanente, em vez de uma aprovação.

Se falhar: Publique um registro que identifique sua plataforma de envio e nada mais. Se o seu estiver próximo do limite de dez consultas, achate os includes que você não usa (um registro que é aprovado hoje começa a falhar no dia em que um provedor adiciona um include próprio).

Custa até 18 pontos de 100 na nossa pontuação e até 1 de 10 na pontuação clássica.

RFC 7208 §4.6.4 — DNS Lookup Limits

SPF implementations MUST limit the total number of those terms to 10 during SPF evaluation, to avoid unreasonable load on the DNS. If this limit is exceeded, the implementation MUST return "permerror".

RFC 7208 §2.6 — Results of Evaluation

Section 4 defines check_host(), a model function definition that uses the inputs defined above and the sender's policy published in the DNS to reach a conclusion about client authorization.

Google — Define an SPF record

Google — Requirements for bulk senders (5,000+/day)

Alinhamento de SPF auth.spf_alignment

Indica se o endereço de devolução corresponde ao endereço From que um leitor vê. O SPF autoriza o envelope, e o DMARC só considera essa autorização quando os dois estão alinhados.

Se falhar: Solicite à sua plataforma de envio um subdomínio de devolução do seu próprio domínio. Se o seu DKIM já estiver alinhado, isso não é urgente, mas deixa você sem uma alternativa quando o DKIM falha durante o trânsito.

Custa até 5 pontos de 100 na nossa pontuação e até 0.5 de 10 na pontuação clássica.

RFC 7489 §3.1.2 — SPF-Authenticated Identifiers

In relaxed mode, the [SPF]-authenticated domain and RFC5322.From domain must have the same Organizational Domain. In strict mode, only an exact DNS domain match is considered to produce Identifier Alignment.

RFC 7489 §6.6.2 — Determine Handling Policy

If one or more of the Authenticated Identifiers align with the RFC5322.From domain, the message is considered to pass the DMARC mechanism check.

Google — Add a DMARC record

Google — Requirements for bulk senders (5,000+/day)

Infraestrutura e reputação

A máquina e o endereço de onde a mensagem foi enviada e o que o restante da internet já pensa deles.

Nome de host de envio resolve infra.a_record

Se o nome de host anunciado no HELO tem algum registro de endereço.

Se falhar: Publique um registro A para o nome que seu servidor anuncia.

Custa até 5 pontos de 100 na nossa pontuação e até 3 de 10 na pontuação clássica.

RFC 5321 §5.1 — Locating the Target Host

If an empty list of MXs is returned, the address is treated as if it was associated with an implicit MX RR, with a preference of 0, pointing to that host.

Google — MX record values and troubleshooting

Listas de bloqueio infra.dnsbl

Se o IP de envio está listado por alguma das listas de bloqueio que os destinatários realmente consultam. Nossa relação é verificada usando o ponto de teste documentado de cada zona, em vez de ser montada a partir de uma pesquisa na web, porque uma zona inativa responde NXDOMAIN e isso é interpretado como "limpo".

Se falhar: Siga o processo de remoção da lista no site do operador responsável. Uma listagem em uma zona importante bloqueia o email por completo, portanto resolva isso antes de qualquer outra coisa na página.

Custa até 25 pontos de 100 na nossa pontuação e até 3 de 10 na pontuação clássica.

RFC 5782 §2.1 — IP Address DNSxL

Each IPv4 address listed in the DNSxL has a corresponding DNS entry.

RFC 5782 §5 — Test and Contact Addresses

IPv4-based DNSxLs MUST contain an entry for 127.0.0.2 for testing purposes.

Google — Postmaster Tools: reputation and delivery errors

Google — Email sender guidelines

Nome HELO infra.helo

O nome que o servidor de envio anuncia para si mesmo no início da conversa SMTP. Ele precisa ser um domínio totalmente qualificado que resolva.

Se falhar: Defina o nome de host do seu servidor de e-mail como um nome real no seu domínio, não como um ID de contêiner ou um nome interno.

Custa até 5 pontos de 100 na nossa pontuação.

RFC 5321 §4.1.1.1 — Extended HELLO (EHLO) or HELLO (HELO)

The argument clause contains the fully-qualified domain name of the SMTP client, if one is available.

Google — Email sender guidelines

Google — Requirements for bulk senders (5,000+/day)

Registro MX infra.mx

Se o domínio no seu cabeçalho From pode receber e-mails. Sem isso, respostas e mensagens de devolução não têm para onde ir, e os filtros consideram um domínio de envio que não pode receber como um sinal negativo.

Se falhar: Publique um registro MX para o domínio do qual você envia, mesmo que ele apenas encaminhe para uma caixa de correio que você lê uma vez por mês.

Custa até 5 pontos de 100 na nossa pontuação e até 3 de 10 na pontuação clássica.

RFC 5321 §5.1 — Locating the Target Host

The lookup first attempts to locate an MX record associated with the name.

Google — MX record values and troubleshooting

DNS reverso infra.rdns

Se o IP de envio resolve de volta para um nome de host e se esse nome de host resolve diretamente para o mesmo IP. O caminho de ida e volta é o ponto principal: é fácil configurar um PTR apontando para qualquer lugar, mas um par correspondente é uma evidência de que o endereço é seu.

Se falhar: Peça a quem controla o IP para configurar o PTR com um nome que você controla e certifique-se de que esse nome tenha um registro A apontando de volta.

Custa até 12 pontos de 100 na nossa pontuação e até 1.5 de 10 na pontuação clássica.

RFC 1912 §2.1 — Inconsistent, Missing, or Bad Data

Make sure your PTR and A records match. For every IP address, there should be a matching PTR record in the in-addr.arpa domain.

Google — Email sender guidelines

Google — Requirements for bulk senders (5,000+/day)

Criptografia de transporte infra.tls

Se a mensagem chegou por TLS e com qual cifra. Todos os sistemas modernos negociam TLS; uma mensagem que chega sem criptografia indica algo sobre a configuração de envio.

Se falhar: Habilite STARTTLS no servidor de envio. Todas as plataformas amplamente usadas já fazem isso, portanto uma falha aqui geralmente significa que há um relay auto-hospedado no caminho.

Custa até 5 pontos de 100 na nossa pontuação.

RFC 3207 §2 — STARTTLS Extension

The STARTTLS extension to SMTP is laid out as follows:

Google — Require TLS for secure message transport

Google — Requirements for bulk senders (5,000+/day)

Mecanismos de spam

O que filtros de conteúdo independentes concluem sobre a mensagem. Dois mecanismos em vez de um, porque a pontuação de um único mecanismo é a opinião desse mecanismo.

Avaliador de IA spam.ai_judge

Um modelo estima como um filtro moderno de aprendizado de máquina trataria a mensagem, com base nas constatações técnicas e nas medições do conteúdo. Ele vê os fatos, não o texto do corpo.

Se falhar: Apenas detalhamento por si só. Sua estimativa alimenta o veredito combinado abaixo.

Exibido para fins de detalhamento. Nunca afeta a pontuação.

Veredito combinado spam.panel

Um número gerado pelos mecanismos que responderam, ponderado para que o mais enfático não seja simplesmente diluído pela média. SpamAssassin e Postmark contam como um único voto porque compartilham uma base de regras.

Se falhar: Analise as constatações individuais. Esta linha muda quando elas mudam.

Custa até 25 pontos de 100 na nossa pontuação.

Google — Why Gmail marks messages as spam

How this score is calculated

Postmark SpamCheck spam.postmark

Uma terceira opinião, desativada por padrão. Seu endpoint recebe a mensagem inteira, e não podemos ocultar nenhuma parte dela sem destruir o que está sendo medido, portanto ativá-lo significa aceitar que cada mensagem testada seja copiada para terceiros.

Se falhar: Nada a fazer. Quando está desativado, a verificação informa que está desativado, o que não é o mesmo que uma aprovação.

Exibido para fins de detalhamento. Nunca afeta a pontuação.

Rspamd spam.rspamd

Um segundo filtro, desenvolvido de forma independente. Ele discorda do SpamAssassin com frequência suficiente para valer a consulta, motivo pelo qual está aqui.

Se falhar: Apenas detalhamento. A opinião deste mecanismo é incorporada ao veredito combinado, em vez de receber uma pontuação própria.

Exibido para fins de detalhamento. Nunca afeta a pontuação.

SpamAssassin spam.spamassassin

O filtro clássico baseado em regras, que ainda é o mecanismo por trás da maioria das ferramentas de teste de email. Cada regra acionada é listada com seu peso.

Se falhar: Leia as regras acionadas em vez do total. A maioria é fácil de corrigir depois que você consegue ver quais são.

Custa até 3 de 10 na pontuação clássica.

Google — Why Gmail marks messages as spam

Apache SpamAssassin — rule documentation

Conteúdo

A própria mensagem: sua estrutura, seus links, suas imagens, os elementos que um filtro lê antes de decidir.

Texto alternativo de imagem content.alt_attributes

Se as imagens contêm atributos alt. Clientes de e-mail bloqueiam imagens remotas por padrão, então, nos primeiros segundos, o texto alternativo é a sua mensagem.

Se falhar: Escreva um texto alternativo que transmita o significado e nunca deixe o elemento visual principal sem um.

Custa até 4 pontos de 100 na nossa pontuação e até 0.5 de 10 na pontuação clássica.

Google — Email sender guidelines

Script e iframe content.forbidden_tags

Se o HTML contém tags que nenhum cliente de e-mail executará. Na melhor das hipóteses, elas são removidas e, na pior, são tratadas como um sinal de evasão.

Se falhar: Remova script, iframe, object e embed. Qualquer elemento interativo deve ficar atrás de um link.

Custa até 10 pontos de 100 na nossa pontuação e até 1 de 10 na pontuação clássica.

Google — Email sender guidelines

Equilíbrio entre texto e HTML content.html_text_ratio

Quanto da mensagem é marcação em comparação com quanto é texto legível. Uma página de marcação envolvendo uma única frase é um formato que os filtros reconhecem.

Se falhar: Escreva uma parte de texto que diga o mesmo que o HTML, em vez de um placeholder.

Custa até 3 pontos de 100 na nossa pontuação e até 0.3 de 10 na pontuação clássica.

RFC 2046 §5.1.4 — Alternative Subtype

Systems should recognize that the content of the various parts are interchangeable.

Google — Why Gmail marks messages as spam

Partes de texto e HTML content.html_version

Se a mensagem contém uma alternativa em texto simples junto com o HTML. Alguns filtros consideram a ausência dela, e todo leitor de tela precisa de uma.

Se falhar: Envie multipart/alternative com uma versão de texto real, não uma parte vazia ou uma linha dizendo para visualizá-la em um navegador.

Custa até 5 pontos de 100 na nossa pontuação.

RFC 2046 §5.1.4 — Alternative Subtype

The "multipart/alternative" type is syntactically identical to "multipart/mixed", but the semantics are different. In particular, each of the body parts is an "alternative" version of the same information.

Google — Email sender guidelines

Tamanho do HTML content.html_weight

O tamanho da parte HTML. O Gmail corta uma mensagem após aproximadamente 102 KB e oculta o restante atrás de um link, levando junto o rodapé de cancelamento de inscrição.

Se falhar: Reduza o CSS inline e os blocos de estilo repetidos (a maioria dos templates cabe em um terço do limite depois que as regras não utilizadas são removidas).

Custa até 3 pontos de 100 na nossa pontuação e até 0.3 de 10 na pontuação clássica.

Google — Email sender guidelines

Peso das imagens content.images_weight

O tamanho total das imagens que a mensagem carrega. Imagens pesadas tornam a mensagem lenta em um celular, e emails compostos apenas por imagens têm um formato que os filtros tratam com suspeita.

Se falhar: Compacte-as e verifique se a mensagem continua legível com as imagens desativadas.

Custa até 3 pontos de 100 na nossa pontuação e até 0.3 de 10 na pontuação clássica.

Google — Email sender guidelines

Verificação de anexos content.malware

Se os anexos contêm malware conhecido. Em implantações nas quais o verificador está desativado, este item informa que a verificação não foi executada, em vez de informar que não há ameaças.

Se falhar: Se isso for acionado, pare de enviar e descubra o que há na máquina que gerou a mensagem.

Custa até 60 pontos de 100 na nossa pontuação.

Google — Why Gmail marks messages as spam

ClamAV — how detection works

Preheader content.preheader

A linha de pré-visualização que um cliente exibe ao lado do assunto. Sem ela, o cliente exibe o que vier primeiro no corpo, que geralmente é um link para visualizar no navegador.

Se falhar: Adicione um bloco de preheader oculto como o primeiro elemento do corpo.

Custa até 2 pontos de 100 na nossa pontuação.

Google — Email sender guidelines

Linha de assunto content.subject

O comprimento, o uso de maiúsculas e os padrões que os filtros pontuam. Medimos o assunto decodificado, portanto, uma linha em cirílico ou CJK é avaliada como texto, e não como sua codificação.

Se falhar: Mantenha-o com menos de aproximadamente 60 caracteres e remova as maiúsculas excessivas e os pontos de exclamação.

Custa até 3 pontos de 100 na nossa pontuação.

RFC 5322 §2.2 — Header Fields

Header fields are lines beginning with a field name, followed by a colon (":"), followed by a field body, and terminated by CRLF.

RFC 2047 §2 — Syntax of encoded-words

An 'encoded-word' is defined by the following ABNF grammar.

Google — Why Gmail marks messages as spam

Links encurtados content.url_shortener

Se os links passam por um encurtador público. Encurtadores ocultam o destino, que é exatamente o que os filtros são treinados para considerar suspeito.

Se falhar: Use links do seu próprio domínio ou use o domínio de rastreamento da sua plataforma em um subdomínio seu.

Custa até 5 pontos de 100 na nossa pontuação e até 0.5 de 10 na pontuação clássica.

Google — Why Gmail marks messages as spam

Regras para remetentes em massa

Os requisitos que Gmail e Yahoo publicam para qualquer pessoa que envie em grande volume. Eles se aplicam a disparos de email e são ignorados para mensagens que não parecem ser um disparo.

Política DMARC publicada compliance.dmarc_present

Se o domínio From publica algum registro DMARC, independentemente de esta mensagem ter passado na verificação. Gmail e Yahoo exigem um de remetentes em massa.

Se falhar: Publique um registro. p=none é suficiente para atender ao requisito e fornece relatórios com os quais você pode trabalhar.

Custa até 6 pontos de 100 na nossa pontuação.

RFC 7489 §6.3 — General Record Format

p: Requested Mail Receiver policy (plain-text; REQUIRED for policy records).

Google — Requirements for bulk senders (5,000+/day)

Yahoo — Sender requirements and recommendations

List-Unsubscribe compliance.list_unsubscribe

Se a mensagem contém um cabeçalho de cancelamento de inscrição que um cliente de e-mail pode utilizar. Gmail e Yahoo exigem isso de remetentes em massa, e sua ausência é usada como critério de filtragem independentemente de todo o resto.

Se falhar: Adicione um cabeçalho List-Unsubscribe com um URI HTTPS. Toda plataforma de envio consegue fazer isso.

Custa até 10 pontos de 100 na nossa pontuação e até 1 de 10 na pontuação clássica.

RFC 2369 §3.2 — List-Unsubscribe

The List-Unsubscribe field describes the command (preferably using mail) to directly unsubscribe the user (removing them from the list).

Google — Requirements for bulk senders (5,000+/day)

Yahoo — Sender requirements and recommendations

Cancelamento com um clique compliance.one_click_unsubscribe

A forma mais estrita: um URI HTTPS, um cabeçalho "List-Unsubscribe-Post" e uma única assinatura DKIM válida cobrindo ambos os cabeçalhos. Os três são necessários, ou o destinatário não exibe o botão.

Se falhar: O erro mais comum é a assinatura: as plataformas assinam "List-Unsubscribe" e esquecem "List-Unsubscribe-Post". Os nomes dos dois cabeçalhos precisam aparecer na tag h= da mesma assinatura.

Custa até 8 pontos de 100 na nossa pontuação.

RFC 8058 §4 — Additional Requirements

The List-Unsubscribe and List-Unsubscribe-Post headers MUST be covered by the signature and included in the "h=" tag of a valid DKIM-Signature header field.

RFC 8058 §3.1 — Mail Senders

The List-Unsubscribe header field MUST contain one HTTPS URI.

Google — Requirements for bulk senders (5,000+/day)

Yahoo — Sender requirements and recommendations

Recomendações

Vale a pena seguir e nunca afetam a pontuação. Nada nesta seção pode custar pontos, o que é uma decisão de produto aplicada pelos testes.

BIMI advisory.bimi

Se o domínio publica um registro BIMI, que coloca um logotipo ao lado das suas mensagens em alguns clientes. Primeiro, ele precisa de uma política DMARC aplicada e de um certificado de marca verificada que custa dinheiro.

Se falhar: Vale a pena fazer quando DMARC estiver em quarentena ou rejeição e o volume justificar o certificado.

Recomendação. Não custa nada.

BIMI — draft specification, not yet an RFC

Idade e tamanho da chave DKIM advisory.dkim_key_rotation

O tamanho da chave de assinatura e há quanto tempo ela está em uso. Chaves curtas ficam mais baratas de atacar offline a cada ano que passa.

Se falhar: Passe para 2048 bits e faça a rotação de acordo com um cronograma. Publique o novo seletor, passe a assinar com ele e depois desative o antigo.

Recomendação. Não custa nada.

RFC 8301 §3.2 — Key Sizes

Since short RSA keys more easily succumb to off-line attacks, Signers MUST use RSA keys of at least 1024 bits for all keys. Signers SHOULD use RSA keys of at least 2048 bits.

Google — Turn on DKIM for your domain

DNSSEC advisory.dnssec

Se o domínio está assinado. SPF, DKIM e DMARC ficam todos no DNS, portanto um invasor capaz de forjar respostas de DNS pode forjar os três.

Se falhar: Ative-o no seu registrador. Geralmente é uma única opção, e o registrador cuida do restante.

Recomendação. Não custa nada.

RFC 4033 §2 — Definitions of Important DNSSEC Terms

Authentication Chain: An alternating sequence of DNS public key (DNSKEY) RRsets and Delegation Signer (DS) RRsets

MTA-STS advisory.mta_sts

Se o domínio publica uma política instruindo outros servidores a recusarem entregas não criptografadas para você. Ela protege os e-mails enviados a você, e não os e-mails que você envia.

Se falhar: Publique o registro TXT e o arquivo de política por HTTPS (uma tarde de trabalho, e isso elimina um ataque de downgrade).

Recomendação. Não custa nada.

RFC 8461 §3 — Policy Discovery

To discover if a recipient domain implements MTA-STS, a sender need only resolve a single TXT record.

Relatórios de TLS advisory.tls_rpt

Se o domínio solicita relatórios quando alguém não consegue entregar mensagens a ele por TLS. Funciona em conjunto com MTA-STS: a política sem os relatórios impede que você saiba se ela está funcionando.

Se falhar: Adicione o registro TXT com um endereço que receba os relatórios diários.

Recomendação. Não custa nada.

RFC 8460 §3 — Reporting Policy

A domain publishes a record to its DNS indicating that it wishes to receive reports.