E-Mail/Unterschiede zwischen QMail und Courier

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen

Im Zuge der aktuell durchgeführten Umstellung von QMail auf den Courier-Mailserver gibt es leider ein paar Änderungen. Diese Seite soll diese übersichtlich zusammenfassen.

Motivation

Erst einmal schulden wir unseren Benutzern eine Begründung, warum wir diese Umstellung durchgeführt haben. Nun, es gibt sogar mehrere. Der Mailserver QMail wurde im JAhre 1996 entwickelt und seither nicht mehr vom Autor an Neuentwicklungen angepasst. Daher kann ein nacktes QMail nur E-Mails versenden und empfangen, was ihm jedoch fehlt sind Funktionen zur Spam-Bekämpfung, da diese erst später relevant wurden. Eine SMTP-Authentifizierung fehlt QMail ebenso wie ein SSL-Modus. Diese unverzichtbaren Features konnten wir mit Patches aufrüsten, jedoch verliert man damit den Stautus des Programmpaketes, ein so umgestaltetes Programm ist spürbar schwerer zu warten. Wegen der ungewöhnlich flexiblen benutzerbasierten Zustellung haben wir uns zum Start des schokokeks.org-Projektes trotzdem für QMail entschieden.

Nun ist mit Courier-MTA eine Software verfügbar, die diese Flexibilität der Zustellung kombiniert mit einem modernen System, das bereits alle modernen Arten der Benutzerautentifikation integriet hat. Wir hatten bisher schon den IMAP- und POP3-Server aus dem Courier-Paket benutzt und haben nun den Mailserver hinzugenommen.

Ein weiterer Grund ist die Abweisung von nachrichten auf SMTP-Ebene, wenn diese nicht zugestellt werden können. QMail hatte prinzipiell alle Nachrichten für lokale Domains angenommen und bei Nichtzustellbarkeit eine Bounce-Nachricht zurückgeschickt. Da aber leider sehr viele Spam- und Viren-Nachrichten mit gefälschten Absendern unterwegs sind, sollten solche Bounce-Nachrichten nicht an unschuldige Dritte versandt werden. Courier kann dirket prüfen, ob es eine entsprechende Adresse gibt und ggf. die Nachricht sofort ablehnen. Dies vermindet zudem den Ressourcenbedarf. Auch bei stark fehlerheften Nachrichten lehnt Courier die Annahme ab. Typisch ist dies für die Minimalen Mailschleudern von Viren und Spam-Versendern, viele solcher Nachrichten werden sofort blockiert und gar nicht erst angenommen.

Last but not Least bietet und Courier eine nette Möglichkeit, die verfügbaren Adressen bestimmter Domains aus einer Datenbank zu beziehen und erlaubt uns jetzt alternativ zur bestehenden, Benutzerbasierten Zustellung auch eine virtuelle Mailzustellung anzubieten. Mehr dazu später.

Benutzerbasierte Zustellung

Und einer benutzerbasierten Zustellung verstehen wir die Erstellung von .qmail bzw. .courier-Dateien im Benutzerverzeichnis des Empfängers. Bisher war dies die einzige Möglichkeit, Nachrichten zu Handhaben. Mehr dazu im Kapitel über die Qmail-Beispielkonfiguration, der in weiten Teilen weiterhin gültig ist.

Änderungen der Umgebung

Wenn man in seiner Zustellungsdatei ein Programm aufruft, dann ändern sich hiermit allerdings ein paar Kleinigkeiten. Für von uns bereitgestellte Scripte wie z.B. ifspam, ifvirus oder mailfilter ist diese Änderung bedeutungslos, diese sind mit beiden MTAs kompatibel. Die Änderungen im Einzelnen:

  • Die Umgebungsvariablen DTLINE, RPLINE und UFLINE haben zwar vergleichbaren Inhalt, jedoch fehlt im Gegensatz zu QMail ein Zeilenumbruch am Ende. Leider sind die preline-Programme nicht intelligent genug, diesen Unterschied zu kompensieren, beide erzeugen unter dem jeweils anderen MTA fehlerhafte Nachrichten. Als einfache Lösung bieten wir ein Script namens /usr/local/bin/preline an, das die Features beider preline-Programme von QMail und Courier kombiniert und den Zeilenumbruch intelligent handhabt.
  • Bei der benutzerbasierten Zustellung schreibt Courier im Gegensatz zu QMail in der Empfängeradresse die Domain um. Das bedeutet, die Domain bei der benutzerbasierten Zustellung ist immer @schokokeks.org, egal an welche Domain die Nachricht ursprünglich gerichtet war. Bisher konnte man durch die Entfernung des Prefixes die Original-Adresse erhalten, nun ist dies leider nur noch eingeschränkt möglich.

Dynamic Deliveries

kommt noch...