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ügenMAIN_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.