I'm running an Exim server (4.6x) for multiple users, with a MySQL
database backend. The database holds local domains, mail addresses,
passwords, maildirs and a flag whether spam scanning is enabled for that
account. SpamAssassin is called at SMTP time to scan the message and add
its headers. But to be able to determine whether scanning should be
done, I need to lookup the recipient address in the database and check
that flag. This can of course only be done with a single recipient
address at a time. And scanning itself can only be done when the message
has been received (DATA ACL). So my scanner currently only runs if the
current message should be delivered to one single RCPT TO. Today I
received several mails in my mailboxes that seem to have gone to
multiple envelope addresses, because my scanner didn't catch them.
I want to make my spam scanner more effective. Is there any way to check
the flag for multiple addresses in the DATA ACL and control the
processing for each recipient independently? Maybe I can deny further
recipients to a message at RCPT ACL time when one of them has the spam
scanner flag set. Or can I generally limit the recipients per message
count to 1? Would that cause any problems?
A future change to my server should be to enable spam scanning for every
incoming message but only deny messages depending on whether the user
has wished so. Maybe even with separate required spam scores or so. This
will require an independent handling of a message for each recipient anyway.
--
Yves Goergen "LonelyPixel" <nospam.list@???>
http://beta.unclassified.de – My web laboratory.