Comando Helo rejeitado: precisa do nome completo do host Erro

10

Meu servidor de correio está em alguma causa da lista negra de spams. Reconfigurei o postfix. Depois disso, meus clientes recebem esse erro e não podem enviar e-mails.

404 4.5.2 <PLLAMNAZIFE>: Helo command rejected: need fully-qualified hostname

No Mail.log:

postfix/smtpd[9853]: NOQUEUE: reject: RCPT from unknown[xx.xx.xx.xx]: 
404 4.5.2 <PLLAMNAZIFE>: Helo command rejected: need fully-qualified hostname; 
from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<PLLAMNAZIFE>

No meu main.cf:

   # rules restrictions
smtpd_client_restrictions =
        permit_sasl_authenticated 
smtpd_helo_restrictions =
        permit_mynetworks,
        reject_non_fqdn_helo_hostname,
        reject_invalid_helo_hostname,
        permit
smtpd_sender_restrictions =
smtpd_recipient_restrictions = 
        permit_sasl_authenticated, 
        reject_unauth_pipelining,
        reject_non_fqdn_recipient,
        reject_unknown_recipient_domain,
        permit_mynetworks, 
        reject_unauth_destination, 
        reject_invalid_hostname, 
        reject_non_fqdn_sender, 
        reject_unknown_sender_domain,
        reject_rhsbl_client blackhole.securitysage.com, 
        reject_rhsbl_sender blackhole.securitysage.com, 
        reject_rbl_client zen.spamhaus.org, 
        reject_rbl_client bl.spamcop.net, 
        reject_rbl_client blackholes.easynet.nl, 
        reject_rbl_client cbl.abuseat.org, 
        reject_rbl_client proxies.blackholes.wirehub.net, 
        reject_rbl_client dnsbl.njabl.org

smtpd_helo_required = yes
unknown_local_recipient_reject_code = 550
disable_vrfy_command = yes
smtpd_data_restrictions = reject_unauth_pipelining
RedLEON
fonte

Respostas:

17

Essa mensagem de erro está aparecendo porque o cliente de email está enviando apenas uma hostname nua ( "PLLAMNAZIFE") em vez de um nome de host totalmente qualificado (por exemplo, "PLLAMNAZIFE.example.com") na HELO/ EHLOparte da transação SMTP, e seu servidor Postfix está configurado para rejeitar esse correio.

Muitos programas de cliente de email não enviam nomes de host válidos, formatados e qualificados corretamente, no diretório HELO/ EHLO. Como você deve aceitar esse e-mail de clientes pagantes e ter pouco ou nenhum controle sobre o cliente de e-mail que eles usam (e como as HELOverificações não são muito úteis para bloquear o spam), provavelmente é melhor desativar as HELOverificações.

Para desativar as HELOverificações, remova as duas linhas a seguir da sua configuração do Postfix:

    reject_non_fqdn_helo_hostname,
    reject_invalid_helo_hostname,

Melhor ainda, remova toda a smtpd_helo_restrictions = ...regra e smtpd_helo_required = yes.

cas
fonte
obrigado. Desativei essas linhas e agora está funcionando. Posso enviar com mozilla thunderbird no meu pc. Mas meu cliente não pode enviar e-mails com o Outlook em seu PC. Existe alguma maneira de corrigir esse problema com a configuração de verificação HELO?
RedLEON
se você removeu as verificações helo e seus clientes ainda não conseguem enviar e-mail, é provável que haja outro problema, com um motivo diferente de rejeição no log de e-mail.
cas
Eles podem enviar agora. Mas eu quero configurar meu servidor como seguro
RedLEON
2
o que faz você pensar que as verificações helo aumentam a segurança?
cas
8

Você pode ignorar as restrições HELO para usuários autenticados inserindo permit_sasl_authenticatedantes de rejeitar regras na smtpd_helo_restrictionslista:

smtpd_helo_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_non_fqdn_helo_hostname,
    reject_invalid_helo_hostname,
    permit
Stas
fonte
1

A variável de nome do host para o seu servidor de email é inválida.

Tente alterar o valor do myhostnamecampo do /etc/postfix/main.cfvalor padrão para o nome do host (por exemplo, yourwebsite.comou mail.yourwebsite.com)

Jason Swartz
fonte
0

Demorei muito tempo para resolver isso

Estou executando um servidor centos e estava recebendo e-mails retornando relatando o erro "Comando Helo rejeitado: precisa do nome completo do host"

Acabei ativando "Reference / etc / mailhelo para SMTP de saída HELO [?]" Isso foi localizado em "exim configuration manager" e depois "Domains and IPS" no servidor VPS

Então eu usei o putty e remotei no servidor e executei este comando "sudo nano / etc / mailhelo"

Nesse arquivo, criei os domínios exemplo.com: exemplo.com sub.exemplo.com: exemplo.com exemplo.net: exemplo.net addon.exemplo.net: exemplo.net *: hostname.exemplo.com

(conforme http://docs.cpanel.net/twiki/bin/view/AllDocumentation/WHMDocs/EximDifferentIps )

Eu testei o envio de e-mails e tudo parece bom até agora

Matt Bird
fonte
0

Não é o seu servidor de email que rejeita o cliente, mas um servidor SMTP externo que rejeita a mensagem do servidor SMTP; o problema é que o servidor SMTP não envia seu nome FQDN na mensagem helo ao se comunicar com outros servidores.

Isso geralmente pode ser resolvido adicionando o IP público ao arquivo hosts com o FQDN no arquivo / etc / hosts. Como isso:

1.1.1.1 host.domain.com host

127.0.0.2 host.domain.com host

Onde 1.1.1.1 é o IP oficial.

Eu tive esse problema e não ajudou que o DNS estivesse trabalhando nos dois sentidos para frente / trás no IP público e eu tinha apenas meu próprio servidor de nomes no /etc/resolv.conf. Até o nome do host -f retornou o correto. Eu ainda tinha que colocar o ip e o nome do host em / etc / hosts para o sendmail usar realmente o FQDN em vez de apenas o nome abreviado do host.

Se você telnetar para o servidor na porta 25, verifique se a linha 220 indica o FQDN e não apenas o host. Como isso:

220 host.domain.com ESMTP Sendmail 8.15.2 / 8.15.2 / SuSE Linux 0.8; Segunda-feira, 9 de jul de 2018 18:19:48 +0200

Jonas Kvinge
fonte
0

Às vezes, um servidor tem um 'soluço'. Causada, por exemplo, por ataques de correio.

Primeiro tente reiniciar o servidor. Em seguida, defina o email no servidor como desativado após 15 segundos novamente.

Às vezes, o cmd HELO rejeitado é causado porque o email não pode carregar novas definições de antivírus; como o AmaVis, usado em servidores Apple. Uma reinicialização e desativação / desativação do aplicativo de email no servidor resolve esse problema. Felicidades.

Danny
fonte
0

Eu estava recebendo um nome que não era de domínio durante a execução hostname -f. Então, pesquisei no Google por nenhum domínio em "hostname -f" . Acabou que eu precisava editar /etc/hostname(estou no Debian) para resolver o problema. Depois de que ambos hostname -fe heloforam usando nome completo do host.

Jarekczek
fonte
0

Se você deseja rejeitar o HELO com nomes de host inválidos, mas ainda permitir que seus usuários possam enviar, mesmo que seus clientes não enviem FQDNs com o HELO, você pode deixar essas linhas no lugar como elas:

reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname,

Mas verifique se eles são precedidos por:

permit_sasl_authenticated,

Dessa forma, quando um de seus usuários se autenticar, ele poderá enviar e-mails, independentemente da validade do comando HELO, e apenas conexões não autenticadas (que devem ser apenas outros servidores SMTP que retransmitem mensagens para você, porque você obviamente, exigir que todos os seus usuários se autentiquem, certo?) estará sujeito ao requisito HELO válido.

Nick Coons
fonte