Todos os artigos

Helo command rejected: como configurar o HELO do seu servidor

··4 min de leitura

Um erro "Helo command rejected" quer dizer que o servidor receptor não gostou do nome com que o seu servidor se apresentou. Configure o HELO com um hostname totalmente qualificado como mail.example.com, dê a esse nome um registro A apontando para o IP de envio e configure o PTR do IP com o mesmo nome. Depois envie uma mensagem de teste para uma caixa externa e leia o cabeçalho Received para confirmar o que o servidor realmente anuncia.

Isto é uma configuração do servidor, não um problema da lista. Uma rejeição de HELO não diz nada sobre a existência do destinatário, então não apague endereços por causa dela. O Spamhaus também está implementando um requisito de HELO e DNS reverso desde novembro de 2026; o nosso post sobre o requisito de HELO e PTR do Spamhaus explica o que ele pede. Este post é a correção na prática.

Leia o erro primeiro

As duas versões mais comuns vêm das restrições de HELO do Postfix no lado receptor:

Erro Restrição do Postfix Código padrão O que significa
504 5.5.2 <localhost>: Helo command rejected: need fully-qualified hostname reject_non_fqdn_helo_hostname 504 (permanente) O nome não tem parte de domínio
450 4.7.1 <...>: Helo command rejected: Host not found reject_unknown_helo_hostname 450 (temporário) O nome não tem registro A nem MX
501 ... Helo command rejected: Invalid name reject_invalid_helo_hostname 501 (permanente) O nome está malformado

A nossa página do SMTP 504 tem mais exemplos do primeiro. Uma rejeição relacionada, a 550 5.7.25, é sobre o IP não ter registro PTR, e não sobre o HELO.

Passo 1: descubra o que o seu servidor anuncia

Não confie só no arquivo de configuração; um contêiner, um relay ou um segundo transporte podem sobrescrevê-lo.

  1. Envie uma mensagem do servidor para uma caixa postal externa que você controla.
  2. Abra os cabeçalhos completos da mensagem. O cabeçalho Received adicionado pelo servidor receptor diz algo como Received: from mail.example.com (mail.example.com [203.0.113.25]). O primeiro nome depois de from é o HELO; o IP entre colchetes é o IP de envio.
  3. Cole essa linha Received no verificador de hostname HELO. Ele lê o HELO e o IP da linha e roda as checagens de DNS.

O analisador de cabeçalhos de e-mail ajuda se o cabeçalho for longo e você quiser ver os saltos organizados.

Passo 2: mude o nome HELO

Postfix. O cliente SMTP anuncia smtp_helo_name, que por padrão é $myhostname. Defina qualquer um dos dois em /etc/postfix/main.cf:

myhostname = mail.example.com
# or, to change only what the client announces:
smtp_helo_name = mail.example.com

Rode postfix reload. Se você envia de vários IPs com transportes separados no master.cf, confira se cada um tem o próprio -o smtp_helo_name=.

Exim. O transporte smtp usa helo_data, que por padrão é o hostname principal do servidor. Defina primary_hostname = mail.example.com na configuração principal, ou helo_data = mail.example.com no transporte, e reinicie o Exim.

Exchange Server. O nome vem do FQDN do conector de envio. No centro de administração do Exchange, abra o conector de envio e defina o FQDN, ou rode Set-SendConnector "Internet" -Fqdn mail.example.com no Exchange Management Shell.

Apps e equipamentos. Impressoras, CRMs e scripts que enviam SMTP diretamente costumam ter um campo "HELO" ou "local hostname" (hostname local) nas configurações SMTP. Se estiver vazio, muitos usam por padrão o nome da máquina, e é assim que localhost e DESKTOP-1234 acabam no HELO.

Passo 3: alinhe o DNS

  1. Registro A: no DNS do seu domínio, crie um registro A para mail.example.com apontando para o IP de envio (e AAAA se você envia por IPv6).
  2. Registro PTR: peça a quem é dono do IP, normalmente o seu provedor de hospedagem ou de nuvem, para configurar o DNS reverso do IP como mail.example.com. Você não consegue configurá-lo na sua própria zona DNS. Confira com a consulta de DNS reverso.
  3. Confirmação direta: o registro A do nome do PTR deve apontar de volta para o mesmo IP. O nosso post sobre registros PTR para e-mail mostra isso com comandos dig.

O RFC 5321 só exige que o HELO seja o nome de domínio totalmente qualificado do cliente (ou um endereço literal). O PTR correspondente é o que as diretrizes para remetentes do Spamhaus e as checagens de listagem pedem, e não deixa nada para o receptor questionar.

Passo 4: confirme

Envie outro teste para uma caixa externa e leia o novo cabeçalho Received. O HELO deve ser mail.example.com, e o verificador de hostname HELO deve aprovar o registro A, o PTR e a confirmação direta. Mudanças de DNS podem levar até o TTL do registro para aparecer.

Erros que fazem o problema voltar

  • O domínio raiz como HELO (example.com), quando o registro A dele aponta para o site.
  • O nome padrão do provedor (vps12345.provider.net) como HELO enquanto o PTR diz outra coisa.
  • Um sufixo privado como .local ou .lan.
  • Vários nomes HELO para um mesmo remetente. O Spamhaus diz que vários valores de HELO resolvendo para IPs diferentes "may indicate residential proxy and/or malware behaviour" (podem indicar proxy residencial e/ou malware).
  • Um HELO corrigido com um IP em blacklist. Os nomes baterem não torna o IP confiável; rode também o verificador de blacklist de IP.

Onde o SimpleVerifier entra

O verificador de HELO, a consulta de DNS reverso e o analisador de cabeçalhos são gratuitos. A parte paga do SimpleVerifier é a verificação de listas, que mantém os bounces baixos quando o e-mail já está fluindo; ele não configura o seu servidor. As primeiras 100 checagens são grátis com login do Google na página de verificação. O Pro custa US$ 39 por mês: os primeiros 100.000 e-mails de cada mês rodam em velocidade máxima, e depois listas grandes rodam mais devagar, sem bloqueio. Veja os preços.

Perguntas frequentes

O que significa 'Helo command rejected: need fully-qualified hostname'?

O servidor receptor, muitas vezes um Postfix com reject_non_fqdn_helo_hostname, recusou o seu HELO porque o nome não é um nome de domínio completo. O código de resposta padrão do Postfix para isso é 504. Configure o HELO com um nome como mail.example.com que tenha registro A.

O que significa 'Helo command rejected: Host not found'?

O nome que o seu servidor anunciou não resolve no DNS. O reject_unknown_helo_hostname do Postfix retorna 450 por padrão, uma falha temporária, então o seu servidor vai tentar de novo. Crie um registro A para o nome ou troque o HELO por um nome que tenha um.

O HELO deve ser o meu domínio raiz, como example.com?

Só se o registro A de example.com apontar para o servidor de e-mail, o que normalmente não acontece; ele aponta para o site. Use um hostname de e-mail como mail.example.com com o próprio registro A apontando para o IP de envio.

Preciso mudar algo se envio pelo Google Workspace ou por um ESP?

Não. Os servidores deles anunciam o próprio HELO e são donos dos IPs e dos registros PTR. Isto vale quando você mesmo roda Postfix, Exim, Exchange ou um relay, ou quando um app ou equipamento envia SMTP diretamente.

Verifique e-mails por USD 39,00/mês, sem bloqueio

Checagem SMTP real da caixa postal. Sem créditos e sem cobrança por e-mail.

Começar agora

Leia o original em inglês