Courier-Mailserver konfigurieren

Trouble Shooting: Courier unter Debian 8 (jessie)

Logjam-Attacke umgehen: Siehe hier.

-----

Die Fehlermeldung

couriertls: /etc/courier/esmtpd.pem: error:0906D06C:PEM routines:PEM_read_bio:no start line

erscheint bei neueren courier-Versionen, wenn Windows-Zeilenumbrüche in PEM-Zertifikaten verwendet werden.

Die Windows-Zeilenumbrüche lassen sich entfernen mit

dos2unix /etc/courier/esmtpd.pem

------

Die Fehlermeldung

courieresmtpd: STARTTLS failed: couriertls: /usr/lib/courier/dhparams.pem: error:02001002:system library:fopen:No such file or directory

lässt sich beseitigen, indem ein entsprechender Symlink eingefügt wird (sofern die Datei fehlt):

cd /usr/lib/courier
ln -s /etc/courier/dhparams.pem

-----

Damit alle Courier-Dienste nach einem Reboot zuverlässig starten, sollte man sicherstellen, dass courier-authdaemon vor anderen Courier-Diensten gestartet wurde. Hierzu die Zeile 5 der Datei /etc/init.d/courier-mta ändern von

# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog

in

# Required-Start:    $remote_fs $syslog courier-authdaemon
# Required-Stop:     $remote_fs $syslog courier-authdaemon

Quelle:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=795449

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=728747

Maximale Größe der Emails verändern (Debian lenny 5.0)

Verschickt man eine zu große E-Mail, bekommt man im E-Mail-Client eine Fehlermeldung

Der Mail-Server antwortete:  SIZE=Message too big

Per default akzeptiert Courier nur E-Mails, mit einer maximalen Größe von 10485760 Bytes, also ca. 10 MB. Um größere Dateien zu verschicken, muss man eine Datei namens /etc/courier/sizelimit anlegen.

In diese Datei schreibt man dann die gewünschte maximale Größe einfach als Zahl rein, z. B. 134217728

Ein Neustart des Dienstes ist nicht nötig.

Groß- / Kleinschreibung bei Mailadressen ignorieren (debian lenny 5.0)

Es ist heute fast üblich, dass bei E-Mail-Adressen nicht auf Groß-/Kleinschreibung geachtet werden muss. Dennoch ist Courier standardmäßig so konfiguriert, dass die Groß-/Kleinschreibung berücksichtigt wird. Ist ein Zeichen falsch geschrieben, so kommt die E-Mail nicht beim Empfänger an.

Setzt man eine Datei /etc/locallowercase, so behandelt Courier alle E-Mail-Adressen, als ob diese nur noch in Kleinbuchstaben geschrieben wären. Alle Großbuchstaben werden also in Kleinbuchstaben umgewandelt. Z.B. wird aus iNfO@example.com dann info@example.com.

Per shell kann die Datei z. B. so angelegt werden:

touch /etc/locallowercase

Die Datei ist ansonsten leer. Wichtig ist jetzt nur noch, dass man auch sonst in der Konfiguration alle E-Mail-Adressen durchgängig klein geschrieben hat. Danach müssen die Courier-Dienste neu gestartet werden.

Quelle: http://www.courier-mta.org/courier.html

Wartezeit beim SMTP-Mailversand verkürzen (debian lenny 5.0)

Installiert man einen Courier Mailserver, so dauert der Mailversand per SMTP vergleichsweise lange, mitunter über 30 Sekunden. Aufgrund der langen Wartezeit wird beim Anfragenden Server oder Client oft ein Timeout ausgelöst. Resultat: Mailclient oder ein anderer Mailserver können nur unzuverlässig Mails über den Courier-Server verschicken.

Gründe hierfür:

  • Courier macht DNS-Anfragen um den Hostname des Anfragenden zu ermitteln und ein DNS-Server antwortet zu langsam
  • Courier macht Abfragen mit dem IDENT-Protokoll und das dauert zu lange

Ersteres kann man in aller Regel lösen, indem man schnelle und zuverlässige DNS-Server in der /etc/resolv.conf einträgt. Abschalten sollte man die DNS-Anfragen nicht, denn darüber wird der Hostname des Anfragenden Servers/Clients ermittelt.

Zweiteres kann man vor allem abschalten in der /etc/courier/esmtpd:

TCPDOPTS="-stderrlogger=/usr/sbin/courierlogger -noidentlookup"

Die Option -noidentlookup schaltet die IDENT-Abfragen ab und der Mailversand läuft danach in Sekundenbruchteilen. Die Courier-Dienste müssen nach den Änderungen neu gestartet werden.

Quelle: http://www.courier-mta.org/FAQ.html#esmtptimeout

Courier-Dienste neu starten

Courier verwendet mehrere Dienste. Diese müssen teils zusätzlich neu gestartet werden, da mit courier-mta nicht alle Dienste neu gestartet werden. Je nachdem welche Dienste verwendet werden, ist beispielsweise Folgendes nötig:

sudo /etc/init.d/courier-mta restart
sudo /etc/init.d/courier-mta-ssl restart
sudo /etc/init.d/courier-authdaemon restart

Welche Courier-Dienste beim Systemstart gestartet werden sieht man mit

ls /etc/rc3.d/*courier*