root/doc/mlm-design.txt

Revision 1:7546a58a245c, 4.7 KB (checked in by anselm, 7 years ago)

This is the initial commit of the base Project Lancelot software. It does
not yet do anything useful, but the Perl packaging stuff seems to work (#7).

Line 
1MAILINGLISTEN-MANAGER-DESIGN
2============================
3
4Lebenswichtige Features
5-----------------------
6
7- Virtual-Host-fähig im Our-ISP-Kontext (Postfix + Maildrop)
8- Bedienbar per Mail (à la ezmlm-idx)
9- Cookie-basierter Abonnementsmechanismus
10- Filtern von Attachments (mit oder ohne Fehlermeldung an Absender)
11- Filtern von Mails von nicht abonnierten Adressen
12- Adressen, die Mail schicken dürfen, aber keine kriegen
13- Bounce-Behandlung
14- Archivschnittstelle (?)
15
16Ziemlich wichtige Features
17--------------------------
18
19- Digests
20- Moderation einzelner Nachrichten
21- Moderatoren außer dem Listeneigentümer
22- »Schwarze Liste« für Abonnenten/Einsende-Adressen
23- »Geschlossene« Mailingliste (nur der Eigentümer/die Moderatoren
24  dürfen Abonnenten aufnehmen)
25
26Nett zu habende Features
27------------------------
28
29- Web-Frontend für Endanwender (ist relativ aufwendig)
30- Moderation von Abonnementswünschen
31- »Katastrophenmoderation« à la Mailman
32- Moderatorenmails/Administration über GPG-signierte Mail
33
34Unnötige Features
35-----------------
36
37- Unterstützung von 23 Sprachen (wofür?)
38- Abruf einer Abonnentenliste durch die Endanwender/Moderatoren
39  (zu kompliziert, da Abonnenten der Aufnahme in diese Liste
40  widersprechen können müssen)
41- Usenet-Gateway
42
43
44Funktionsweise
45--------------
46
47Annahme: Software ist installiert für LIST@DOMAIN. Es gibt eine Datenbank
48(pro Liste) mit Abonnentenadressen und deren Status (UNBESTÄTIGT,
49BESTÄTIGT, GESPERRT, ...).
50
51LIST@DOMAIN ist die Einsendeadresse für Beiträge. Beiträge werden:
52
53- inhaltlich gefiltert:
54  - Spam wird verschluckt
55  - Nachrichten, die nicht explizit (per »To:« oder »Cc:«) an die
56    Liste adressiert sind, werden verschluckt
57  - text/plain-Nachrichten werden weiterbearbeitet
58  - text/html-Nachrichten werden mit Erklärung an den Absender
59    zurückgeschickt, falls dieser ein Abonnent ist, sonst verschluckt
60  - Multipart-Text+HTML-Nachrichten werden zu text/plain gemacht
61    und weiterbearbeitet
62  - Multipart-Nachrichten mit ausführbaren Attachments werden verschluckt
63  - Andere Multipart-Nachrichten werden mit Erklärung an den Absender
64    zurückgeschickt, falls dieser ein Abonnent ist, sonst verschluckt
65- nach Absendern gefiltert:
66  - Nachrichten von Abonnenten oder freigeschalteten Adressen werden
67    weiterbearbeitet
68  - Moderierte Nachrichten werden weiterbearbeitet
69  - Alles andere wird an den Absender zurückgeschickt oder dem Moderator
70    übergeben
71- aufgeräumt:
72  - Unnütze Header werden entfernt
73  - List-*-Header werden hinzugefügt
74- an die Abonnenten weitergereicht:
75  - VERP (siehe http://www.courier-mta.org/draft-varshavchik-verp-smtpext.txt)
76- oder an den Moderator geschickt.
77
78LIST-subscribe@DOMAIN ist die Adresse zum Abonnieren der Liste. Mails werden:
79
80- beantwortet mit einen Cookie, den der Absender zurückschicken muß,
81  um definitiv auf die Liste gesetzt zu werden
82- Die Absenderadresse wird als UNBESTÄTIGT in die Abonnentendatenbank
83  aufgenommen
84
85Bei einer Bestätigungsmail wird:
86
87- der Cookie geprüft. Wenn er ungültig ist, bekommt der Absender eine
88  Fehlermeldung und die Bearbeitung endet hier.
89- Die Absenderadresse wird in der Abonnentendatenbank auf BESTÄTIGT gesetzt
90- der neue Abonnent mit einer Nachricht begrüßt
91
92LIST-unsubscribe@DOMAIN ist die Adresse zum Abbestellen der Liste. Sie
93wird analog zu LIST-subscribe@DOMAIN behandelt.
94
95LIST-bounces-...@DOMAIN ist die SMTP-Absenderadresse für Beiträge (mit VERP).
96
97- Mails an diese Adresse mit einer vernünftig aussehenden VERP-Erweiterung
98  werden dekodiert.
99- Gehört die Adresse aus dem VERP zu keinem aktuellen Abonnenten, wird die
100  Nachricht verschluckt.
101- Ansonsten wird für den Abonnenten vermerkt, daß eine Nachricht
102  gebouncet wurde und wann. Bei n Bounces über einen Zeitraum t wird
103  eine Testnachricht geschickt; bouncet diese, wird der Abonnent aus
104  der Datenbank entfernt (aber bekommt vorher noch eine Nachricht)
105
106LIST-help@DOMAIN schickt einen automatischen Hilfetext.
107
108LIST-owner@DOMAIN ist die Adresse, unter der der Eigentümer zu
109erreichen ist.
110
111
112Virtual-Host-Fähigkeit
113----------------------
114
115Es ist wichtig, daß normale Our-ISP-Benutzer Listen administrieren
116können, ohne dafür besondere Rechte zu benötigen. Dies wird wie folgt
117erreicht:
118
119- Jede Liste hat ihre eigene Konfiguration, es gibt keine zentrale für
120  alle gemeinsame Konfigurationsdatei (außer vielleicht im Sinne von
121  Standardvorgaben, die lokal überschrieben werden können).
122- Die Abonnentendatenbank einer Liste liegt im Heimatverzeichnis des
123  Benutzers
124- Hilfetexte usw. desgleichen
125- Die Zustellung von Mails an die Listensoftware erfolgt über den
126  üblichen Mechanismus (mit Maildrop) -- es müssen keine systemweiten
127  Aliase o.ä. installiert werden
128
129Interessante Web-Site
130---------------------
131
132http://pep.kwiki.org/
Note: See TracBrowser for help on using the browser.