On 03/28/2011 02:17 AM, Dave Evans wrote:
> On Mon, Mar 28, 2011 at 12:15:39AM -0400, Peter Thomassen wrote:
>> I implemented SRS as suggested in
>> http://www.assembla.com/wiki/show/file_sender/Configuring_SRS_with_Exim_(Debian_and_Ubuntu)
>> 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.
>
> 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.
This works great as you described, thanks.
Just for the record, I did the following:
Introduced new RCPT ACL:
warn !condition = ${if def:acl_m_valid_SRS}
verify = recipient/callout=20s,use_sender,defer_ok
set acl_m_valid_SRS = $address_data
condition = ${if def:acl_m_valid_SRS}
logwrite = Valid SRS address, skipping greylisting.
Then, I added !condition = ${if def:acl_m_valid_SRS} to the appropriate
greylisting stanza in the DATA ACL.
Best,
Peter