Mlmmj
Mailing List Management Made Joyful
mlmmj ist ein Programm, mit dem in einem Hostsharing Paket E-Mail-Verteiler realisiert werden können.
Vergleichen Sie dazu auch den Wikipedia-Artikel: Mailingliste
Alternative: Mailman
Diese Anleitung beschreibt die Installation einer Mailingliste in einem Hostsharing WEB-Paket für eine Domain.
mlmmj
Voraussetzungen
Das Debian Paket mlmmj ist auf den Shared-Hosting-Servern bereits installiert.
Für den Betrieb der Mailingliste empfehle ich das Anlegen eines Users für diesen Zweck mit hsadmin.
Sei mein Paket xyz00 und der User xyz00-list.
Sei meine Domain example.org und die E-Mail-Adresse für die Liste discuss@example.org.
Die Domain muss bei einem beliebigen User im Paket xyz00 aufgeschaltet sein. Die E-Mail-Adresse wird ebenfalls mit hsadmin eingerichtet. Das Target ist der User xyz00-list.
Hier werden User und E-Mail-Adresse mit Hilfe des hsadmin-Interpreters hsscript angelegt:
xyz00@h03:~$ hsscript -i Password: ************* xyz00@hsadmin> user.add({set:{name:'xyz00-list',comment:'Mailingliste Discuss',shell:'/bin/bash',password:'geheimnis'}}) xyz00@hsadmin> emailaddress.add({set:{target:'xyz00-list',localpart:'discuss',domain:'example.org'}}) xyz00@hsadmin> bye
Einrichtung
Ich melde mich auf der Linux-Kommandozeile als User xyz00-list an.
Für den User lege ich in seinem Heimat-Verzeichnis das Unterverzeichnis "mlmmj" an:
mkdir /home/pacs/xyz00/users/list/mlmmj
Dann lege ich die Mailingliste mit folgendem Kommando an:
mlmmj-make-ml -L discuss -s /home/pacs/xyz00/users/list/mlmmj
Das Skript fragt weitere Parameter der Mailingliste ab:
The Domain for the List? [] : example.org The emailaddress of the list owner? [postmaster] : webmaster@example.org For the list texts you can choose between the following languages or give a absolute path to a directory containing the texts. Available languages: cz da de en es fr it nl ru The path to texts for the list? [en] : de
Damit ist unter "/home/pacs/xyz00/users/list/mlmmj" ein Verzeichnis "discuss" angelegt, das die Datenstruktur zur Verwaltung der Mailingliste enthält.
Weitere Konfigurationen der Liste erfolgen durch das Anlegen von Dateien im Verzeichnis "/home/pacs/xyz00/users/list/mlmmj/discuss/control". Die Konfigurationsmöglichkeiten finden Sie auf der Internetseite von mlmmj
Für den User lege ich in seinem Heimat-Verzeichnis die Datei ".forward" mit folgenden Inhalt an (Achtung, die Anführungszeichen nicht vergessen!):
"|/usr/bin/mlmmj-recieve -L /home/pacs/xyz00/users/list/mlmmj/discuss/"
Diese Datei sorgt dafür, dass eingehende E-Mail für die Liste an das Programm mlmmj-recieve übergeben und dort verarbeitet werden.
Für regelmäßige Aufgaben der Listen-Managers definiere ich die crontab wie folgt (immer noch als xyz00-list):
MAILTO=webmaster@example.org PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin HOME=/home/pacs/xyz00/users/list SHELL=/bin/bash LANG=en_US.UTF-8 # m h dom mon dow command 28 */4 * * * /usr/bin/mlmmj-maintd -d /home/pacs/xyz00/users/list/mlmmj -F
Zum Schluss trage ich noch die gewünschten E-Mail-Adressen ein:
/usr/bin/mlmmj-sub -L /home/pacs/xyz00/users/list/mlmmj/discuss -a klaus.muster@gmx.de -c /usr/bin/mlmmj-sub -L /home/pacs/xyz00/users/list/mlmmj/discuss -a sabine.beispiel@arcor.de -c
Dabei bewirkt "-c", dass der Abonnent eine Begrüßungs-Nachricht erhält. Alternativ kann man "-C" (großes Ce) angeben. Dann muss der Abonnent das Abo durch Antworten auf die Nachricht bestätigen.
weitere Konfiguration
Noch ein paar Dinge, die Sie möglicherweise einstellen wollen:
Ein Prefix in der Betreffzeile setzen, z.B.: "[discuss]".
echo "[discuss]" > /home/pacs/xyz00/users/list/mlmmj/discuss/control/prefix
Die Liste darf nur E-Mails von eingetragenen Abonnenten weiterleiten:
touch /home/pacs/xyz00/users/list/mlmmj/discuss/control/subonlypost
Das Abonnement muss vom Listen-Owner bestätigt werden:
touch /home/pacs/xyz00/users/list/mlmmj/discuss/control/submod
Einen "Reply-To:"-Header setzen, so dass Antwort-EMails immer an den Verteiler gehen:
echo "Reply-To:" > /home/pacs/xyz00/users/list/mlmmj/discuss/control/delheaders echo "Reply-To: discuss@example.org" > /home/pacs/xyz00/users/list/mlmmj/discuss/control/customheaders
Weitere Möglichkeiten finden Sie (wie oben bereits angegeben) auf der Internetseite von mlmmj
Konfiguration im Browser
Die Original-Distribution von mlmmj enthält ein paar einfache PHP- und Perl-Skripte. Das sind Beispiele für Subscribe-/Unsubscribe-Formulare, ein Admin-Formular zum Eintragen und Löschen von Abonnements und eine Seite mit der gesamten Listen-Konfiguration.
Wer es sich ansehen möchte:
Als Paket-Admin eine Domain aufschalten:
hsscript -u xyz00 -e "domain.add({set:{name:'lists.example.org',user:'xyz00-list'}})"
Und weiter als "xyz00-list".
Download von http://mlmmj.org/releases/mlmmj-1.2.18.0.tar.gz auspacken.
Unter "/mlmmj-1.2.18.0/contrib/web/php-admin/" finden Sie im Paket die PHP-Admin-Anwendung.
Also den Inhalt diese Verzeichnisses nach "/home/pacs/xyz00/users/list/doms/lists.example.org/" packen,
- in "/home/pacs/xyz00/users/list/doms/lists.example.org/conf/config.php" die Variable "$topdir" anpassen
- die Dateien aus "/home/pacs/xyz00/users/list/doms/lists.example.org/htdocs/" nach "/home/pacs/xyz00/users/list/doms/lists.example.org/htdocs-ssl/" verschieben
- in "/home/pacs/xyz00/users/list/mlmmj" und in "/home/pacs/xyz00/users/list/doms/lists.example.org/htdocs-ssl/" eine ".htaccess" mit folgendem Inhalt ablegen:
Require valid-user AuthType Basic AuthName "mlmmj web-interface" AuthUserFile /home/pacs/xyz00/users/list/doms/lists.example.org/etc/htpasswd
Und schließlich die "htpasswd"-Datei anlegen.
cd /home/pacs/xyz00/users/list/doms/lists.example.org/etc/ htpasswd -c htpasswd listadmin
Ein Passwort angeben und auf https://lists.example.org schauen.
Links
- http://mlmmj.org/ Projektseite (zur Zeit "500 Internal Server Error")
- https://gitlab.com/mlmmj/ mlmmj auf Gitlab
- https://github.com/tchapi/mlmmj-simple-web-interface ein Damin-Interface in NodeJS