Um eine vollwertige Mailingliste betreiben zu können, benötigt man normalerweise
einen angemeldeten Domainnamen und eine Standleitung.
Wir zeigen Ihnen, wie man gleiches auch mit einer Dial-Up-Verbindung bei
dynamischer IP-Vergabe erreichen kann.
| Was bringt eine Mailingliste |
Eine Mailingliste dient der Kommunikation vieler verstreuter Personen, die
alle an Informationen eines Themas interessiert sind.
Der Dienst funktioniert ähnlich einer News-Gruppe, nur daß man
statt eines News-Clients nur das Mail-Programm verwenden muß.
Der Aufbau des Informationsnetzes sieht im Prinzip folgendermaßen aus:
Möchte irgendjemand aus der Liste der eingetragenen Clients nun eine Nachricht
an alle anderen Personen schicken, so muß er nicht einmal wissen, wer alles außer
ihm die Mailingliste abonniert hat. Er schickt seine Mail einfach an den Server
([email protected]), woraufhin der Server diese Mail vervielfältigt und an alle
Personen, die die Liste abonniert haben, weiterschickt.
In dieser Hinsicht funktioniert der Dienst anders als die
üblichen Mailinglisten, bei denen man sich häufig auf Web-Seiten eintragen kann.
Bei derartigen Mailinglisten kann nur der Webseiten-Betreiber eine Mail
an alle eingetragenen Clients schicken (sog. Announce-Listen).
Bei echten Mailinglisten liegt der Schwerpunkt zumeist viel stärker darauf,
daß die Clients untereinander Mails verschicken, während alle anderen diesen
Schriftwechsel mitverfolgen können.
Wofür benötigt man nun diese Mailingliste?
Es gibt eine Fülle von Einsatzmöglichkeiten. Häufig werden Mailinglisten von
Entwicklern zahlreicher Linux-Programme angeboten, da alle Programmierer
weltweit verteilt arbeiten.
Man kann aber auch für private Zwecke eine Mailingliste führen, z.B. eine Liste
aller ehemaligen Schulkameraden oder eine Liste für seine Sportmannschaft.
Terminabsprachen und Diskussionen können auf diese Weise von allen mitverfolgt
werden.
Auf dem Mailinglist-Server läuft meistens ein sog. majorodomo-Programm, welches
für die automatische Verwaltung der Mailingliste(n) zuständig ist.
Diesem Programm kann mittels einer e-Mail Befehle zugeschickt werden, um
sich bei bestimmten Mailinglisten z.B. ein- oder auszutragen.
Zusätzlich erhält jede Mailingliste eine eigene e-Mailadresse, über die
dann später die Kommunikation aller Clients erfolgt.
Besitzt man nun keine Standleitung, hat man das Problem, daß man zumeist eine
dynamische IP-Nummer zugewiesen bekommt und man bei jedem Einwählen einen
anderen Domain-Namen erhält.
Die Mails von den Clients können den Server nicht erreichen, da er entweder
nicht eingewählt ist oder unter einem unbekannten Domain-Namen läuft.
Daher werden Mailinglisten zumeist nur auf Servern mit
einer Standleitung angeboten.
Mit etwas Arbeit und kleinen Tricks ist es aber auch möglich, dieses
Problem zu umgehen und selbst dann eine Mailingliste zu führen, wenn man
keine Standleitung bestizt.
Auch ohne Standleitung besitzt wohl fast jeder Internetnutzer eine
e-Mailadresse. Denn die meisten ISPs und auch andere Firmen bieten auf
ihren Rechnern einen POP3-Account an, auf dem dann die eigene Post
zwischengelagert werden kann.
Wählt man sich dann ins Netz ein, kann diese Post automatisch auf die
Benutzer des lokalen Rechners (oder des gesamten lokalen Netzes) zugestellt
werden (siehe auch Artikel fetchmail I
und fetchmail II).
Was man nun zum Betreiben einer offline-Mailingliste benötigt, ist ein derartiger
POP3-Server, dessen zwischengespeicherten e-Mails an den lokalen Majordomo
im Falle des Einwählens ins Internet weitergeleitet werden.
Das häufig bei Distributionen beiliegende Progreamm Majordomo ist sehr
umfangreich konfigurierbar und bietet eine Fülle von Funktionen, die
man im Normalfall gar nicht benötigt.
So kann man bei diesem Programm die Befehle an den Mailinglist-Server
auch an die e-Mailadresse anfügen.
Dies würde aber bei einem offline-Betrieb nicht funktionierren (zumindest
nur mit erheblich größerem und unnötigem Aufwand).
Stattdessen benutzen wir den "kleinen Bruder" von Majordomo, nämlich
das Programm Minordomo, welches leichter zu installieren und zu konfigurieren
ist und für die meisten Einsatzzwecke vollkommen ausreicht.
Bei diesem Programm werden die Befehle an den Mailinglist-Server ausschließlich
über die Subject-Zeile gegeben und ist somit auch für einen Offline-Betrieb
geeignet.
Die Installation ist recht schnell getätigt.
Man sollte sich zuerst das Programm (als Tarball) von der Homepage
http://www.nodomainname.net/software/minordomo/
beschaffen und entpackt die Datei dann nach /usr/local mittels
>> tar zxvf minordomo-0.7.6.2.tar.gz -C /tmp/
Das Programm muß nicht kompiliert werden, da es sich nur um ein Perl-Script
handelt. Man muß jedoch das eigentliche Programm minordomo.pl
ins /usr/local/bin/ Verzeichnis kopieren:
>> cp -a /usr/local/minordomo-0.7.6.2/minordomo.pl /usr/local/bin/
Die Hauptkonfigurationsdatei wird standardmäßig unter /etc/minordomo.conf
gesucht:
>> cp /usr/local/minordomo-0.7.6.2/minordomo.conf.sample /etc/minordomo.conf
Die Verwaltung der einzelnen Mailinglisten erfolgt im Verzeichnis /var/lib/minordomo
>> mkdir /var/lib/mimordomo
Dort erhält jede geführte Mailingliste ein Unterverzeichnis
>> mkdir /var/lib/minordomo/listenname
PROBLEM:
Das Programm Sendmail muß für die Verzeichnisse und Dateien
unter /var/lib/minordomo Schreib- und Leseberechtigung
besitzen.
Allerdings unterscheiden sich bei den verschieden Distributionen die
Benutzer- und Gruppen-ID von Sendmail.
Teilweise lautet Benutzer.Gruppe mail.mail, unter SuSE
aber auch daemon.daemon.
Die Dateien können dann mittels
>> chown deamon.deamon DATEINAME
dem jeweiligen User übergeben werden.
Sollten Sie nicht wissen, welche Benutzer- und Gruppen-ID
Sendmail bei Ihnen besitzt, können Sie auch allen Benutzern
Schreibberechtigung für die Dateien geben. Wenn Sendmail dann das
Unterverzeichnis archive anlegt, sehen Sie mittles
>> ls -l /var/lib/minordomo/listenname/archive/
total 1
drwxr-xr-x 3 daemon daemon 1024 Sep 12 17:16 2000
wem das Verzeichnis gehört. Entfernen Sie dann wieder die
Schreibberechtingung für die anderen Benutzer und übertragen Sie
die Dateien alle an den jeweiligen Benutzer von Sendmail
(hier also deamon.deamon)
Als nächstes muß man noch einige Dateien konfigurieren und anpassen.
Vorgefertigte Beispieldateien befinden sich im Verzeichnis
/usr/local/minordomo-0.7.6.2/sample-list.
Folgende Dateien sind ins Verzeichnis /var/lib/minordomo/listenname/
zu kopieren:
Die Konfiguration der Datei /etc/minordomo.conf sieht folgendermaßen
aus:
| /etc/minordomo.conf |
# minordomo.conf - Configuration file for minordomo mailing list manager
# Der benutze SMTP-Server -- Da offline, kommt hier localhost hin
SMTP_server=localhost
# Ihr Domain-Name
domain=mein.domainname.de
# Das Verzeichnis, in dem die verschiedenen Mailinglisten liegen
directory=/var/lib/minordomo
# Die e-Mailsdresse des Administrators. Da offline, muß hier eine
# oeffentliche Adresse eingefügt werden
[email protected]
# Alle Listen, die Archiviert werden sollen. Leer lassen bedeutet keine
# Liste archivieren, ein * archiviert alle Listen
archive=*
# Man kann sich die Liste aller Eingetragenen Listenmitglieder anzeigen
# lassen. Wegen Datenschutz schalten wir dies aus
list_cmd=
# Bei welchen Listen kann gepostet werden.
# Ein * bedeutet bei allen
open_lists=*
# Listen, bei denen nur der Administrator schreiben kann
closed_lists=
# Maximale Mail-Laenge. Eine 0 schaltet die Begraenzung aus
max_size=0
# Soll minordomo die Reply-To-Zeile benutzen?
# Da offline, unbedingt ein yes
set_re_to=yes
# Bei jedem Brief wird dem Subject dieser Eintrag vorgestellt.
# Geeignet zum besseren Sortieren im Mail-Client
subject_prefix=[Listenname]
# Hompage der Mailingliste
URL=http://www.homepage.de
# Wo befindet sie Template-Datei fuers Web-Frontend.
# Leer heißt Default
template=
|
Als nächstes benötigt man zwei e-Mailadressen auf einem öffentlichen
POP3-Server im Internet. Als e-Mailadressen wählt man am besten
[email protected] und [email protected].
Die Namen sind allerdings ziemlich egal, und können frei gewählt werden.
Außerdem ist es nicht notwendig, daß beide Adressen auf dem selben Server
liegen.
Lokal müssen danach noch die Benutzer minordomo und
listenname angelegt werden, an die dann die Post vom öffentlichen
POP3-Server weitergeleitet wird.
Dafür fügt man in der Datei /etc/aliases die folgenden Einträge
an:
| /etc/aliases |
minordomo: "|/usr/local/bin/minordomo.pl"
listenname: "|/usr/local/bin/minordomo.pl listenname"
|
Um die gemachten Änderungen zu aktivieren, muß der Befehl
>> newaliases
ausgeführt werden. Damit die e-Mails aus dem Internet auch an die lokalen Adressen
weitergeleitet werden, benötigt man in der /root/.fetchmailrc noch
folgende zusätzliche Einträge
(zur genauen Konfiguration siehe auch die Artikel fetchmail I
und fetchmail II)
| /root/.fetchmailrc |
poll pop3server.de protocol pop3 user LOGIN_NAME pass PASSWORT to listenname
poll pop3server.de protocol pop3 user LOGIN_NAME pass PASSWORT to minordomo
|
und damit bei jedem Einwählen die Post auch abgeholt wird, benötigt man in
der Datei /etc/ppp/ip-up (falls der Eintrag dort nicht schon
vorhanden sein sollte) noch:
| /etc/ppp/ip-up |
fetchmail -q
fetchmail -d 300
|
Abhängig von Ihrer Sendmail-Konfiguration ist es, ob die abzuschickende Post
auch zugestellt wird, wenn sie gerade im Internet sind, oder ob Sie trotz offener
Verbindung unter /var/spool/mqueue/ zwischengespeichert wird.
Sollte dies der Fall sein, benötigen sie unter /etc/ppp/ip-up/ am
Ende der auszuführenden Programme noch die Einträge (selbst dann, wenn am Anfang
der Datei schon der Eintrag sendmail -q zu finden ist):
| /etc/ppp/ip-up |
sleep 200
sendmail -q
|
Ansonsten wird die eingegangene Mail von Mitgliedern der Mailingliste zwar an
alle anderen eingetragenen Benutzer nur gespoolt, aber noch nicht
abgeschickt.
(Beachten Sie, daß bei SuSE die Datei ip-up und
ip-down eine einzige Datei sind, die intern nur mit
verschiedenen Optionen aufgerufen wird. Bitte schreiben Sie dann die Einträge
unterhalb des Aufrufs ip-up))
Ab nun kann man sich in die Mailingliste eintragen. Dafür schickt man eine
Mail mit dem Subject subscribe listenname an die Adresse
[email protected]. Hat man die Bestätigung erhalten, daß
man in die Liste aufgenommen wurde, wird jede Post, die an
[email protected] geschickt wurde an alle anderen
Mailinglist-Mitglieder weitergeleitet.
Eine Liste aller eingetragenen Listenmitglieder findet man unter
/var/lib/minordomo/linuxnetmag/list.
- Wenn man in der Konfigurationsdatei das Archivieren der Mails angestellt hat,
kann man das Programm minweb.pl ins cgi-Verzeichnis seines Web-Servers
kopieren. Man erhält dann ein komfortables Web-Frontend, um den bisherigen
Briefverkehr anzuschauen.
- Das Web-Frontend funktioniert natürlich nur auf dem Server, auf dem auch
die Mails archiviert werden. Nur der Administrator kann folglich dieses Programm
nutzen. Sollen die Mails öffentlich im Netz archiviert werden, kann man mittels
sitecopy einen öffentlichen Web-Server für diese Aufgabe benutzen.
- Bei offline-Mailinglisten läuft der Briefverkehr natürlich eher langsam. Für
zeitkritische Diskussionen ist diese Lösung somit nicht geeignet.
- Mit Minordomo kann man selbstverständlich auch mehr als eine Mailingliste
führen. Man benötigt für jede weitere Liste ein neues Unterverzeichnis unter
/var/lib/minordomo/, eine zusätzliche e-Mailadresse mit einem weiteren Eintrag
in der Datei /root/.fetchmairc und einen zusätzlichen Eintrag bei
/etc/aliases.
- Die hier vorgestellte Lösung funktioniert natürlich auch, wenn Sie eine
Standleitung besitzen. Dann bietet der hier gezeigte Weg den Vorteil, daß
Sie eine Mailingliste unabhängig von Ihrem eigenen Server-Namen anbieten
können. Sollten Sie einen neuen Domain-Namen zugewiesen bekommen, stört daß
den Mail-Verkehr in keinster weise, da die Clients nur mit dem öffentlichen
POP3-Server in Verbindung treten.
- Prinzipell ist auch eine Benutzung von Majordomo im offline-Betrieb
möglich. (Selbst die Benutzung von Befehlen innerhalb der e-Mailadresse
kann unterstützt werden, wenn man für jede mögliche Adresse eine zusätzliche
offizielle POP3-Adresse benutzt.)
Links:
Platz für Kommentare & Fragen:
(selbst eintragen)
|