Der unterschätzte Kurier

Just die Tage gab es mal wieder die Aufgabe, einen E-Mail-Server neu aufzusetzen. Seitdem ich vor fünf Jahren mich mal intensiv mit entsprechender Software auseinander gesetzt hatte, bin ich bei Courier hängen geblieben. Die meisten kennen Courier wahrscheinlich als zuverlässigen IMAP-Server. Aber. Courier ist eigentlich eine ganze Mailsuite, in der alle Programm gut aufeinander abgestimmt sind. SMTP, POP3, IMAP und noch einiges mehr ist hier nahtlos miteinander verbunden. Die Konfigurationsdateien sind nicht kryptisch, übersichtlich, gut dokumentiert und einfach per vi zu warten. Mehr wollte ich eigentlich nicht.

Die Grundeinstellungen von Courier sind sehr strikt. Der Hauptentwickler Sam Varshavchik orientiert sich stark an den entsprechenden RFCs für E-Mail. Dementsprechend können die ersten Versuche mit Courier schwer im Magen liegen. Weil die E-Mail-Realität meist ein bisschen anders aussieht als die RFCs.

Im Laufe der Zeit haben sich bei mir folgende Einstellungen bewährt. Zuerst wäre da /etc/courier/bofh:

opt BOFHBADMIME=accept

Ohne diesen Eintrag lehnt Courier E-Mails mit falschen MIME-Kodierungen ab. Man glaubt es kaum, aber nicht nur Spam hat falsche MIME-Kodierungen, sondern auch ganz oft andere automatisch generierte E-Mails, zum Beispiel welche von Webformularen und teilweise auch von alte E-Mail-Programmen.

Desweiteren wäre da /etc/courier/sizelimit:

52428800

Diese Datei enthält nur einen numerischen Wert, welcher die maximale Größe einer E-Mail angibt. Bei Courier ist dieser Wert standardmäßig auf 10MB gestellt. Wenn man bedenkt, dass E-Mail ursprünglich nicht für große E-Mails gedacht war, ist das eigentlich schon ein Zugeständnis. Bei mir ist die maximale Größe 50MB. Tja, und es gibt leider Leute, die am liebsten nach größere E-Mails verschicken würden. Vergessen sollte man nicht, dass hiermit die Gesamtgröße gemeint ist. Eine E-Mail mit 50MB kommt hier nicht mehr durch, da diese beim Versand durch die E-Mail-Kodierung auf etwa 66MB anwächst.

Den Rechnernamen, welcher in E-Mails erscheinen soll, trage ich immer explizit in /etc/courier/me ein. Je nach Serverkonfiguration benutzt Courier unter Umständen einen anderen als man möchte, weswegen ich hier auf Nummer sicher gehe.

Falls man für die E-Mail-Verwaltung kein Backend nimmt, welches Groß-/Kleinschreibung ignoriert, zum Beispiel kein MySQL-Backend, dann sollte man /etc/courier/locallowercase anlegen. Die Datei muss nur existieren und keinen Inhalt haben. Normalerweise unterscheidet Courier bei E-Mail-Adressen zwischen Groß- und Kleinschreibung. Da einerseits keiner darauf achtet und ältere Windows-Server-Software gerne auch mal alles großschreibt, ist diese Einstellung sehr zu empfehlen.

In /etc/courier/locals steht bei mir nur

localhost

da ich erst einmal keine E-Mail als lokal ansehen will.

Die Benutzer verwalte ich, falls möglich, über die sogenannte userdb. In /etc/courier/authdamonrc steht deswegen unter anderem

authmodulelist="authuserdb"

um E-Mail-Benutzer komplett von Systembenutzern zu trennen.

Erwähnenswert sind noch folgende Einträge in /etc/courier/esmtpd. Einmal wäre das

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

welches dafür sorgt, dass keine unnötigen DNS- und Identlookups gemacht werden, was unter Umständen ziemlich ausbremsen kann. Der Andere wäre

ESMTPAUTH="LOGIN"

für die Authentifizierung bei POP3. Da die meisten Benutzer eine Windoofkiste haben, denen alle anderen Authentifizierungen nicht ohne weiteres beizubringen sind, ist dass das kleinste Übel.

Im Laufe der letzten Jahre gibt es eigentlich keine Anforderung an ein E-Mail-System, welche mich in Verlegenheit gebracht hätte. Courier ist ziemlich flexibel und hat ein paar wirklich nette Funktionen, die meistens auch einfach zu konfigurieren sind.

Einen Kommentar schreiben