[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Debian Exim4 und mehrere Smarthosts-Howto



Ich habe nun mein Beispiel nochmal kräftig überarbeitet.

Leider ging es doch nicht so nahe an der Standard-Konfig, wie
ich mir es vorgestellt habe. Die verschiedenen Provider benötigen
halt doch ein komplettes Ensemble aus Router, Transport, Auth.

Dafür werden nun alle in der letzten Mail noch offen Punkte bearbeitet.

Hauptkonfiguration ist die Datei passwd.user, wo der Smarthost, der Port
und die Zugangsdaten eingetragen werden.

Die Konfig habe ich nun mit gmx, web.de, t-online und gmail getestet.

Wichtig ist dass nicht der Port 465 zum Senden verwendet wird, da
in Debian Exim nur STARTTLS funktioniert. (siehe zless /usr/share/doc/exim4-config/README.Debian.gz section 2.2: TLS on connect is not natively supported.)

Installationsanleitung:
wget http://www.m-taube.de/exim.tgz
tar xvfj exim.tgz
--- passwd.user anpassen ---

nun ./e_install.sh ausführen.
Dieses File installiert automatisiert die Konfiguration. Es ist nur
ein sehr einfaches Script, wer die Kontrolle behalten will kann
einfach die Zeilen einzeln selbst auf der Kommandozeile eingeben.

Während der Installation wird dpkg-reconfigure exim4-config aufgerufen,
bitte als Konfigurationstyp Internet-Site oder Smarthost eingeben und
"Exim auf kleine Dateien aufteilen".

Mittels
./mailtest.pl beispiel@gmx.de beispiel@web.de beispiel@t-online.de

kann dann die Konfiguration getestet werden. Das Script verschickt jeweils zwischen diesen Mailadressen Mails, und zwar einmal per smtp auf localhost und einmal direkt von der Kommandozeile. Mittels -s oder -c als Option könnte der Versandtyp vorgewählt werden.

Zu den einzelnen Files:

### passwd.user ###
In dieser Datei wird die Zuordnung beschrieben, über welchen Smarthost
eine Mail mit einem bestimmten Header-From: geroutet wird.
In localuser bitte einen lokalen Benutzer eintragen, an den
Mail im Fehlerfall geroutet werden kann. Bei Port entweder 25
oder 587 eintragen, da mit dem Debian-Exim nur STARTTLS funktioniert und
Port 465 ausscheidet.

Diese Datei steht im CONFDIR (meist /etc/exim4) und muss angepasst werden, bevor das Paket funktioniert.

### exim4-config_files.5 ###
Ein Ersatz für die manpage exim4-config_files, in dem die neue Datei
passwd.user beschrieben wird.

### main/04_exim-config_smarthost_multi ###
In dieser Datei werden die Variablen gesetzt.
Um die Konfiguration zu aktivieren:
SMARTHOST_MULTI = yes

Falls es Probleme mit einigen Hosts gibt, die keine parallele
Verbindungen akzeptieren:
SERIALIZE_HOSTS = *.t-online.de

Da es aber trotzdem noch passieren kann, das Mails abgelehnt und
in der Queue landen, rate ich dringend QUEUEINTERVAL in
/etc/default/exim4 auf einen kleineren Wert zu setzen.

disable_ipv6 = true
ist nur für meine Konfiguration gesetzt, falls ipv6 auf dem Rechner
funktioniert sollte man das auskommentieren.

### router/170_exim4-config_smarthost_multi ###
Der Router. Mails werden nicht über die konfigurierten Smarthosts geroutet, wenn das Ziel lokal ist oder der Absender nicht in der passwd.user existiert. Dann wird mit den Standard-Routern der Debian-Exim-Installation weitergemacht.

Wenn der passende Sender gefunden wird, wird der Smarthost gesetzt und für den Fehlerfall errors_to auf den Lokalen Nutzer gesetzt. Falls der Smarthost die Mail nicht annimmt besteht wahrscheinlich kaum Möglichkeit, die Mail Bounce-Mail extern loszuwerden, deshalb sollte hier ein lokaler Nutzer gesetzt werden.

### ./transport/31_exim4-config_smarthost_multi ###
Die Mail geht dann zu diesem Transport. Hier wird der passende envelope-from gesetzt (return_path = $header_From:) Der Port kann 465 nicht verwendet werden, siehe oben.

### auth/30_exim4-config_examples.rul ###
Es wird ein .rul File verwendet, welches Vorrang vor der originale Datei
bei update-exim4.conf hat.

mfg
Matthias




Reply to: