Hello Exim experts,
I'm running exim 4.34 and stretching myself to take better advantage
of exim's features. This is my first time to try to put several values
into $address_data using a mysql lookup and I've hit a problem(!)
I have a router:
get_inside_id:
driver = redirect
address_data = ADDRESS_INFO
data =
Where, in the global data part:
ADDRESS_INFO=${lookup mysql{select addresses.id,addresses.type \
from addresses, domains \
where domains.name= '${quote_mysql:$domain}' \
and addresses.local_part = '${quote_mysql:$local_part}' \
and domains.id = addresses.domain_id}{$value}{0}}
I'm testing by running:
exim -d+expand -t < /tmp/x
Where /tmp/x is a message from marilyn@??? to
marilyn@???. I'm testing on maildance.com.
The output looks right until:
MYSQL query: select addresses.id,addresses.type from addresses, domains where domains.name= 'maildance.com' and addresses.local_part = 'marilyn' and domains.id = addresses.domain_id
MYSQL using cached connection for localhost/maildance/root
[root@maildance log]#
Boom. It just stops. The exim_mainlog says:
2004-06-09 18:28:59 1BYENH-0004J0-CE <= marilyn@??? U=root P=local S=2575
And that's all, for a while. There is nothing in the exim_paniclog.
But later I get:
2004-06-09 18:43:31 queue run: process 16677 crashed with signal 11 while delivering 1BYENH-0004J0-CE
And the exim_paniclog has the same entry.
When I run the mysql query directly, it produces a good result:
mysql> select addresses.id,addresses.type from addresses, domains where domains.name= 'maildance.com' and addresses.local_part = 'marilyn' and domains.id = addresses.domain_id
-> ;
+----+--------------+
| id | type |
+----+--------------+
| 9 | INSIDE-LOGIN |
+----+--------------+
1 row in set (0.00 sec)
mysql>
I make several other queries and updates via exim and all goes well.
What can I do?
Marilyn Davis
--