postfix -> spamassassin

RedRaptor

Cadet 4th Year
Dabei seit
Mai 2011
Beiträge
94
Hallo liebe Pinguin liebhaber,

ich baue gerade an meinem Ubuntu 12.04 Server herum und bin gerade dabei Spamassassin in postfix zu integrieren.

Soweit kein Problem, Tutorials gibt es dazu wie Sand am Meer.

Allerdings will ich dabei auf user Spezifische Einstellungen rücksicht nehmen die jeder User im Roundcube einstellen kann (das plugin heist sauserprefs).
Damit fällt amavis schonmal aus. Scheinbar lässt der den Spamassassin nämlich nicht über MySQL arbeiten. Genaueres warum weis ich auch nicht aber im Endeffekt ist es nicht schlimm, baue ich mir eben den Assassinen selbst ein.

Um mein Problem - oder nennen wir es am besten eine Herausforderung - an der ich gerade zu knabbern habe, weiter zu beschreiben, hier erstmal etwas aus den Konfig files, damit ihr mal einen groben Überblick habt um was es geht:

master.cf
Code:
smtp      inet  n       -       n       -       -       smtpd
        -o content_filter=spamassassin
        -o receive_override_options=no_address_mappings
die beiden -o Zeilen sind natürlich auch bei der smtps Zeile angehängt, möchte das hier nur übersichtlich halten.

master.cf -> weit unten
Code:
spamassassin    unix    -       n       n       -       -       pipe
        flags=Rq user=spamd argv=/usr/bin/spamc -u ${user} -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
der Spamdaemon läuft, die local.cf ist auf sauber eingestellt und er zieht sich auch hübsch die Einstellungen aus der mysql database, die mit dem roundcube plugin erstellt werden.

Das Problem: usermatching.

ich habe natürlich virtual alias maps am laufen, was das mapping etwas schwierig gestalltet.
Die Einstellungen werden von Roundcube mit dem usernamen vor derm @gespeichert (kann man übrigends auch ändern, ist aber jetzt weniger das Problem).

jetzt rauscht eine e-mail rein von bla@test.de und geht ürsprünglich an aliasname@example.tld. In der "Virtual" wird die Adresse aliasname@example.tld dem user "testuser" zugeordnet.
Die Mail geht erst an den Spamassassin und wird danach ins Postfach des Users gelegt der in der Virtual festgelegt ist.
Eintrag aus der mail.log:

Code:
 [...] to=<aliasname@example.tld>, relay=spamassassin, delay=3.4, delays=1.3/0/0/2.2, dsn=2.0.0, status=sent (delivered via spamassassin service)
[...]
[...] to=<testuser@example.tld>, orig_to=<aliasname@example.tld>, relay=mail.example.tld[/var/run/cyrus/sock
Soweit sogut. ABER:

Der Eintrag "-u {user}" aus der master.cf von postfix sorgt dafür, dass er in DB nach Einträgen für den User "aliasname" sucht, und nicht nach dem Benutzernamen des Postfachs.
Sprich, ich müsste Roundcube beibringen, automatisch alle Aliasname aus der Postfix Konfig-Datei "virtual" zu speichern.
Wäre vielleicht machbar, aber ist eigentlich unpraktisch (sofern ich nicht für jeden alias andere Einstellungen haben möchte).

Daher die frage: wie schaffe ich es spamassassin den namen "testuser" zu übergeben anstelle von "aliasname"

Hier übrigneds noch ein hinweis fals jemand von google hier her kommt und wissen möchte welche variablen überhaupt an der Stelle in der master.cf zur verfügung stehen:

konsole
Code:
man 8 pipe
so wie ich das sehe müsste ich den Content-filter erst beim Ausliefern in die Mailbox nutzen sonst weis er an der Stelle nur den namen "aliasnamen".


Hat jemand Ideen, Anregungen, Kritik (keine bange wird direkt ignoriert! :D) oder gar eine fertige Lösung (sudo rm /* -rf habe ich schon probiert geht aber nicht ;-) )?

Danke euch.
 
Zuletzt bearbeitet:
Top