mail

Unsere Eindrücke zu Mailman 3.0

Am 28. April 2015 wurde die neuste Version 3.0 der bekannten Mailinglisten Software Mailman veröffentlicht. Zahlreiche Neuerungen und Verbesserungen alter Probleme wurden versprochen, so dass wir die neue Software in den vergangenen zwei Wochen intern getestet haben. Ziel war es, zu überprüfen, ob die aktualisierte Version schon ausgereift genug ist, um unsere bisherigen Mailman 2 Installationen zu ersetzen.

Mailman 3 ist modular aufgebaut und besteht aus folgenden Komponenten:

  • Mailman Core: Der Hauptkomponente, die die Grundfunktionalität (Moderation, Bearbeitung von E-Mails) bereitstellt.
  • Mailman Client: Eine REST-API zur Anbindung weiterer Komponenten.
  • Postorius: Ein Django basiertes Webinterface zur Konfiguration von Domains, Listen und Benutzern sowie weiteren Einstellungen.
  • Hyperkitty: Ein ebenfalls Django basiertes Webinterface zum Verwalten und Archivieren von Nachrichten in verschiedenen Ansichten.
  • Mailman-Bundler: Eine Sammlung von Skripten zur Installation der restlichen Komponenten.

Als Mail-Transfer-Agents (MTA) werden Postfix und Exim unterstützt. Datenbankunterstützung gibt es für SQLite, PostgreSQL und MySQL. Zur Kommunikation mit der integrierten REST-API wurden von uns zudem die Python Bindings mailman.client (Download, Dokumentation) verwendet.

Unsere Eindrücke im Überblick:

  • Da Mailman aus verschiedenen Komponenten besteht, die zum Teil unter verschiedenen Python-Versionen laufen (Mailman Core benötigt z.B. Python 3.4), ist die Installation vergleichsweise aufwendig. So werden für jeden Versionszweig virtuelle Umgebungen angelegt, um die benötigten Bibliotheken separat zu halten. Auch waren in unserem Fall einige Python-Pakete nachzuinstallieren. Dennoch funktionierte sowohl die Installation als auch die Anbindung an Postfix reibungslos.
  • Die neuen, auf Django basierten Web-Oberflächen Postorius und Hyperkitty sind sehr sauber und benutzerfreundlich gestaltet und damit ein deutlicher Fortschritt zur vorangegangenen Version.
  • Bei der Dokumentation scheint man den Fokus stark auf Entwickler gelegt zu haben, so dass die Hauptkomponente Mailman-Core zwar relativ gut dokumentiert ist, die Dokumentation für die Komponenten Postorius und Hyperkitty aus Benutzersicht aber fast vollständig fehlt. Dies ist unter Berücksichtigung des folgenden Punktes problematisch.
  • Durch den modularen Aufbau von Mailman werden Benutzer-Information nicht in einer zentralen Datenbank gespeichert, so dass jede Komponente diese separat verwaltet, bzw. sie aus dem Mailman-Core abfragen muss. Wurden nun Benutzer per REST-API angelegt, so bekommen diese keinen automatischen Zugang zu den Webinterfaces, da die entsprechenden Informationen in getrennten Datenbanken verwaltet werden und keine automatische Synchronisation beim Anlegen eines Benutzers stattfindet. Durch die spärliche Dokumentation von Postorius lies sich eine entsprechende Funktionalität auch nicht ohne weiteres nachrüsten, so dass wir hierfür einen Bug-Report eingereicht haben. Auf unsere Frage auf der Entwickler-Mailingliste hin, wurde dort außerdem eine grundsätzliche Diskussion zur gegenwärtigen Trennung der Benutzerdaten gestartet.
  • Es gibt noch keine garantierte Abwärtskompatibilität zu allen Features von Mailman 2.x, so dass eine Migration von alten Installationen noch nicht risikolos durchgeführt werden kann. Eine Verbesserung dafür wurde auf der offiziellen Seite für die Version 3.1 in Aussicht gestellt.

Insgesamt haben wir uns entschieden, noch zu warten, bevor wir Mailman 3 produktiv einsetzen. Insbesondere die noch ungenügende Dokumentation einzelner Komponenten und die mangelhafte Synchronisation der Benutzerinformationen waren dafür ausschlaggebend. Hoffentlich können diese Punkte in einer Version 3.1 verbessert werden, denn ansonsten macht die Mailman-Suite einen sehr guten Eindruck.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.