On Mon, Mar 28, 2011 at 12:15:39AM -0400, Peter Thomassen wrote:
> Hi,
>
> I implemented SRS as suggested in
> http://www.assembla.com/wiki/show/file_sender/Configuring_SRS_with_Exim_(Debian_and_Ubuntu)
>
> Also, I have implemented greylisting as is done by the Ubuntu/Debian
> greylistd package. The greylisting for messages with an empty MAIL FROM
> command is done in the DATA ACL (and not at RCPT), to prevent messing up
> third party callout verify attempts.
>
> I would like to skip this defer ACL if the srs_bounce router (see URL
> above) thinks that the recipient address is a valid SRS address because
> in that case the message is most likely not spam.
>
> However, there's a bunch of problems, as we are at the DATA stage. The
> number of recipients could be greater than one; then, greylisting would
> be desirable. Also I do not know how to best ask the srs_bounce router
> for its opinion. I tried using $address_data which did not work out,
> probably because there is no recipient verify at this stage (again
> because there may be several recipients, I think).
Use an acl_m_* variable.
For example, you could have a variable called acl_m_any_srs which is true iff
at least one recipient was accepted by the SRS router - that's probably good
enough. All acl_m_* variables default (effectively) to the empty string, i.e.
false. So have your srs_bounce router set some recognisable address_data, to
let acl_smtp_rcpt know that it's an SRS address, then have acl_smtp_rcpt call
verify=recipient, and set acl_m_any_srs=1 (true) if that special address_data
was present. Then inspect acl_m_any_srs in acl_smtp_data.
--
Dave Evans
http://djce.org.uk/
http://djce.org.uk/pgpkey