Den Navigationsbereich überspringen...

Navigation

Vorbemerkungen

Mit Hilfe von procmail kann man sich seine eigene kleine Mailingliste anlegen. Ich habe diese Lösung lange Zeit ohne Probleme (etwa ein Dutzend Empfängeradressen) mit Sendmail auf Solaris verwendet. Bei entsprechend mehr Empfängern und/oder einem anderen Mail Transfer Agent (MTA) kann (wird) es Probleme geben. Beschränkender Faktor kann z.B. die Anzahl der Mail-Adressen sein, die man dem lokalen MTA übergeben kann.

Procmail ist keine Lösung für große Mailinglisten. Dazu gibt es besssere (auch freie) Software. (Ich mache gute Erfahrungen mit Mailman.) Kleine bis mittlere Mailinglisten kann man übrigens auch direkt mit Exim verwalten. Eine Anleitung gibt es hierzu in der Exim 3 HowTo.

Realisierung

In die eigene ~/.procmailrc muß man - beispielsweise per INCLUDERC - nur folgende Zeilen (nach Anpassung an die eigenen Bedürfnisse) einbinden:

#
# Eine "offene" Mailingliste mit procmail (12/2000)
#
# Bitte die "Dokumentation" auf der unten angegebenen Webseite beachten.
#
# Sebastian Inacker <si at inacker.de>
# http://www.inacker.de/linux/procmail.html
# 

ML_BASEDIR="/home/user/.mailinglisten"
MAILVERTEILER_1="${ML_BASEDIR}/mailingliste1"
MAILVERTEILER_FOOTER_1="${ML_BASEDIR}/mailingliste1.footer"

:fc
* (^To|^Cc):.*mailingliste1@example.com
* !^X-Loop: Mailingliste1
| ( formail -A "X-Loop: Mailingliste1" \
            -i "Reply-To: mailingliste1@example.com" \
            -A "X-Bemerkung: Mailheader lesen ist gesund."; \
  cat ${MAILVERTEILER_FOOTER_1} )
:awi
! `cat ${MAILVERTEILER_1} | cut -f 1 -d "#"`

Anzupassen/zu ändern sind folgende Werte:

ML_BASEDIR
Ein Verzeichnis, in dem sich die Dateien für die Mailingliste(n) befinden.
MAILVERTEILER_1
Eine Datei, in der die Empfänger-Mail-Adressen stehen. Pro Zeile jeweils eine E-Mail-Adresse. Kommentare können nach einer # angegeben werden. [Beispiel]
MAILVERTEILER_FOOTER_1
Footer für alle Mails, die über die Mailingliste verschickt werden. Am Rande erwähnt: Die Signatur einer Mail wird mit "--[space][enter]", also "-- ", abgetrennt. "--" (ohne Lehrzeichen hinter --) ist falsch. [Beispiel]
mailingliste1@example.com
eMail-Adresse der Mailingliste. Alle Mails an diese Adresse (per To oder Cc) sollen weitergeleitet werden. Diese Adresse wird in dieser Konfiguration auch als Reply-To eingetragen.
Mailingliste1
Name der Mailingliste. formail fügt diesen Namen in den Header der Mail ein, um einen Mail-Loop zu verhindern, falls die Adresse der Mailingliste ebenfalls in der Liste der Enpfängeradressen steht (warum auch immer ;-) ).

Schlußbemerkungen

Zu beachten ist: Dies ist eine "offene" Mailingliste. Jeder, der die Adresse der Mailingliste kennt, kann auch eine Mail an die Mailingliste schreiben. Wer sich für eine "geschlossene" Mailingliste interessiert, der kann sich diese Lösung anschauen. Dort wird getestet, ob der Absender (bzw. die From-Adresse des Absenders) auch als Empfänger eingetragen ist, bevor die Mail verarbeitet und verschickt wird. Diese Lösung hatte ich allerdings nicht im "Produktiveinsatz". Das bedeutet, daß diese Lösung vermutlich nicht ausreichend getestet ist.

SEE ALSO

procmail(1), procmailrc(5), procmailex(5), procmailsc(5), formail(1)

Spambots folgen bitte diesem Link.

<URL:http://www.inacker.de/linux/procmail.html>
HTML 4.01 / CSS / WML