LinuxNetMag
offline Mailingliste
Archiv | Home
Inhalt
   
LinuxNetMag #5

  Software
 Aktuell
kurz vorgestellt
SuSE7.0 Testbericht
Mozilla Preview
 Applikationen
Videoschnittsystem
Windows X-Server
Windowmanager
  
 

Hardware

TV-Karte
Wheel-Mouse
Webcam selbstgebaut
LCD-Panel
  
 

Netzwerk

Web2Fax-Gateway
Apache mit SSI
Booten übers Netz
Webcam-Streaming
offline Mailingliste
Audio-Streaming
ISDN-Dial-In Server
empfehlenswerte Links
  
 Wissen
Abenteuer ReiserFS
Linux-Devices
LinuxExpo Brasilien
  
 

Sonstiges

Mailing-Liste
Gästebuch
Artikelliste
Unterstützen Sie uns !
zurück zur Hauptseite



Druckversion


  Mouse 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:

Aufbau einer Mailingliste

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.

Problem: offline

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.

Prinzip einer Offline-Mailingliste

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.

Installation

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:

  • footer: Der Text dieser Datei wird jeder Mail angehängt und enthält normalerweise die Information, wie man sich wieder aus der Mailingliste herausschreiben kann.

    /var/lib/minordomo/listenname/footer
    ---------------------------------------- 
    Listenname -- http://www.homepage.de
    To unsubscribe, send mail to [email protected] with
    a subject of 'unsubscribe \l'  
    

    Minordomo ersetzt den Eintrag \l durch den Listennamen. Die e-Mailadresse hingegen muß man durch die offizielle POP3-Server-Adresse ersetzen, da Minordomo ansonsten den lokalen Mail-Server einträgt.

  • info: In dieser Textdatei schreibt man eine etwas längere Beschreibung des Themengebietes, mit dem sich die Mailingliste befaßt.
  • one-liner: Eine Beschreibung der Mailingliste in Kurzform (nur eine Zeile)
  • template.html: Diese Datei wird nur benötigt, wenn man das Web-Frontend von Minordomo installieren will. Dann kann man mittels dieser Datei das Aussehen der späteren Web-Seiten beeinflussen.
  • config: Man kann auch eine zusätzliche Konfigurationsdatei in die Unterverzeichnisse der jeweilingen Mailinglisten kopieren.
    Die Einstellungen dieser Datei überschreiben die Einstellungen der Haupt-Konfigurationsdatei /etc/minordomo.conf. Somit kann man für verschiedene Mailinglisten jeweils angepaßte Konfigurationen benutzen.
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.

Tips & Hinweise

  • 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:
http://www.nodomainname.net/software/minordomo/Homepage von Minordomo
http://www.greatcircle.com/majordomo/Homepage von Majordomo
fetchmail I
fetchmail II
Anleitungen zur Konfiguration von fetchmail

Platz für Kommentare & Fragen:
(selbst eintragen)

 

Weitere Ausgaben Linux NetMag
[ #1 | #2 | #3 | #4 | #5 | Main ]