Mlmmj

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen

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