Courier ist ein sehr vielseitiger MailServer.

Homepage: http://www.courier-mta.org/

Lizenz: GPL

Courier besteht aus mehreren Modulen, die teilweise auch mit anderen MTAs verwendet werden.

Courier unterstützt so ziemlich jeden Standard und sei er noch so neu. Zu den Funktionen zählen:

Courier benutzt das Maildir-Format als Standard, dass im Vergleich zu anderen Formaten wie mbox eine bessere Performance unter Last aufweist.

Auch ein CGI-Programm zur Administration ist enthalten.

Tips & Tricks

Mailfilter

Eine geniale Sache bei Courier sind die Möglichkeiten zur Filterung von Mails. Dazu gibt es zwei Möglichkeiten:

Nach Empfang

kann die Mail durch einen MDA nachverarbeitet werden (das kann eigentlich jeder MailServer).

Es dient hauptsächlich zur Einsortierung der Mails in Ordner und verändern/ergänzen von Header-Informationen.

/maildrop kann auch globale Filterregeln benutzen, besonders praktisch, wenn es als Standardauslieferungsmechanismus benutzt wird. Dann kann der Administrator Filterregeln vorgeben, z.B. Spam-Filter, Viren-Scanner etc.

Während Empfang

kann durch Filter geprüft werden, ob die Mail angenommen wird oder nicht. (In letzterem Fall schlägt für den Versender der Versand fehl.)

/!\ Man sollte darauf achten, dass die Filter möglichst resourcensparend sind und eine kurze Laufzeit haben. Sonst kann es passieren, dass Mails mit einem temporären Fehler abgewiesen werden.

  1. /GlobalMailFilter: dabei wird jede Mail durch einen oder mehrere Filterprozesse geleitet, z.B. Spam-Filter, Virenscanner, Adressprüfung bei Relayservern etc.

    • über /etc/courier/enablefiltering kann eingestellt werden, ob nur Mail von extern (smtp) oder auch lokal erzeugte Mail gefiltert wird.

  2. /LocalMailFilter: damit kann jeder lokale User (/maildrop)-Filterregeln anlegen, die Mails schon während des Empfangs durch courier-esmtpd filtern, d.h. man kann z.B. Spam-Mails direkt abweisen, für den Versender schlägt der Versand damit fehl.

    • /!\ Hierbei können keine externen Programme gestartet werden.

Das sieht dann im Ergebnis z.B. so aus:

$ telnet vlugnet.org smtp
Trying 217.160.107.28...
Connected to vlugnet.org (217.160.107.28).
Escape character is '^]'.
220 vlugnet.org ESMTP
helo localhost
250-vlugnet.org Ok.
250-STARTTLS
250-XVERP=Courier
250-XEXDATA
250-XSECURITY=NONE,STARTTLS
250-PIPELINING
250-8BITMIME
250-SIZE
250 DSN
mail from: <user@example.com>
250 Ok.
rcpt to: <ronny-pl20020203@vlugnet.org>
571 Delivery not authorized, message refused.
quit
221 Bye.
Connection closed by foreign host.

Virtuelle Domänen

Für virtuelle Domänen (virtual domains) gibt es mehrere Realisierungsmöglichkeiten, wobei man diese natürlich auch mischen kann:

Variante 1

Eintragen der domain in locals und erstellen des Alias @domain: user

Beispiel
  • in locals: example.com
    in aliases: @example.com: exampleuser

Ergebnis
  • Mails an foo@example.com werden an exampleuser-foo ausgeliefert (was durch .courier-foo gesteuert werden kann)

Es existiert nur ein Account pro domain, dessen Mails man nur insgesamt abrufen kann (aber per getmail oder fetchmail wieder verteilen kann (das nennt man Multidrop-Mailbox)).

Variante 2

Eintragen der domain in hosteddomains und anlegen der (virtuellen) User user@domain

Beispiel
  • in hosteddomains: example.com

Ergebnis
  • Mails an foo@example.com werden an den User foo@example.com ausgeliefert. Wenn virtuelle Accounts genutzt werden, können sich alle User *@example.com ein Homeverzeichnis teilen (und trotzdem verschiedene Maildirs haben)

Für jeden User der domain existiert ein eigener (virtueller) Account, die Mails können somit für jeden User einzeln vom Server geholt werden.

Variante 3 (Erweiterung von Variante 2)

Eintragen der domain in hosteddomains und anlegen des Aliasuser alias@domain

Beispiel
Ergebnis
  • Wenn der User foo@example.com existiert, werden Mails an ihn direkt ausgeliefert. Alle anderen Mails an User *@example.com werden an alias@example.com zugestellt. alias@example.com ist also ein Auffangbecken für alle nicht explizit definierten User von example.com.

Achtung
  • Für den Alias-User muss eine .courier-default Datei vorhanden sein.

Fragen

Frage: Wer hat denn Erfahrung mit Courier? Wir bauen in unserer Lug einen Server für Schulen (LinuxOnCD) und einer unserer nächsten Schritte ist das Thema Mailserver. Bisher haben wir an exim und uw-imapd gedacht. Dazu wollten wir uns noch was zum Thema Webmail suchen. Wir suchen generell eine Lösung, die vor allem so ausgereift ist, daß man sie fertig installiert einem Lehrer übergeben kann, ohne das der dauernd nachbessern muss (Also kein Bleeding-Edge-Schnickschnack, sondern solide Sachen). Das Ganze muss davor sicher sein, von Schülern gehackt zu werden, was wahrscheinlich zum härtesten gehört, was es an Sicherheitsanforderungen gibt. :-)

Kann mir da jemand was empfehlen? Ist Courier die Lösung unserer Probleme?

-- ThomasBayen

Auf diesem Server, der auch das LinuxWiki bereitstellt, läuft ein (chrooted) /courier-imap mit tls. Ich hatte im Vorfeld einen Featurevergleich (theoretischer Natur) gemacht, über Google nach Erfahrungsberichten gesucht usw. und von cyrus, uw, courier schien der courier am besten für uns geeignet. Die Installation/Konfiguration hat BastianBlank gemacht. -- ThomasWaldmann 2002-07-06 15:06:07

Dieser Server hält seine komplette Mailaliases u.ä. im einem LDAP, auf das sowohl /courier-imap als auch Postfix zugreifen. Es gibt dabei sowohl normale Shelluser als auch User, die nur imap/pop3 zugang haben. -- BastianBlank 2002-07-19 12:12:38

Ich habe Courier (komplett) auf unserem neuen LugVaihingenEnz Server (vlugnet.org) laufen. Bisher passiert da zwar noch nicht sehr viel, so dass ich noch keinen umfassenden Erfahrungsbericht geben kann, aber ich kann dir erklären warum ich Courier einsetze (ich habe vorher immer qmail benutzt).

Update: der Server läuft jetzt schon einige Monate produktiv und ich bin immer noch von Courier begeistert. -- RonnyBuchmann 2003-08-05 15:25:23

Auf http://kleinbetrieb.biz läuft ein großer Courier mit Nutzerverwaltung für viele VHosts im LDAP und tls für Verschlüsselung zwischen Servern. Wer hier Fragen zur vereinfachten Verwaltung hat, kann mich fragen. -- MarcusWolschon 2006-04-10 18:22:23


Frage: Gibt es irgendwo ein ausführliches How-To zum Courier-Mailserver? Bei google und tdlp hab ich nichts gefunden.

Antwort: Die Installationsanleitung ist sehr ausführlich und im How-To Stil. Im Zweifel sollte man sich aber an die Manpages halten, die sind aktueller.


KategorieMailServer

Courier (zuletzt geändert am 2007-12-23 22:47:35 durch localhost)