Quando exim4 invia HELO / EHLO, come configuro il nome host che invia?


12

Le e-mail dal mio sistema vengono rifiutate quando il server ricevente esegue il controllo HELO. Credo che il mio sistema stia inviando un nome di dominio errato. Sto eseguendo exim4. Cercare su Google qualsiasi cosa su exim4 e domini produce un elenco da incubo di risultati irrilevanti. Allo stesso modo, cercare su Google i rifiuti di HELO produce un'orda di utenti outlook che devono attivare l'autenticazione SMTP. Per la mia vita non riesco a capire questa semplice domanda: quale nome host viene inviato exim e come posso cambiarlo?

Sfortunatamente, non riesco a guardare ciò che exim sta inviando via cavo, quindi non ho modo di eseguire il debug da solo. Spero che qualcuno abbia avuto questo problema e lo sappia :).

Risposte:


15

Supponendo che l'errore si stia lamentando dei dati HELO / EHLO, si desidera utilizzare l'opzione helo_data sul trasporto smtp. L'impostazione predefinita è $ nome_host_primo.

remote_smtp:
    driver = smtp
    helo_data = host.example.com

Ulteriori informazioni sono disponibili nel manuale .

In caso contrario, probabilmente si desidera includere alcuni esempi di messaggi di rifiuto. Solo il codice a tre cifre e la stringa successiva.


Grazie! Dopo altri 10 minuti di lettura su come modificare anche un'impostazione exim4 su un sistema basato su debian, ho impostato primary_hostname su FQDN in /etc/exim4/exim4.conf.template e riavviato exim4. Questo ha funzionato! Il mio nome host è diverso dall'FQDN e non sto usando minimal_dns, quindi il problema originale. Inoltre, solo modificando il tuo link manuale sono stato anche in grado di trovare i documenti su primary_hostname (exim è così google-spazzato!). Grazie ancora!

Probabilmente non vuoi aggiornare quel file. Consiglierei di eseguire update-exim4.conf --keepcomments e quindi copiare /var/lib/exim4/config.autogenerated in /etc/exim4/exim4.conf e quindi modificare quel file.
David Pashley,

4

Il comando

sudo dpkg-reconfigure exim4-config

dovrebbe chiederti il ​​nome host primario da usare.


3

Su Debian (Lenny) ho scoperto che hai impostato hostname /etc/hostnamema che questo non è riconosciuto fino al riavvio.

$ hostname newhostname

lo imposta immediatamente (ma si perde al riavvio, quindi devi fare i due).

exim4 sembra riferire lo stesso di uname -ne ho scoperto che è un modo utile per testare.


2

Quale nome host sta inviando exim?

È possibile trovare il nome HELO nei log di exim4. Arresta il demone exim4, quindi riavvialo manualmente con il debug abilitato:

/usr/sbin/exim4 -bd -d+all 2>&1 | egrep 'HELO|EHLO'

(la 2>&1|egrep 'HELO|EHLO'parte è facoltativa, reindirizza semplicemente stderr a stdout, quindi reindirizza il registro a egrep, che filtra tutto tranne le righe contenenti HELO o EHLO).

Invia una e-mail e ci dovrebbero essere una o due righe nel seguente modulo:

SMTP>> EHLO foobar.example.com

Il nome HELO è foobar.example.com.

Esistono anche molti utili strumenti di controllo online che forniscono queste informazioni (e molti altri utili), ad esempio:

  • https://www.mail-tester.com (attenzione, solo 3 controlli e-mail gratuiti al giorno);
  • check-auth@verifier.port25.com (gratuito);
  • mailtest@unlocktheinbox.com (la maggior parte del suo feedback non è gratuito, ma a tal fine lo è).

Come lo cambio?

Invece di modificare il file di trasporto come suggerito da David, preferirei usare le definizioni delle costanti exim4 (?) E impostare il nome in /etc/exim4/conf.d/main/00_local_settings(in configurazione divisa), ad esempio:

REMOTE_SMTP_HELO_DATA=$sender_address_domain

Non dimenticare di eseguire update-exim4.confprima di riavviare exim4.

Ho impostato primary_hostname […] in /etc/exim4/exim4.conf.template

Come menzionato da David, questa probabilmente non è la migliore idea. Nella configurazione divisa, è possibile impostare il nome host primario aggiungendo

MAIN_HARDCODE_PRIMARY_HOSTNAME = subdomain.example.com

in /etc/exim4/conf.d/main/00_local_settings. Sembra che sarebbe PRIMARY_HOST_NAMEin configurazione monolitica exim4.


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.