Heiko Schlittermann skrev:
> Morten W. Petersen <morten@???> (Do 27 Aug 2009 16:55:15 CEST):
>
>> Hi,
>>
>> I'm trying to use an external python script to verify that a remote SMTP
>> host
>> can accept a recipient. Using Exim's callout didn't work (getting too many
>> write lock issues).
>>
>> The configuration looks like this:
>>
>> [...]
>> begin acl
>>
>> greylist_acl:
>> warn set acl_m8 = ${run{/opt/nidelven/do_remote_callout.py
>> $local_part $domain $sender_address $sender_host_address
>> $sender_helo_name}{$value}{error}}
>> log_message = greylisting ACL result: $acl_m8
>> accept
>> condition = ${if eq{$acl_m8}{greylist}{1}}
>> deny
>> [...]
>> However, I don't see any entries in the log, so it doesn't look like the
>> command
>> or the logging is being run. Am I missing something to get logging working?
>>
>
> First question: did you configure the use of your greylist_acl?
> When it should run at „RCPT TO“ time, you should set (in the global part
> of the config)
>
> acl_smtp_rcpt = greylist_acl
>
> And, I'd write the ACL this way:
>
> greylist_acl:
> accept condition = ${run{/opt/nidelven/do_remote_callout.py \
> $local_part \
> $domain \
> $sender_address \
> $sender_host_address \
> $sender_helo_name}\
> {true}{false}}
> deny
>
> And in this case you should make sure, that your command exists with a
> zero exit value (as normal programs do) on success and with anything
> else on verification error.
>
> On the other hand, I'd investigate the problems regarding the built in
> callout verification, except for some special requirements it should
> just work.
>
>
>> What is the right way to access the result of the command? Is that
>> stored in
>> acl_m8? Does $runrc represent the exit value of the command?
>>
>
> Should. Should.
>
>
>> What's the right syntax for checking the exit value against 0, 1 etc?
>>
>
> condition = $acl_m8
>
> should suffice.
>
> But(!) I may be wrong, so double check my answer and have a look into
> the spec file.
>
$acl_m8 seems to be empty, but runrc does the trick. Thanks for the help! :)
-Morten
--
Morten W. Petersen
Manager
Nidelven IT Ltd
Phone: +47 45 44 00 69
Email: morten@???