Re: [Exim] Case problem

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Philip Hazel
日付:  
To: Patrick Boutilier
CC: exim-users
題目: Re: [Exim] Case problem
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.