Comando Helo rifiutato: è necessario un nome host completo Errore


10

Il mio server di posta è in qualche lista nera causa di spam. Ho riconfigurato postfix. Spesso i miei clienti ottengono questo errore e non possono inviare e-mail.

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

In 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=<info@domain.com> to=<mail@mail.com> proto=ESMTP helo=<PLLAMNAZIFE>

Nel mio 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

Risposte:


17

Questo messaggio di errore viene visualizzato perché il client di posta invia solo un nome host nudo ("PLLAMNAZIFE") anziché un nome host completo (ad esempio "PLLAMNAZIFE.example.com") nella HELO/ EHLOparte della transazione SMTP e il server Postfix è configurato per rifiutare tale posta.

Molti programmi client di posta non inviano nomi host correttamente formattati, pienamente qualificati e validi in HELO/ EHLO. Dal momento che devi accettare tale posta dai clienti paganti e avere un controllo scarso o nullo sul client di posta che usano (e poiché i HELOcontrolli non sono molto utili nel bloccare lo spam), probabilmente è meglio disabilitare i HELOcontrolli.

Per disabilitare i HELOcontrolli, rimuovere le seguenti due righe dalla configurazione di Postfix:

    reject_non_fqdn_helo_hostname,
    reject_invalid_helo_hostname,

Ancora meglio, rimuovere l'intera smtpd_helo_restrictions = ...regola e smtpd_helo_required = yes.


grazie. Ho disabilitato quelle linee e ora funziona. Posso inviare con Mozilla Thunderbird sul mio PC. Ma il mio cliente non può inviare e-mail con Outlook sul proprio PC. Esiste un modo per risolvere questo problema con HELO check config?
RedLEON,

se hai rimosso i controlli helo e i tuoi clienti non riescono ancora a inviare la posta, è molto probabile che si tratti di un altro problema, con un motivo di rifiuto diverso nel registro della posta.
Cas

Possono inviare ora. Ma voglio configurare il mio server come sicuro
RedLEON

2
cosa ti fa pensare che i controlli helo migliorino la sicurezza?
Cas

8

È possibile ignorare le restrizioni HELO per gli utenti autenticati inserendo permit_sasl_authenticatedprima di rifiutare le regole smtpd_helo_restrictionsnell'elenco:

smtpd_helo_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_non_fqdn_helo_hostname,
    reject_invalid_helo_hostname,
    permit

1

La variabile del nome host per il tuo server di posta non è valida.

Prova a cambiare il valore del myhostnamecampo dal /etc/postfix/main.cfvalore predefinito al nome host (ad es. yourwebsite.comO mail.yourwebsite.com)


0

Mi ci sono voluti anni per risolverlo

Sto eseguendo un server centos e ho ricevuto la posta elettronica che si riprendeva segnalando l'errore "Comando Helo rifiutato: è necessario un nome host completo"

Ho finito per abilitare "Riferimento / etc / mailhelo per HELO SMTP in uscita [?]" Questo si trovava sotto "exim configuration manager" quindi "Domini e IPS" sul server VPS

Quindi ho usato putty e remotato sul server ed ho eseguito questo comando "sudo nano / etc / mailhelo"

In quel file ho creato i domini example.com: esempio.com sub.esempio.com: esempio.com esempio.net: esempio.net addon.esempio.net: esempio.net *: nomehost.esempio.com

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

Ho provato a inviare e-mail e finora sembra tutto a posto


0

Non è il tuo server di posta elettronica che rifiuta il client, ma un server SMTP esterno che rifiuta il messaggio dal tuo server SMTP, il problema è che il tuo server SMTP non invia il suo nome FQDN nel messaggio helo quando comunica con altri server.

Questo di solito può essere risolto aggiungendo l'IP pubblico al file hosts con il nome di dominio completo al file / etc / hosts. Come questo:

1.1.1.1 host host.domain.com

127.0.0.2 host host.dominio.com

Dove 1.1.1.1 è l'IP ufficiale.

Ho avuto questo problema e non ha aiutato il fatto che il DNS funzionasse in entrambi i modi in avanti / indietro sull'IP pubblico e che avessi solo il mio nameserver in /etc/resolv.conf. Anche hostname -f ha restituito quello corretto. Ho ancora dovuto mettere l'ip e il nome host su / etc / hosts affinché sendmail usasse effettivamente il nome FQDN anziché solo il nome host breve.

Se telnet al server sulla porta 25, assicurarsi che la linea 220 indichi il nome FQDN e non solo l'host. Come questo:

220 host.domain.com ESMTP Sendmail 8.15.2 / 8.15.2 / SuSE Linux 0.8; Lun, 9 lug 2018 18:19:48 +0200


0

A volte un server ha un 'singhiozzo'. Causato ad esempio da attacchi di posta.

Prima prova a riavviare il server. Quindi imposta la posta nel server su off dopo 15 secondi di riaccensione.

A volte il cmd HELO rifiutato è causato perché la posta non può caricare nuove definizioni antivirus; come AmaVis utilizzato sui server Apple. Un riavvio e off / sull'app di posta nel server risolve questo problema. Saluti.


0

Stavo ottenendo un nome non di dominio durante l'esecuzione hostname -f. Quindi ho cercato su Google nessun dominio in "hostname -f" . Si è scoperto che dovevo modificare /etc/hostname(sono su Debian) per risolvere il problema. Dopodiché entrambi hostname -fe helostavamo usando un nome host completo.


0

Se desideri rifiutare HELO con nomi host errati, ma consenti comunque ai tuoi utenti di essere in grado di inviare anche se i loro clienti non inviano FQDN con HELO, puoi lasciare queste righe in posizione come le hai:

reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname,

Ma assicurati che siano preceduti da:

permit_sasl_authenticated,

In questo modo, quando uno dei tuoi utenti esegue l'autenticazione, gli sarà consentito di inviare e-mail indipendentemente dalla validità del comando HELO e solo connessioni non autenticate (che dovrebbero essere solo altri server SMTP che ti inoltrano la posta, perché tu sei ovviamente è necessario che tutti i tuoi utenti eseguano l'autenticazione, giusto?) saranno soggetti al requisito HELO valido.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.