GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie konfiguriere ich, welchen Hostnamen es sendet, wenn exim4 HELO/EHLO sendet?

Lösung 1:

Angenommen, der Fehler beschwert sich über die HELO/EHLO-Daten, möchten Sie die helo_data-Option für den SMTP-Transport verwenden. Der Standardwert ist $primary_hostname.

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

Weitere Informationen finden Sie im Handbuch.

Wenn dies nicht der Fall ist, möchten Sie wahrscheinlich einige Beispiele für Ablehnungsnachrichten einfügen. Nur der dreistellige Code und die Zeichenfolge danach.

Lösung 2:

Der Befehl

sudo dpkg-reconfigure exim4-config

sollte Sie zur Eingabe des primären Hostnamens auffordern.

Lösung 3:

Auf Debian (Lenny) habe ich festgestellt, dass Sie den Hostnamen in /etc/hostname gesetzt haben aber dass dies bis zum Neustart nicht erkannt wird.

$ hostname newhostname

setzt es sofort (geht aber beim Neustart verloren, also müssen Sie beides tun).

exim4 scheint dasselbe zu melden wie uname -n , und ich fand das eine nützliche Methode zum Testen.

Lösung 4:

Welchen Hostnamen sendet exim ?

Man kann den HELO-Namen in den Protokollen von exim4 finden. Stoppen Sie den exim4-Daemon und starten Sie ihn dann manuell mit aktiviertem Debugging neu:

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

(die 2>&1|egrep 'HELO|EHLO' part ist optional, er leitet stderr einfach zu stdout um und leitet dann das Protokoll an egrep weiter , was alles außer Zeilen filtert, die HELO oder EHLO enthalten).

Senden Sie eine E-Mail und es sollten ein oder zwei Zeilen in der folgenden Form vorhanden sein:

SMTP>> EHLO foobar.example.com

Der HELO-Name ist foobar.example.com .

Es gibt auch mehrere nützliche Online-Überprüfungstools, die diese Informationen (und viele andere nützliche) liefern, z. :

  • https://www.mail-tester.com (Achtung, nur 3 kostenlose E-Mail-Checks pro Tag);
  • [email protected] (kostenlos);
  • [email protected] (das meiste Feedback ist nicht kostenlos, aber für diesen Zweck).

Wie ändere ich es?

Anstatt die Transportdatei wie von David vorgeschlagen zu bearbeiten, würde ich lieber exim4-Konstantendefinitionen (?) verwenden und den Namen in /etc/exim4/conf.d/main/00_local_settings setzen (in Split-Konfiguration), z.B. :

REMOTE_SMTP_HELO_DATA=$sender_address_domain

Vergessen Sie nicht, update-exim4.conf auszuführen vor dem Neustart von exim4.

Ich setze primary_hostname […] in /etc/exim4/exim4.conf.template

Wie von David erwähnt, ist dies wahrscheinlich nicht die beste Idee. In der Split-Konfiguration können Sie den primären Hostnamen festlegen, indem Sie

hinzufügen
MAIN_HARDCODE_PRIMARY_HOSTNAME = subdomain.example.com

in /etc/exim4/conf.d/main/00_local_settings . Es scheint PRIMARY_HOST_NAME zu sein in monolithischer exim4-Konfiguration.


Linux
  1. So konfigurieren Sie xhost so, dass es über Neustarts in Linux hinweg bestehen bleibt

  2. So installieren und konfigurieren Sie Kerberos in CentOS/RHEL 7

  3. So konfigurieren Sie den virtuellen Apache-Host auf Ubuntu

  4. curl:(6) Host konnte nicht aufgelöst werden:google.com; Name oder Dienst nicht bekannt

  5. Wie füge ich einer Gruppe hinzu, wenn der Name ein Leerzeichen enthält?

So ändern Sie den Hostnamen unter Ubuntu 20.04

So konfigurieren Sie Bind mit Debian 11

Hosten Sie mehrere Websites auf einem einzigen Server mit Apache unter Ubuntu 18.04

Was ist DNS und wie funktioniert DNS? (Grundlagen des Domain Name Server)

So ordnen Sie Ihrer Domain eine statische IP zu (mit GoDaddy-Beispiel)

Wie bekomme ich eine Datei mit dem richtigen Namen, wenn ich umgeleitet werde?