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

  • Da Courier hohe Kompatiblität zu qmail aufweist, können viele Programme und Tricks von qmail.org benutzt werden.

  • hosteddomains und aliases können eine Datei oder auch ein Verzeichnis sein, wobei alle darin enthalten Dateien zusammengefasst werden. Die Möglichkeit des Verzeichnisses bietet z.B. Hostern den Vorteil, dass sie für jeden Kunden eine extra Datei anlegen können, und sie nicht in anderen Dateien editieren müssen (was immer eine Fehlermöglichkeit darstellt).

  • Wenn man Mail per smtp empfängt (auf einem normalen Server der Fall), muss man die Domains, die in hosteddomains und locals aufgeführt sind, auch in esmptacceptmailfor eintragen.

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).

  • courier hat ein sicheres design (ähnlich dem von qmail, aber wahrscheinlich performanter)
  • ssl funktioniert ohne verrenkungen (bei qmail ungleich komplizierter)
  • /courier-imap und /maildrop sind sehr verbreitet und haben einen guten ruf (bei leuten die auf zuverlässigkeit wert legen)
  • ich hoffe einfach, dass die restlichen teile genauso gut sind (und da bin ich sehr zuversichtlich)
  • bei imap führt kaum ein weg an /courier-imap vorbei, die zuverlässigkeit von maildirs ist einfach unschlagbar (geht zwar auch mit gepatchtem uw, hat mich aber nicht so überzeugt)
  • die konfiguration ist relativ einfach (man sollte die installationsanleitung aber schon genau und der reihe nach lesen)

    -- RonnyBuchmann

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)

AltStyle によって変換されたページ (->オリジナル) /