[Exim] $sender_data in 4.34?

Top Page
Delete this message
Reply to this message
Author: Marilyn Davis
Date:  
To: exim-users
Subject: [Exim] $sender_data in 4.34?
Hello Exim People,

I'm trying to use the new $sender_data feature:

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


****

So I'm checking senders in a router, and checking the value of
$sender_data in the next router:

get_outside_id:
driver = redirect
senders = OUTSIDE_ID
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 =

---

I'm running with -d+expand so that I can see the expansion process.
But first, here's a Received line to verify that I'm running 4.34:

Received: from webedit by maildance.com with verified (Exim 4.34)

Here's the expansion of OUTSIDE_ID in the debug:

--------> get_outside_id router <-------
local_part=marilyn domain=maildance.com
checking senders
expanding: $sender_address_local_part
result: marilyn
expanding: $sender_address_domain
result: deliberate.com
expanding: select addresses.id from addresses, domains where addresses.local_part='${quote_mysql:$sender_address_local_part}'and domains.name='${quote_mysql:$sender_address_domain}' and domains.id=addresses.domain_id
result: select addresses.id from addresses, domains where addresses.local_part='marilyn'and domains.name='deliberate.com' and domains.id=addresses.domain_id
search_open: mysql "NULL"
search_find: file="NULL"
key="select addresses.id from addresses, domains where addresses.local_part='marilyn'and domains.name='deliberate.com' and domains.id=addresses.domain_id" partial=-1 affix=NULL starflags=0
LRU list:
internal_search_find: file="NULL"
type=mysql key="select addresses.id from addresses, domains where addresses.local_part='marilyn'and domains.name='deliberate.com' and domains.id=addresses.domain_id"
database lookup required for select addresses.id from addresses, domains where addresses.local_part='marilyn'and domains.name='deliberate.com' and domains.id=addresses.domain_id
MYSQL query: select addresses.id from addresses, domains where addresses.local_part='marilyn'and domains.name='deliberate.com' and domains.id=addresses.domain_id
MYSQL new connection: host=localhost port=0 socket=NULL database=maildance user=root
[webedit@maildance cgi]$ lookup yielded: 59
expanding: $value
result: 59
expanding: 0
result: 0
skipping: result is not used
expanding: ${lookup mysql{select addresses.id from addresses, domains where addresses.local_part='${quote_mysql:$sender_address_local_part}'and domains.name='${quote_mysql:$sender_address_domain}' and domains.id=addresses.domain_id}{$value}{0}}
result: 59
address match: subject=marilyn@??? pattern=59
deliberate.com in "59"? no (end of list)
marilyn@??? in "59"? no (end of list)
get_outside_id router skipped: senders mismatch
--------> 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

And it goes on. There's no data in sender_data. What am I doing wrong?

Any clues or thoughts would be received most gratefully.

Marilyn Davis