Re: [Exim] $sender_data in 4.34?

Top Page
Delete this message
Reply to this message
Author: Marilyn Davis
Date:  
To: exim-users
Subject: Re: [Exim] $sender_data in 4.34?
On Sun, 20 Jun 2004, Fred Viles wrote:

> On 20 Jun 2004 at 18:43, Marilyn Davis wrote about
>     "Re: [Exim] $sender_data in 4.34?":

>
> | On Sun, 20 Jun 2004, Fred Viles wrote:
> |...
> | > Just a guess, but I wouldn't be surprised if the senders= condition
> | > needs to *succeed* for $sender_data to be set.
> |
> | Thank you Fred. That's a good idea.
> |
> | So I brute-forced a successful senders condition:
> |
> | get_outside_id:
> | driver = redirect
> | senders = marilyn@???
> | debug_print = get_outside_id sender_data = $sender_data
> | data =
> |...
>
> I'm still running 4.22 so I can't (yet) experiment with this feature
> myself, so I'm still just guessing based on the wording of the
> spec.txt section you quoted:
>
> Now there's no lookup.
>
> - Fred



I read this, from the changelog, to say that the lookup must succeed
but not that the condition must succeed:

Version 4.34
------------

 1. There are two new variables called $recipient_data and $sender_data. These
    are set from a lookup success in an ACL "recipients" or "senders"
    condition, or in a router "senders" option, similar to $domain_data and
    $local_part_data. They remain set until the next senders or recipients
    test. Thus, you can do things like this:


      require recipients      = cdb*@;/some/file
      deny    some further test involving $recipient_data


****


But, both succeed this time:


get_outside_id:
driver = redirect
senders = ${lookup mysql{select address from fake}}
debug_print = get_outside_id sender_data = $sender_data
data =

get_inside_id:
driver = redirect
debug_print = get_inside_id sender_data = $sender_data
address_data = ADDRESS_INFO
data =

and the debug data:

--------> get_outside_id router <--------
local_part=marilyn domain=maildance.com
checking senders
expanding: select address from fake
result: select address from fake
search_open: mysql "NULL"
search_find: file="NULL"
key="select address from fake" partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="select address from fake"
database lookup required for select address from fake
MYSQL query: select address from fake
MYSQL new connection: host=localhost port=0 socket=NULL database=maildance user=root
lookup yielded: marilyn@???
expanding: ${lookup mysql{select address from fake}}
result: marilyn@???
address match: subject=marilyn@??? pattern=marilyn@???
deliberate.com in "deliberate.com"? yes (matched "deliberate.com")
marilyn@??? in "marilyn@???"? yes (matched "marilyn@???")
expanding: get_outside_id sender_data = $sender_data
result: get_outside_id sender_data =
get_outside_id sender_data =
calling get_outside_id router
rda_interpret (string):
expanded:
file is not a filter file
parse_forward_list:
get_outside_id router declined for marilyn@???
--------> get_inside_id router <--------
local_part=marilyn domain=maildance.com
expanding: get_inside_id sender_data = $sender_data
result: get_inside_id sender_data =
get_inside_id sender_data =
processing address_data
expanding: $domain
result: maildance.com
expanding: $local_part
result: marilyn
expanding: select addresses.id from addresses, domains where addresses.domain_id = domains.id and domains.name= '${quote_mysql:$domain}' and addresses.local_part = '${quote_mysql:$local_part}'
result: select addresses.id from addresses, domains where addresses.domain_id = domains.id and domains.name= 'maildance.com' and addresses.local_part = 'marilyn'
search_open: mysql "NULL"

----

Thank you for thinking about it with me.

I'm ready to give up until Phillip shows up.

... unless you have another idea.

Marilyn






>
>
>
>
>
> --
>
> ## List details at http://www.exim.org/mailman/listinfo/exim-users Exim details at http://www.exim.org/ ##
>
>


--