Spamassassin: user_scores_sql_custom_query und virtuelle user

PhilippH

New Member
Hallihallo,

ich würde gerne wie hier ( UsingSQL - Spamassassin Wiki ) beschrieben die User-Einstellungen per DB auslesen und habe nun das Problem, dass mir SA bei genau dieser einstellung

(Ich nutze Spamassassin 3.03-sarge, also für debian sarge ;)

Code:
user_scores_dsn                  DBI:mysql:mailserver:localhost:3306
user_scores_sql_password         spamassassin
user_scores_sql_username         ***
user_scores_sql_custom_query     SELECT preference, value FROM spamassassin WHERE username = _USERNAME_ OR username = '$GLOBAL' OR username = CONCAT('%',_DOMAIN_) ORDER BY username ASC

die konstanten _USERNAME_ durch den unix nutzer (vmail) erstetzt statt durch die emailadresse. da ich nur virtuelle benutzer habe is das ziehmlich doof.

_MAILBOX_ enthält leider auch 'vmail' und
_DOMAIN_ enthält den Wert NULL

Ich habe ordnungsgemäß spamd mit -d und ohne -c gestartet.

Jmd ne Idee, hab ich was übersehen?

Grüße,
Philipp
 
ist es denn von spamassassin überhaupt so angedacht, dass hier der virtuelle nutzer - sprich die email-adresse - als _USERNAME_ eingesetzt wird oder ist das feld der wirkliche unix-nutzer?!

bitte dringend um hilfe.

danke, Philipp
 
Du kannst _USERNAME_ belegen indem Du spamc mit dem Parameter "-u USER" aufrufst. Das steht sogar in dem von Dir genannten "UsingSQL"-Link ganz unten.

huschi.
 
naja, das problem is halt, dass dieser zu übergebende nutzer ein unix nutzer is und nich für jede mail anders, das sind immer die gleichen sachen die da abgefragt werden quasi. es hat nix mit der tatsächlichen email adresse zu tun.

:(
 
Wer sagt, daß nach -u ein Unix-User stehen muß?
Es muß lediglich der selbe sein, der in der SQL-Tabelle drin steht.

PS: Bitte nochmals Boardregeln vorallem Punkt 3.2 lesen.
PPS: Und bitte mal die persönlichen Nachrichten abrufen.

huschi.
 
Heyho,

okay nach ein paar Tagen habe ich das Problem gefunden. Eigentlich ziehmlich simpel wenn man drüber nachdenkt.

Postfix ruft in der als relay=spamassassin den spamc-Klienten auf und übergibt ihm den User. Also muss man den natürlich auch angeben.

/etc/postfix/master.cf:
Code:
spamassassin unix -     n       n       -       -       pipe
          user=vmail argv=/usr/bin/spamc -u ${recipient} -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Wichtig hierbei ist das -u ${recipient}, dann wird auch das richtige SQL-Query ausgeführt.

Liebe Grüße
Philipp
 
Back
Top