On Thu, 8 Aug 2002, Patrick Boutilier wrote:
> I am running into a problem with case. I am using a patched version of
> exim to deliver directly to an Cyrus lmtp socket. ( the problem also
> occurs with an unpatched version and delivering via lmtp as
> /usr/cyrus/bin/deliver -l) The problem is when I send to
> User@??? exim tries to deliver to User@??? instead of
> user@??? and LMTP correctly denies User@??? as an
> invalid user. Is there an option to "not preserve the actual case for
> transmission" and send the local_part as lower case?
Ho! Ho! Excuse my laughing, but I had to go to some trouble to
*preserve* the case for transmission, because when early versions of
Exim did not preserve it, people complained!
What you should do is use a redirection to force the case.
> My workaround for now is to add an extra transport that gets the lower
> case userid from the MySql database.
Why not just force lower case directly?
> data = ${lookup mysql {select userid from user \
> where userid='${lc:$local_part}'}}
Isn't that exactly the same as
data = ${lc:$local_part}
? Actually no, it isn't, because it never fails. The MySQL lookup will
fail for non-existent users. But since you do the lookup again in the
next router, you don't really need to do it twice.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.