Re: [Exim] callout help

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: John Jetmore
CC: exim-users
Subject: Re: [Exim] callout help
On Thu, 24 Apr 2003, John Jetmore wrote:

> I'm trying to get recipient/callout verification working, and I can't
> quite seem to get it to work. The line in the config is definitely
> recognized, and it's even used for what appears to be normal routing
> verification, but I never actually makes a callout that I see.


Ah. I see the problem.

> # This router actually routes to the appropriate server.  It relies
> # on cleanmail_rewrite setting $address_data to "CLEANMAIL!$domain_data"
> cleanmail_outbound:
>   driver = accept
>   log_as_local = false
>   condition = \
>     ${if eq{CLEANMAIL}{${extract{1}{!}{$address_data}}}{Yes}{No}}
>   transport = cleanmail_outbound


The problem here is that you have used an "accept" router. What the
manual says about callout is this:

If the "callout" option is present on a condition that verifies an
address, a second stage of verification occurs if the address is
successfully routed to one or more remote hosts.

This is correct, but unfortunately a bit economical with the truth. What
it means is "if the *router* sets up some remote hosts"...

In your case, the router doesn't specify hosts, so the callout doesn't
happen.

Only a few days ago, I was made aware of a similar problem when the
router did set up hosts, but the transport was configured to override
them - the callout used the router's hosts, which was not what the
sysadmin expected. This state of affairs is the result of history and my
not thinking this through properly. I already have the previously
discovered case on my list to investigate, and I've added your variant
of it. If it proves easy to change, it may get into the next release.

Philip

--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.