Email Spam Tester

Email Spam Tester › Email Spam Tester para cPanel & WHM

Email Spam Tester para cPanel & WHM

Um plugin para fornecedores de alojamento. Os seus clientes encontram-no no cPanel, em Email, enviam um email real a partir de uma das respetivas caixas de correio e obtêm uma lista do que devem corrigir, com o registo DNS exato ou o botão do cPanel junto a cada problema encontrado.

Versão 0.1.1, 30 de setembro de 2026. Descarregar (94 KB), SHA-256 4909ff8402b3244711bc13bac96cfc22810ee33d48f80885f87e44809572cdd0. Os passos de instalação encontram-se no final desta página, e o mesmo texto está no ficheiro INSTALL.md do arquivo. O código-fonte, os testes e as versões estão disponíveis no GitHub.

A quem se destina

Empresas que gerem servidores cPanel & WHM para terceiros. Instala-se uma vez como root e fica disponível em cPanel » Email para os pacotes que escolher. Até o ativar no Feature Manager, os clientes não veem nada de novo.

Sem esta funcionalidade, um cliente que queira saber por que motivo os seus emails vão parar ao spam tem de procurar uma ferramenta de teste, abrir um cliente de email e enviar manualmente um email. Com esta funcionalidade, o teste fica disponível através de um botão junto às caixas de correio, e o email é realmente enviado a partir do seu servidor, com o respetivo IP, nome HELO, assinatura DKIM e qualquer relay por onde passe.

O que os clientes obtêm no cPanel

Teste

O cliente escolhe uma caixa de correio e envia o email de teste padrão (um email pessoal curto em inglês, com uma parte de texto e outra em HTML) ou a sua própria mensagem. Para enviar a sua própria mensagem, cola um assunto, o HTML e, opcionalmente, uma versão em texto simples. A mensagem é enviada exatamente como foi colada. O Exim envia-a como qualquer outro email dessa conta. Cerca de um minuto depois, o relatório aparece na mesma página com todas as 42 verificações: SPF, DKIM, DMARC e alinhamento, DNS inverso e HELO, TLS, listas de bloqueio de IP, SpamAssassin e Rspamd, os requisitos para remetentes publicados pelo Gmail e Yahoo e o conteúdo. Existem duas pontuações, uma pontuação técnica de 0 a 100 e a pontuação clássica de 0 a 10.

A opção "Verificar a pasta nos fornecedores de email" está selecionada por predefinição. Com esta opção, também é enviada uma cópia do email para cada uma das nossas caixas de correio de teste, cerca de 30 emails em 14 fornecedores, incluindo Gmail, Outlook, Yahoo, GMX e Proton. No Gmail, são caixas de correio de teste públicas, onde qualquer pessoa pode ver o assunto, o nome do remetente e a pasta. A tabela é preenchida durante um período máximo de 30 minutos e mostra Caixa de entrada, Spam ou Promoções para cada fornecedor. Se um fornecedor tiver recusado o email, a tabela indica-o e apresenta a resposta do respetivo servidor, incluindo o código SMTP, obtida a partir do registo do Exim no seu servidor.

Abaixo das pontuações aparece O que corrigir. Quando o DNS do domínio está no seu servidor, o cPanel pode corrigir DKIM, SPF e DMARC através de um botão. O plugin mostra o registo atual e como ficará, e pede confirmação primeiro. Quando o DNS está alojado noutro local, o cliente recebe o registo exato que deve copiar, com o respetivo nome, tipo e valor. O DNS inverso e o registo A do próprio servidor aparecem num grupo separado destinado ao administrador do servidor, com os valores já preenchidos. Alguns minutos após as verificações, é apresentado um plano escrito pelo Email Spam Tester. A opção "Verificar novamente" envia um novo email depois de os registos estarem configurados.

Histórico

Todos os testes enviados pela conta, do mais recente para o mais antigo, com a data, a caixa de correio, o email utilizado, ambas as pontuações e as contagens por pasta. Um gráfico mostra a evolução da pontuação entre testes. Cada teste apresenta as verificações cujo resultado mudou desde o teste anterior do mesmo domínio. Assim, se uma verificação de DKIM passar de falhada para aprovada após uma correção, a alteração aparece diretamente nessa linha. Ao abrir um teste, são apresentados o respetivo relatório e, para cada fornecedor, as respostas dos servidores de receção. Os últimos 200 testes de cada conta são guardados no seu servidor.

Monitorização contínua

Um teste feito a partir de uma caixa de correio mostra como são enviados os emails dessa caixa. O problema clássico do cPanel ocorre noutro local. Um site WordPress ou um formulário de contacto envia com o remetente do envelope user@hostname, o alinhamento de SPF falha e nenhum teste feito a partir de uma caixa de correio alguma vez o mostrará. A monitorização mostra-o.

A cópia invisível criada pela monitorização sai do seu servidor pelo mesmo percurso do email, a partir do mesmo IP, com o mesmo HELO e a mesma assinatura DKIM. O Exim cria-a para cada email enviado por um domínio monitorizado e entrega-a num endereço privado pertencente ao domínio. Desta forma, o relatório descreve o percurso real, enquanto o próprio email chega aos destinatários sem alterações.

O separador Monitorização mostra os emails do domínio num fluxo. Cada um apresenta o domínio do destinatário (nunca o endereço), a respetiva origem e o que falhou. As origens incluem webmail, um cliente de email, PHP ou WordPress e scripts que chamam sendmail. Acima do fluxo aparecem um resumo de uma linha das últimas 24 horas e os alertas: DKIM deixou de ser aprovado, SPF ou DMARC falha para uma origem, o IP de envio está numa lista de bloqueio ou os servidores de receção estão a recusar emails. É possível abrir qualquer email para ver um relatório técnico das respetivas verificações (os cabeçalhos do email não são incluídos), e o cliente pode pedir um plano de IA para esse email.

A monitorização permanece desativada até o administrador a permitir no servidor. Depois disso, cada cliente ativa-a para os seus próprios domínios.

O que está disponível no WHM

WHM » Plugins » Email Spam Tester é uma única página.

Preço

Gratuito por enquanto, com monitorização incluída. Não é necessário criar uma conta em email-spam-tester.com e, neste momento, não há nada a pagar. Se isso alguma vez mudar, será anunciado primeiro no registo de alterações.

Dados e privacidade

O que sai do seu servidor:

Um relatório de teste funciona como no site: permanece disponível na respetiva ligação e qualquer pessoa com essa ligação pode abri-lo, incluindo o assunto e o remetente. O próprio email é eliminado uma hora depois de chegar, após a execução das verificações. Até lá, qualquer pessoa com a ligação pode lê-lo na íntegra. A parte do Gmail na verificação de pastas também é pública, conforme descrito acima, por isso é preferível testar emails confidenciais sem essa parte.

As cópias de monitorização são correspondência real e os respetivos relatórios são privados. Apenas o plugin no seu servidor pode abri-los, utilizando a chave de instalação, e não existe uma ligação pública. Uma cópia é eliminada dois dias depois de chegar e o respetivo relatório após 90 dias. O histórico e o feed de monitorização permanecem no seu servidor.

A página de privacidade contém a política completa.

Perguntas dos fornecedores de alojamento

Altera o DNS automaticamente?

Não. Um registo só é alterado quando o cliente prime o botão junto a um problema e confirma o antes e o depois, e apenas quando o seu servidor aloja o DNS do domínio. Os botões de SPF e DMARC apenas criam um registo em falta. Se já existir um, é apresentado de forma consolidada para o cliente o copiar manualmente, e o botão nunca o substitui. O botão de DKIM pode substituir um registo que não corresponda à chave do servidor, mas apenas se existir exatamente um. Todas as alterações são guardadas no registo de atividade da conta e noutro em /var/cpanel/email_spam_tester/, que apenas o utilizador root pode editar, juntamente com o registo DNS que era disponibilizado anteriormente.

O meu servidor encaminha o correio enviado através de um smarthost. Continua a funcionar?

Deverá funcionar, mas ainda não o testei com um smarthost. O email de teste é enviado da mesma forma que todo o correio da conta, por isso o relatório apresenta o IP e o nome do relay, pois é isso que os destinatários veem. Corrigir o DNS inverso ou removê-lo de uma lista de bloqueio passa a ser responsabilidade de quem gere o relay. No entanto, perde-se uma informação. Os motivos apresentados por um fornecedor para recusar um email são obtidos a partir do registo do Exim no seu servidor e, com um relay, esse registo contém apenas a resposta do relay. Um email que o relay tenha aceitado e que um fornecedor tenha recusado posteriormente pode aparecer como "Not received". As cópias de monitorização também passam pelo relay.

A monitorização afeta a capacidade de entrega?

O email do cliente é enviado como antes, sem alterações, e os destinatários não veem nada, pois a cópia é uma entrega separada para o nosso endereço. O que é afetado é o limite de envio por hora. Cada cópia conta uma vez para o "max emails per hour" do domínio, por isso um domínio próximo do limite atinge-o mais cedo, no máximo em 20 emails por hora com a predefinição. Depois de esse número de cópias ser atingido numa hora, os emails são enviados sem cópia.

A verificação de pastas também conta para o limite por hora?

Sim, envia cerca de 30 emails. Antes de começar, o plugin verifica quantos emails o domínio ainda pode enviar nessa hora e informa o cliente se não forem suficientes.

O que foi testado num ambiente real?

É suportado cPanel & WHM 134 ou mais recente. Até agora, testei-o num ambiente real com a versão 138 (11.138) no Ubuntu 24.04. Isto abrange a instalação e uma atualização, o registo, a ativação e desativação da funcionalidade, os testes com e sem a verificação de pastas, o histórico e a monitorização de emails das quatro origens. Ainda não foram testados num ambiente real os outros sistemas operativos, o CloudLinux com CageFS, os botões de DKIM, SPF e DMARC (o DNS do servidor de teste está alojado noutro local), um servidor que encaminhe através de um smarthost e a desativação da monitorização em todo o servidor, que apenas foi simulada. Se executar o plugin numa destas configurações, gostaria de saber como correu.

Instalação, passo a passo

Este guia pressupõe que tem acesso root ao servidor e que nunca utilizou plugins do WHM. Cada comando abaixo deve ser copiado e colado tal como está.

1. O que é necessário

Pode verificar ambas as ligações antes da instalação. O primeiro comando deverá apresentar uma linha que começa por 220 e o segundo deverá apresentar 200:

timeout 10 bash -c 'exec 3<>/dev/tcp/t.email-spam-tester.com/25 && head -1 <&3'
curl -s -o /dev/null -w '%{http_code}\n' https://email-spam-tester.com/health

2. Instalação

Inicie sessão por SSH como root e execute estes comandos, um de cada vez.

Aceda ao diretório pessoal do root, onde o plugin ficará instalado:

cd /root

Descarregue o arquivo e a respetiva soma de verificação. Se funcionar, não é apresentado nada:

curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz.sha256

Verifique se a transferência está intacta. Deverá ver latest.tar.gz: OK. Se vir FAILED, volte a descarregar e não continue:

sha256sum -c latest.tar.gz.sha256

Extraia o conteúdo para /root/email-spam-tester-cpanel. Mais uma vez, não é apresentado nada:

mkdir -p email-spam-tester-cpanel
tar -xzf latest.tar.gz -C email-spam-tester-cpanel --strip-components=1

Execute o instalador. Este verifica primeiro todos os ficheiros e depois copia-os para os locais corretos:

cd /root/email-spam-tester-cpanel && ./install.sh

Deverá ver Checking Perl syntax…, Root module…, cPanel pages…, algumas linhas do instalador de plugins do próprio cPanel, Switching the feature off in all feature lists… e WHM page…. As últimas linhas deverão ser:

Installed. Next: WHM » Plugins » Email Spam Tester » Register this server.
Customers do not see it yet: turn on email_spam_tester in WHM » Feature Manager
for the feature lists (packages) that should have it.

Mantenha o diretório /root/email-spam-tester-cpanel. As atualizações e o uninstall.sh são executados a partir deste diretório.

3. Registar o servidor no WHM

  1. Inicie sessão no WHM como root.
  2. No menu do lado esquerdo, abra Plugins e clique em Email Spam Tester.
  3. A caixa Registration apresenta "Not registered". O campo do email do administrador abaixo é opcional.
  4. Clique em Register this server.

É apresentada uma linha verde no topo, "Registered. Installation #…", e a caixa passa a mostrar Status: Registered, com o número da instalação e o início da chave. O registo envia o hostname do servidor, a versão do cPanel, a versão do plugin, o número de contas e o email, caso tenha indicado um. A chave é guardada em /var/cpanel/email_spam_tester/config.json e apenas pode ser lida pelo root.

Na mesma página, pode alterar os limites diários: por predefinição, 20 testes por conta e 500 por servidor.

4. Ativar para os clientes

Depois da instalação, ninguém vê o plugin. Tem de escolher os pacotes que lhe dão acesso.

  1. Descubra que lista de funcionalidades é utilizada pelos seus pacotes: WHM » Packages » Edit a Package, escolha um pacote e consulte o campo Feature List. Em muitos servidores, é default.
  2. Abra WHM » Packages » Feature Manager.
  3. Em Manage feature list, selecione essa lista e clique em Edit.
  4. Encontre Email Spam Tester na lista (a função de pesquisa do navegador é útil se a lista for extensa), selecione a respetiva caixa e clique em Save.
  5. Repita o processo para todas as listas de funcionalidades que devam incluir o plugin.

Os clientes com esses pacotes passam a ver Email Spam Tester no cPanel, na secção Email. Lembre-se também de o selecionar nas listas de funcionalidades que criar mais tarde.

5. Enviar o primeiro teste como cliente

Inicie sessão no cPanel como um desses clientes. A partir do WHM, pode utilizar Account Information » List Accounts e o ícone do cPanel junto à conta.

  1. Abra Email » Email Spam Tester. A página tem três separadores: Test, History e Monitoring.
  2. No separador Test, escolha uma caixa de correio. Se a conta não tiver nenhuma, crie primeiro uma em Email » Email Accounts.
  3. Mantenha Standard test email selecionado e a opção Check the folder at email providers assinalada.
  4. Clique em Send test.

A página mostra o que está a fazer: verificar registos DNS, enviar e aguardar a chegada do email. Cerca de um minuto depois, é apresentado o relatório. Inclui duas pontuações, uma pontuação técnica de 0 a 100 e a pontuação clássica de 0 a 10, seguidas de What to fix. Essa lista apresenta um botão quando o cPanel consegue corrigir um registo neste servidor, o registo exato que deve copiar quando o DNS está alojado noutro local e os valores de DNS inverso para si, enquanto administrador do servidor. A seguir, são apresentadas todas as verificações. A secção Where the email landed é preenchida ao longo dos 30 minutos seguintes com Inbox, Spam ou Promotions para cada fornecedor de email, bem como a resposta do fornecedor quando este recusou o email. Alguns minutos depois das verificações, é apresentado um plano escrito.

A verificação das pastas envia cerca de 30 emails. Se o limite de envio por hora do domínio não tiver capacidade para os enviar, a página informa-o antes de enviar qualquer email.

6. Monitorização contínua (opcional)

Quando a monitorização está ativa para um domínio, o Exim envia uma cópia invisível de cada email enviado pelo domínio para um endereço privado do Email Spam Tester, e o cliente vê um relatório técnico de cada email. Os destinatários não veem nada. Cada cópia conta uma vez para o limite de envio por hora do domínio, até um máximo predefinido de 20 cópias por hora.

  1. Em WHM » Plugins » Email Spam Tester, encontre a caixa Constant monitoring e clique em Allow constant monitoring on this server. O plugin verifica a configuração do Exim, adiciona a respetiva regra, recompila e reinicia o Exim e repõe tudo se algum passo falhar. Quando funciona, vê "Constant monitoring is allowed on this server: the Exim rule is in, Exim was rebuilt and restarted." e a caixa apresenta a regra como Active.
  2. O cliente abre o separador Monitoring no cPanel, clica em Turn on junto a um domínio e confirma. Os emails enviados depois disso aparecem no separador no espaço de um ou dois minutos.

Para parar a monitorização em todo o servidor, clique em Disable monitoring on the whole server na mesma caixa.

7. Atualização

Descarregue e extraia a nova versão sobre a versão antiga e, em seguida, execute novamente o instalador:

cd /root
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz.sha256
sha256sum -c latest.tar.gz.sha256
tar -xzf latest.tar.gz -C email-spam-tester-cpanel --strip-components=1
cd /root/email-spam-tester-cpanel && ./install.sh

Deverá terminar com "Updated. The registration, limits and feature settings are unchanged." Se a monitorização estiver permitida, o instalador também atualiza a regra do Exim.

8. Desinstalação

cd /root/email-spam-tester-cpanel && ./uninstall.sh

Este comando remove a regra de monitorização do Exim, desativa a monitorização em todos os domínios e remove o plugin do cPanel e do WHM. Termina com "Removed. The key is kept in /var/cpanel/email_spam_tester (use --purge to delete it)." Em alternativa, execute ./uninstall.sh --purge para também eliminar a chave.

Os registos DNS nunca são alterados, incluindo os que os clientes criaram através dos botões do plugin.

9. Se algo correr mal

Os clientes não veem o ícone. A funcionalidade está desativada na lista de funcionalidades do respetivo pacote. Repita o passo 4 e confirme que lista de funcionalidades é realmente utilizada pelo pacote.

A página apresenta "The server administrator has not activated Email Spam Tester in WHM yet". O servidor não está registado. Execute o passo 3.

O registo falha. A mensagem vermelha no topo da página do WHM indica o motivo. Na maioria dos casos, o servidor não consegue aceder a email-spam-tester.com por HTTPS: execute a verificação com curl do passo 1, que tem de apresentar 200, e consulte as regras da firewall para o tráfego de saída.

O teste indica que a mensagem não chegou no prazo de 3 minutos. O email está preso na fila ou foi recusado. Execute a verificação da porta 25 do passo 1. Se não apresentar nada ou exceder o tempo limite, o seu fornecedor bloqueia a porta de saída 25: peça-lhe que a abra ou envie o correio através de um relay. Para ver o que o Exim fez com o email:

grep 't.email-spam-tester.com' /var/log/exim_mainlog | tail -5

O cliente também pode consultar Email » Track Delivery para a caixa de correio.

Por vezes, as páginas em cpanel.<domain> falham com um erro 502. Trata-se do proxy do Apache para os subdomínios de serviço do cPanel e afeta todas as páginas do cPanel, não apenas este plugin. O endereço direto https://<domain>:2083 não é afetado. Para corrigir o problema, abra WHM » Service Configuration » Apache Configuration » Include Editor, escolha Pre VirtualHost Include para todas as versões, adicione estas linhas e guarde:

<IfModule setenvif_module>
    SetEnvIfNoCase Host "^(cpanel|webmail|whm|webdisk|cpcalendars|cpcontacts)\." proxy-nokeepalive=1 proxy-initial-not-pooled=1
</IfModule>

Em seguida, aplique a alteração:

apachectl configtest && /scripts/rebuildhttpdconf && /scripts/restartsrv_httpd

10. Suporte

Escreva para hi@email-spam-tester.com. Inclua o resultado de ./install.sh se a instalação tiver falhado ou a ligação para o relatório se um teste parecer incorreto. Pode encontrar mais informações sobre o plugin em https://email-spam-tester.com/cpanel-integration/.