Tips zum Majordomo

Da es immer wieder zu Verständnisproblemen im Umgang mit der Mailinglistensoftware auf einigen von mir administrierten Mailinglisten kommt, habe ich hier mal einen kleinen Crashkurs zur Benutzung des Majordomo (der Mailinglistensoftware) zusammengeschrieben. Dabei geht es um die Benutzung aus Sicht der Anwender, nicht um die Administration einer Mailingliste.

Weitere Informationen (englisch) gibt es auf der Majordomo-Homepage.

WICHTIG: alle Beispiele beziehen sich auf fiktive Mailinglisten und Adressen. Also bitte nicht einfach gedankenlos abtippen und ausprobieren - auf einer ganz speziellen Mailingliste hatte ich mal ein Beispiel mit der Adresse bill.gates@microsoft.com angegeben, und kurz darauf hat tatsächlich jemand versucht, diese Adresse bei der Liste anzumelden ;-)

Also: erst denken, dann schreiben.


Grundlagen

Bevor es losgeht, müssen erst einmal ein paar Begriffe und die Grundfunktion des Majordomo geklärt werden.

Eine Mailingliste funktioniert normalerweise so, daß die Teilnehmer Mails an eine Adresse auf dem Listserver schicken. Von diesem Server aus wird die Mail dann an alle Teilnehmer weitergeschickt. Jede Liste, die vom Majordomo verwaltet wird, hat einen eigenen Namen, der normalerweise auch die Adresse der Mailingliste bildet.

Neben der eigentlich Listenadresse gibt es auf dem gleichen Server noch weitere Adressen, die administrativen Zwecken dienen, z.B. dem An- und Abmelden von einer Liste, dem Anzeigen aller auf dem Server vorhandenen Mainlinglisten oder auch der Teilnehmer einer Mailingliste, der Konfiguration der Listen (durch den Administrator oder List-owner)...

Die wichtigste dieser administrativen Adressen ist majordomo@server. Sämtliche administrativen Vorgänge können über diese Adresse abgewickelt werden, egal, ob es sich um Listen- oder Serverspezifische Vorgänge handelt. Zusätzlich sollte es für jede vorhandene Mailingliste eine eigene administrative Adresse geben, diese lautet normalerweise liste-request@server, wobei liste der Name der Liste und server der Name des Servers ist.

Wie zu erwarten gibt es für jede Mailingliste einen Administrator, den sog. List-owner. Dieser Begriff ist technisch zu verstehen, d.h. er hat nichts mit Moderation oder ähnlichem zu tun. Es handelt sich lediglich um eine Adresse, an die Fehlermeldungen (z.B. bei unzustellbaren Mails) weitergeleitet werden und an die sich die Listenteilnehmer bei Problemen wenden können. Üblicherweise (aber nicht zwingend) lautet die Adresse des List-owners list-owner@server. Zusätzlich zum List-Owner gibt es auch eine Approval-Adresse, an die z.B. fragwürdige An- oder Abmeldeforderungen weitergeleitet werden, aber dazu komme ich später noch. Mails an Approval-Adresse werden normalerweise an den Owner weitergeleitet.

Apropos List-Owner: in einer Welt ohne Fehler würde der Owner einfach eine Mailingliste einrichten und konfigurieren und könnte sich dann wieder anderen Dingen widmen. In der Praxis kommt es aber eben oft zu Problemen: unzustellbare Mails, An- oder Abmeldungen von Fremdadressen (kommt weiter unten), Mails, die durch von Owner definierte Filterregeln ausgefiltert werden, ... alles das landet beim Owner, es wird gebounced. Daran sollte man denken, wenn mal etwas nicht sofort klappt, schließlich kann es etwas dauern, bis der Owner die Fehlermails liest.

Zusammenfassung:

Listserver
Der Rechner, auf dem die Verwaltung der Mailinglistenteilnehmer und die Weiterleitung von Mails an die Teilnehmer erfolgt. Auf diesem Rechner läuft auch die Listensoftware, also der Majordomo.
Mailingliste
Eine vom Majordomo verwaltete Verteilerliste. Der Name der Liste bildet zusammen mit dem Servernamen die Adresse, an die Mails geschickt werden müssen, die über die Liste verteilt werden sollen, also liste@server.
Administrativa
Mails, die der Konfiguration, dem An- und Abmelden, dem Anfordern von Informationen über Mailinglisten, ... dienen. Solche Mail können entweder an die Adresse majordomo@server oder auch an liste-request@server geschickt werden.
list-owner
Eine Adresse, an die Fehlermeldungen weitergeleitet werden. Üblicherweise handelt es sich dabei um den Administrator der Mailingliste.
Bounce
Mails, die aufgrund eines Fehlers nicht zugestellt werden können, werden an den Owner gebounced, der dann entscheiden darf, was zu tun ist. [Anm. technisch gesehen handelt es sich in den wenigsten Fällen um Bounces, aber das ist hier egal]

Beispiel: Angenommen, auf dem Rechner foo.bar.org läuft ein Majordomo mit einer Liste zum Austausch von Kochrezepten und einer Liste zur Diskussion über die Pflege von Zierfischen. Die Namen der Listen sind entsprechend rezepte und zierfische. Die Situation sieht dann folgendermaßen aus:


Kommandos (Administrative)

Sämtliche Konfiguration, An-, Abmeldungen etc. erfolgen per Mail an eine der administrativen Adressen, nicht an die Mailingliste selbst. Eine administrative Mail kann ein oder mehrere Anweisungen enthalten, der Betreff der Mail spielt keine Rolle. Der Majordomo wird auf jede administrative Mail eine Antwortmail schicken, in der zu jedem Kommando steht, ob es erfolgreich durchgeführt werden konnte oder nicht. Bei vielen Kommandos werden auch weitere Informationen in der Antwortmail enthalten sein (z.B. bei Anforderung der Teilnehmerliste einer Mailingliste). Bei fehlerhaften Kommandos schickt der Majordomo normalerweise einen (englischen) Hilfetext, der auch mit dem Kommando help angefordert werden kann.

Sämtliche für Listenteilnehmer vorgesehenen Kommandos bestehen aus jeweils einer einzigen Zeile (für den Owner gibt es auch mehrzeilige Kommandos, z.B. zum Ändern der Konfiguration, aber das ist hier unwichtig). Eine Kommandozeile besteht aus dem Namen des Kommandos und evtl. weiteren Parametern. Einfach ganz einfach, wichtig ist aber die Unterscheidung zwischen den verschiedenen administrativen Adressen bei listenspezifischen Kommandos: solche Kommandos erwarten als Parameter normalerweise den Namen der Liste, z.B. subscribe rezepte. Das gilt aber nur dann, wenn das Kommando direkt an die Adresse des Majordomo geschickt wird (also majordomo@server). Geht das Kommando an die listenspezifische Adresse, muß der Listenname weggelassen werden.

Beispiel (Anmeldung auf der Rezepteliste, genaueres dazu folgt im nächsten Abschnitt):

  1. Mail an majordomo@foo.bar.org, Inhalt: subscribe rezepte joe@nowhere.gov
  2. Mail an rezepte-request@foo.bar.org, Inhalt: subscribe joe@nowhere.gov
Im zweiten Beispiel fällt der Listenname weg.

An- und Abmelden

Zum An- oder Abmelden braucht man natürlich die Adresse des Servers und den Namen der Mailingliste, sowie evtl. seine eigene Adresse. Zum Anmelden verwendet man das Kommando subscribe, zum Abmelden unsubscribe.

Neben der Unterscheidung der listenspezifischen und allgemeinen Adminstrativadressen ist zu bearücksichtigen, wer von wem an- oder abgemeldet werden soll. Je nach Konfiguration einer Mailingliste ist es nämlich durchaus möglich, Fremdadressen an- oder abzumelden - solche Fälle müssen allerdings normalerweise noch durch den List-Owner bestätigt werden.

In der einfachsten Form reicht eine Mail an die listenspezifische Adresse (liste-request@server), in der lediglich eine Zeile mit subscribe oder unsubscribe steht. Der Majordomo wird dann den Absender dieser Mail automatisch als Teilnehmer ein- oder austragen. War der Absender im Fall eines subscribe bereits Teilnehmer der Liste, passiert gar nichts (Mehrfacheintragungen der gleichen Adresse sind nicht möglich). Entsprechend passiert beim Abmelden einer gar nicht eingetragenen Adresse nichts (abgesehen von einer entsprechenden Antwortmail des Majordomo).

Verwendet man statt der listenspezifischen die allgemeine Adresse (majordomo@server), muß dem subscribe bzw. unsubscribe natürlich noch der Listenname mitgeteilt werden.

Komplizierter wird es, wenn man eine andere Adresse an- oder abmelden möchte. Dieser Fall kann z.B. eintreten, wenn man gerade am Arbeitsplatz sitzt, an den man sich seine Privatmails weiterleiten läßt, und nun von hier aus die Privatadresse auf einer Liste anmelden möchte. Die administrative Mail hat als Absender also die Adresse des Arbeitsplatzes, und man muß dem subscribe-Kommando zusätzlich die Privatadresse mitteilen.

Ob solche Fremdan- und abmeldungen überhaupt zugelassen sind bzw. inwieweit sie eingeschränkt möglich sind, hängt von der jeweiligen Konfiguration der Mailingliste ab. Es gibt verschiedene sog. Policies, z.B.

Beispiele:

  1. joe@nowhere.gov hat zusätzlich zur Mailanschrift bei seinem Arbeitgeber die private Adresse joe@home.org. Er möchte sich von der Zierfisch-Mailingliste ab- und bei der Rezepte-Mailingliste anmelden. Dazu schickt er eine Mail an majordomo@foo.bar.org, die folgenden Inhalt hat:
                unsubscribe zierfische joe@home.org
                subscribe rezepte joe@home.org
           
    
    Bei entsprechender Konfiguration wird der Majordomo jetzt noch zur Bestätigung Mails an joe@home.org schicken, die von dort an den Majordomo zurückgeschickt werden müssen. Erst dann werden die An- und Abmeldungen durchgeführt. [Anm.: oft muß nur die Abmeldung bestätigt werden, und das passiert häufig auch durch den Owner der Liste]
  2. Gleicher Fall wie eben, allerdings kann sich joe nicht mehr an den Namen der allgemeinen Administrativadresse (majordomo@foo.bar.org) erinnern. Er schickt daher zwei Mails. Die erste geht an zierfische-request.foo.bar.org und hat folgenden Inhalt:
                unsubscribe joe@home.org
           
    
    Die zweite Mail geht an rezepte-request@foo.bar.org mit dem Inhalt:
                subscribe joe@home.org
           
    
  3. Als Joe abends nach Hause kommt, stellt er fest, daß seine Katze das Aquarium mit den Zierfischen, das auf Joes Rechner steht, umgeworfen hat (vermutlich hat er so etwas geahnt, als er sich von der Zierfischliste abgemeldet hat). Abgesehen von den armen Fischen ist der Rechner natürlich im Eimer. Em nächsten Morgen beschließt er daher, sich die Mails der Rezeptliste direkt an seinen Arbeitsplatz schicken zu lassen (sein Rechner zu Hause ist ja kaputt). Dazu meldet er seine private Adresse ab und die Adresse seines Arbeitsplatzes an. Er schickt eine Mail an rezepte-request@foo.bar.org:
                unsubscribe joe@home.org
                subscribe
           
    
    Selbstverständlich hätte auch eine Mail an majordomo@foo.bar.org schicken können:
                unsubscribe rezepte joe@home.org
                subscribe rezepte
           
    
    aber die Adresse hatte er ja vergessen. Außerdem ist die andere Mail etwas kürzer.

Weitere listenspezifische Kommandos

Neben der An- und Abmeldung kann man sich auch diverse Informationen zu einer Mailingliste schicken lassen. Da das Format einer administrativen Mail inzwischen klar sein dürfte, folgt hier nur eine kurze Übersicht der Kommandos. Zur Erinnerung: geht die Mail an den Majordomo (majordomo@server), muß dem Kommando noch der Listenname mitgegeben werden.

Allgemeine (serverspezifische) Kommandos

Alle folgenden Kommandos müssen an die allgemeine Administrativadresse geschickt werden, also an marjodomo@server. Evtl. gehen auch listenspezifische Adressen, aber das müßte ich erst mal ausprobieren.

Mailfilter und Bounces

Wenn die eigenen Mails an eine Mailingliste nicht durchkommen, kann es sein, daß sie vom Majordomo gefiltert und an den List-Owner gebounced werden. Ich z.B. habe alle von mir administrierten Mailinglisten so konfiguriert, daß keine Mails mit HTML, Dateianhängen etc. durchgelassen werden (ich hoffe dadurch, Probleme mit Würmern zu vermeiden). Da hinter dem List-Owner auch nur ein Mensch steckt, kann es u.U. etwas länger dauern, bis auf so ein Bounce eine Reaktion erfolgt, es kann sogar vorkommen, daß der Owner die Bouncemail einfach wegwirft. In so einem Fall sollte man einfach mal nachsehen, wie man sein Mailprogramm konfiguriert hat und sich ggf. nochmal mit dem intro-Kommando den Einführungstext der jeweiligen Liste holen. Oft stehen dort auch Hinweise darauf, was in der Liste erlaubt ist, was evtl. automatisch gefiltert wird, etc.

The End

Korrekturhinweise und Verbesserungsvorschläge bitte an kili@outback.escape.de.
Valid HTML 4.01!
kili@outback.escape.de