Mailinglisten mit Mlmmj verwalten

© suze, photocase.com

Massenpost

Mlmmj ist ein noch wenig verbreiteter Mailinglisten-Manager, der eine interessante Alternative zu Schwergewichten wie Mailman darstellt. Dieser Artikel beschreibt, wie das Libre-Office-Projekt davon Gebrauch macht.
Was das Backup wert war, erweist sich, sobald man es versucht ganz oder teilweise wiederherzustellen. Spätestens dann macht sich die Wahl des richtigen Tools ... (mehr)

Wenn es um Mailinglisten geht, dann ist Mailman oft die erste Wahl. Das Programm ist nicht nur ausgereift und weitverbreitet, sondern beinhaltet zudem viele Funktionen, die es in einer komfortablen Weboberfläche anbietet. Doch für manche Anwendungsfälle gibt es bessere Alternativen: Mit Mlmmj (Mailing List Management Made Joyful) lernen Sie einen noch recht unbekannten Vertreter dieser Gattung kennen, auf den sich ein genauerer Blick lohnt [1] .

Aller Anfang ist schwer

Bei der Planung der Infrastruktur für das heutige Libre-Office-Projekt spielten Mailinglisten eine zentrale Rolle, sind sie doch das Hauptkommunikationsmittel der Community. Die Anforderungen waren hier recht speziell: Traditionell gibt es im Projekt mehrere gleichnamige Mailinglisten in unterschiedlichen Subdomains, beispielsweise »discuss@de.libreoffice.org« und »discuss@si.libreoffice.org« , und die Moderation wird von zahlreichen Freiwilligen rund um den Globus per E-Mail durchgeführt.

Genau bei diesen beiden Anforderungen musste Mailman passen – die Moderation wird dort vor allem ins Web verlagert, geschützt durch ein für alle Moderatoren gleiches Passwort, und gleichnamige Mailinglisten sind erst ab der kommenden Version 3.0 möglich. Nach der Evaluation mehrerer Systeme fiel die Wahl schließlich auf Mlmmj, das durch seine Ähnlichkeit zum damals bei OpenOffice.org eingesetzten Ezmlm geradezu prädestiniert war, mussten sich die Anwender doch nur wenig umgewöhnen. Während Ezmlm ausschließlich mit Qmail funktioniert, ist Mlmmj kompatibel zu den gängigsten Mailservern, darunter auch dem eingesetzten Postfix.

Die Installation von Mlmmj ging auf dem Testsystem, einem aktuellen Ubuntu 10.04 LTS, leicht von der Hand: Ein simples »apt-get install mlmmj« bringt das Paket auf den Server. Mlmmj läuft allein schon aus Sicherheitsgründen in seinem eigenen Benutzerkontext. Unter Ubuntu legt das Paket keinen Benutzer an, ein Aufruf von »adduser --system mlmmj« führt jedoch zum Ziel.

Verzeichnisse

Darüber hinaus ist es sinnvoll, Mails für den »mlmmj« -Systembenutzer an den Postmaster weiterzuleiten, je nach Mailsystem beispielsweise per ».forward-« Datei oder über »/etc/aliases« . Nach dem Anlegen des benötigten Spool-Verzeichnisses mittels

mkdir /var/spool/mlmmj && chown mlmmj: /var/spool/mlmmj

ist die Paketinstallation abgeschlossen. Danach geht es an die Integration ins Mailsystem, die auf der Dokumentationsseite von Mlmmj gut beschrieben ist. Dieser Artikel erklärt im Weiteren, wie Sie Mlmmj mit dem Postfix-Mailserver verbinden.

Die Listenadressen werden idealerweise in separaten Dateien, getrennt vom übrigen Mailsystem, abgelegt – beispielsweise in »/var/spool/mlmmj/virtual.regexp« und »/var/spool/mlmmj/transport« . Damit Postfix die Dateien überhaupt verarbeitet, müssen Sie die folgenden beiden Zeilen in »/etc/postfix/main.cf« hinzufügen:

virtual_alias_maps = regexp:/var/spool/mlmmj/virtual.regexp
transport_maps = regexp:/var/spool/mlmmj/transport

Zudem sollten Sie noch die folgende Option aktivieren:

mlmmj_destination_recipient_limit = 1

Mlmmj bindet sich in Postfix als sogenannter Transport ein. Um den Dienst bekanntzumachen, müssen Sie daher noch eine weitere Zeile in die dafür zuständige Datei »/etc/postfix/master.cf« eintragen ( Listing 1 ).

Listing 1

master.cf

 

Dieser Eintrag weist Postfix an, für den Mlmmj-Transport die Datei »/usr/bin/mlmmj-receive« aufzurufen, die sich um die Verarbeitung der Nachrichten kümmert.

Zum Abschluss muss Postfix, sofern nicht bereits geschehen, noch Kenntnis über die virtuelle(n) Domain(s) erlangen, auf denen die Mailinglisten laufen, beispielsweise in Form eines Eintrags in »/etc/postfix/virtual« . Denken Sie daran, dem RFC entsprechend auch Aliase für »abuse@« und »postmaster@« anzulegen, die idealerweise auch weitestgehend ungefiltert bleiben. Nur so ist sichergestellt, dass bei Problemen ein richtiger Ansprechpartner erreichbar ist, was einem zudem lästige Einträge auf Blacklisten erspart. Ein korrekter Eintrag in »/etc/postfix/virtual« sieht beispielsweise so aus wie Listing 2 . Zum Abschluss führen Sie noch »postfix reload« und »postmap /etc/postfix/virtual« aus, dann ist die Postfix-Integration abgeschlossen.

Listing 2

virtual

 

Das Anlegen der ersten Mailingliste erfordert mehrere Schritte, die sich je nach verwendetem Mailsystem unterscheiden. Im Fall von Postfix steht zunächst das Zuweisen des Transports in der Datei »/var/spool/mlmmj/transport« an. Das Format, wie in der Dokumentation beschrieben, lautet dabei idealerweise:

/^(domain\.tld--listenname).*$/ mlmmj:domain.tld/listenname

Im Fall der Libre-Office-Listen sieht die Konfiguration aus wie in Listing 3 .

Listing 3

Transports für Libre Office

 

Um den Aliasen nun Mailadressen zuzuweisen, bedarf es der zweiten Datei »/var/spool/mlmmj/virtual.regexp« . Das Format lautet

/^(listenname.*)@(domain\.tld)$/ domain.tld--${1}

Listing 4 zeigt wieder die Konfiguration der Libre-Office-Listen.

Listing 4

Transports für Libre Office

 

Das geübte Auge erkennt, dass durch diese Einträge drei Mailinglisten definiert werden: »announce@documentfoundation.org« , »discuss@documentfoundation.org« und »l10n@global.libreoffice.org« .

Als Basispfad gilt dabei »/var/spool/mlmmj« . Die Liste »announce@documentfoundation.org« findet sich folgerichtig in »/var/spool/mlmmj/documentfoundation.org/announce« wieder, die »l10n@global.libreoffice.org« indes in »/var/spool/mlmmj/global.libreoffice.org/l10n« .

Nach einer Änderung der Virtual- und Transports-Dateien empfiehlt sich wieder ein »postfix reload« , um die Konfiguration zu aktivieren.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023