[Mailman-de] Mitglieder können keine Mils verschicken

Peer Heinlein p.heinlein at jpberlin.de
Mi Okt 29 22:59:51 CET 2008


Am Mittwoch, 29. Oktober 2008 schrieb Malte Hübner:

> Oh weh — ich hatte mir gedacht, weil das alles ja im Allgemeinen
> funktioniert, käme bloß Mailman mit irgendwas nicht zurecht. Und die
> Erklärung, die ich mir ausgedacht hatte, die fand ich ganz fabelhaft.

Die Mail wird von Postfix ja nie angenommen und gar nicht erst an Mailman 
weitergeleitet. Mailman KANN damit nichts zu tun haben, da Mailman die 
Mail nie sieht.

> > Bitte poste mir
>
> Ich schmeiß das mal nicht alles in die E-Mail hinein, wird ja nur
> unübersichtlich.

Nein, bitte poste es in eine Mail rein, denn DANN ist es übersichtlich.

So muß ich es manuell runterladen (bin unterwegs mit Laptop und Handy), 
kann es nicht auf dem Handy selbst lesen, kann nicht zitieren und darauf 
antworten und außerdem ist das hier das Medium e-Mail und da will ich 
Infos in E-Mails und nicht Downloads in irgendeinem ASCII-Editor.

> > a) Deine Datei /etc/postfix/master.cf
>
> http://89.238.64.250/master.cf.txt

Ich habe mir die eben angesehen. Darin ist postfix-to-mailman.py 
definiert. Ich halte davon nichts (siehe Buch Seite 548, falls Du das 
hast).

Ich kann aus der main.cf/master.cf nicht ganz erkennen, ob das auch 
benutzt wird. Bitte poste (!) mir die transport-Maps. Oder anders herum 
gefragt: Hast Du irgendwo mal "fomain.bla   mailman:" definiert als 
Routing-Eintrag?

Was ergibt ein "grep mailman" in /etc/postfix? Bitte einmal zur 
Verifizierung posten.

*WENN* Du postfix-to-mailman.py einsetzt, DANN wäre in der Tat auch der 
Verweis auf die Mailman-aliases überflüssig -- andere hier hatten ja 
schon ganz richtig bemerkt, daß der Eintrag bei Dir fehlt. Aber eben nur 
WENN du das alles über das Script regelst.

Es gibt aber zwei Wege, wie man Mailman hier an Postfix andocken kann. Und 
ich finde die Lösung über das Script nicht sinnvoll. 

Der Weg die aliases-Datei von Mailman generieren zu lassen und einzubinden 
(wie andere hier schon debuggt haben) ist richtig und ggf. stellen wir 
das jetzt auch daraufhin um, sollte das derzeit bei Dir anders 
eingerichtet sein.

> http://89.238.64.250/postconfn.txt

Okay, wie ich sehe, hast Du alles mögliche in MySQWL ausgelagert, so daß 
ich jetzt ein paar Infos erfragen muß:

Rate ich richtig, daß Du abi08.eu in der MySQL-Datenbank verwaltest und 
damit die Mailingliste abi at abi08.eu damit unter der gleichen Domain wie 
die MySQL-Mailaccounts laufen?

Dann wäre das kein glückliches Setup. Man *KANN* das auch funktionierend 
hinbauen, aber das ist dann nicht einfach.

Hintergrund: Postfix trennt klar zwischen "realen" Domains 
(=mydestination, Postfächer in /etc/passwd und /etc/aliases & Co), den 
virtuellen Domains (=virtual_alias_domains und Postfächer in 
virtual_alias_maps = bei Dir MySQL) und Relay-Domains (Domains, die 
Postfix durchstellt, hier wäre eigentlich dann das postfix-to-mailman.py 
richtig aufgehoben gewesen).

Wie auch immer: Es ist definitiv keine gute Idee, diese Domainklassen zu 
mischen.

Was also eigentlich nicht geht ist:

a) Domain in MySQL definieren, Postfächer in MySQL definieren und alles 
als "virtuelle" Domain einbinden
b) Dann aber trotzdem /etc/aliases benutzen wollen, um das Ding an Mailman 
zu pusten.

Bevor ich Dir jetzt langatmig die Workarounds erkläre um das doch so 
hinzukriegen :-), gebe ich Dir lieber den Tipp, die Trennung wirklich 
sauber durchzuhalten.

Das heißt:

a) virtuelle Domains wie gehabt in MySQL für Deine Mailadressen
b) eine eigene Domain für Mailman. Hier reicht natürlich eine Subdomain 
(also @listen.abi08.eu).

Dann müßtest Du nur folgendes machen:

a) Die Subdomain mit in mydestination aufnehmen
b) Mailman in der mm_cfg.py auf "Postfix" umstellen (wie hier schon 
beschrieben und analysiert)
c) Dann erzeugt Mailman auch automatisch die hier schon erwähnte 
aliuses-Datei, wenn neue Listen angelegt werden
d) Da schon Listen existieren müßtest Du einmal (!) mit gen_aliases diese 
aliases-Datei nachträchlich generieren lassen
e) Diese aliases-Datei /var/lib/mailman/data/aliases (je nach 
Distribution) dann wie schon hier geschrieben mit in die aliases_maps 
aufnehmen.

DANN ist alles sofort ganz einfach:

*) Postfix fühlt sich für die Domain zuständig
*) Postfix wertet aliases_maps aus und findet dort die Listen
*) Postfix stellt die Mail über die Pipe-Aufrufe in dieser aliases-Map an 
Mailman zu
*) Mailman kennt Postfix und macht beim Anlegen neuer Listen gleich 
vollautomatisch alles ganz schick in der aliases-Datei.

Fertig.

Ich würde Dir hier darum den Weg einer Subdomain empfehlen. Daran wirst Du 
langfristig viel Freunde haben, es ist technisch sauberer und alles wird 
ganz easy. Alles andere macht keinen richtigen Spaß und wäre eher was für 
den Postfix-Profi, der dann aber auch genau weiß, was er da als 
Workaround tut.

Lieben Gruß

Peer



-- 
Heinlein Professional Linux Support GmbH
Linux: Akademie - Support - Hosting

http://www.heinlein-support.de

Zwangsangaben lt. §35a GmbHG:
HRB 93818 B / Amtsgericht Berlin-Charlottenburg, 
Geschäftsführer: Peer Heinlein  -- Sitz: Berlin