Well I did some thinking and some searching on google/ and exim's mailing list and found a soltion. If I run the spamd daemon and then ad a transport_filter to my amavis transport that pipes it to spamc then it does everything I need it to do. See below. Anyone have any thoughts on why this may not be a good way to do this?
amavis: driver = smtp transport_filter = /usr/bin/spamc -u $local_part port = 10024 allow_localhost --- Noah Meyerhans <[EMAIL PROTECTED]> wrote: > On Tue, Jan 06, 2004 at 01:36:20PM -0800, Quenten > Griffith wrote: > > Hello all I am looking for suggestions on how to > best > > implement a Exim4 with Cyrus IMAP mail boxes > (virtual > > users) with spamassassian where users prefs. are > > stored in mysql. Currently I have tried > amavisd-new > > but it does not use spamd/spamc so it will not > connect > > to mysql to retrieve users preferences. I then > tried > > to use sa-exim, but that connects to the mysql > server > > as the debian-exim4 user instead of the user in > the > > from field of the email. Does anyone have a > working > > example or suggestion they can give me for me to > > achieve this? > > I designed and built a similar system a few months > ago. On my system, > however, I elected to store only user preferences in > a database, and to > keep bayes and awl data in the filesystem. Because > of this, my users > have /etc/passwd entries, though they're limited to > a form similar to > foo:x:15493:15493::/home/virtualusers/foo:/bin/false > > In spamassassin, database connections don't need to > be made as > individual users, but instead should be made as > something like > debian-exim4 or spamassassin or something like that. > Spamassassin with > then issue db queries such as "SELECT preference, > value FROM userpref > WHERE username='<recipient>'". > > I decided not to pursue the possibility of having > bayes and AWL in an > SQL database for a couple of reasons. The real > reason to use a > database, IMO, is that it makes it much easier to > provide a web frontend > for updating user configurations. But you don't > need such a thing for > bayes and AWL. Those work just fine in flat files, > and I would bet > actually perform better there due to their being > less overhead. > > The relevant router and transport in my exim > configuration look like > this: > spamtest: > driver = accept > # OK, it's still better than sendmail, but not by > much... > # Translated to english, the following condition > is true iff > # the message did not originate via local-bsmtp > (because that's > # what spamassassin uses to resubmit the filtered > message) and > # the local-part is present in > /etc/mail/filterusers > condition = ${if and \ > { \ > { ! > eq{$received_protocol}{local-bsmtp} }\ > { == { > ${lookup{$local_part} \ > > dbmnz{/etc/mail/filterusers}{1}}} \ > {1}\ > }\ > } \ > {yes}{no}} > check_local_user > transport = spamcheck > > spamcheck: > driver = pipe > batch_max = 1000 > use_bsmtp > command = /usr/sbin/exim -bS > transport_filter = /usr/local/bin/spamc -u > $local_part > > Somewhere after the spamtest router you should have > another router that > feeds you mail to Cyrus via LMTP, or, in my case, to > another machine via > SMTP, since I wanted to keep the spamassassin > processes, anti-virus > software, etc running on a different machine than > the one that runs > Cyrus. > > HTH. Let me know if you have any questions. > > noah > > > ATTACHMENT part 2 application/pgp-signature __________________________________ Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes http://hotjobs.sweepstakes.yahoo.com/signingbonus -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]