[dovecot/postfix] aus mysql lesen spamfilter

Gagget

New Member
Ich versuche für virtuelle Mailadressen bzw. Accounts, die aus eine mysql Tabelle kommen, einzelnen verfügbaren Services bzw. Features anhand eines Wertes festzulegen.

Zu grunde liegt ein rein virtuelles mailsystem aus Postfix und Dovecot.
Sasl auth läuft über dovecot-sql wo ich auch bisher in der mysql query den service %s mit berücksichtige. Für pop3/imap/smtp/ldp war das also noch recht einfach.

Das wichtigste wäre mir auch einen Spamassasin über das selbe Datenfeld zu steuern. Also nicht alle wollen/sollen ihre Mails gefiltert bekommen.

Mir fehlen allerdings noch die Ideen wie ich das bewerkstelligen soll. Habe bisher nur systemweite Spamfilter (dspam,spamassasin) betrieben.

Bin nun auf irgendwelche Ideen, Hinweise oder HowTos von euch angewiesen.
 
Ohja, das subject wollt ich aber gewiss nochma ändern, sry.
Hab wohl eine Lösung gefunden und wollte die nur eben teilen.

Code:
smtpd_recipient_restrictions = 
     ..., 
     check_recipient_access mysql:/etc/postfix/access_spamcheck

die mysql map antwortet entweder mit OK oder FILTER: spamcheck:dummy

Code:
query = SELECT IF(mailacc_spamc, 'FILTER spamcheck:dummy' , 'OK')
 FROM mails WHERE '%u' = mailaddress AND '%d' = domainname

spamcheck muss dann noch als transport in die master.cf eingefügt werden

Code:
spamcheck unix -     n       n       -       -       pipe
    user=nobody argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Ein schönes Howto dazu war: http://mahner.org/variable-spamchecks-mit-postfix-trotz-content_filter
 
Back
Top