Tor Slettnes wrote:
> On Tue, 2004-06-01 at 11:10, Andrzej Filip wrote:
>
>>Tor Slettnes wrote:
>>
>>> require_files = /usr/sbin/mbpath
>>> condition = ${run {/usr/sbin/mbpath -q -s user.${lc:$local_part}}{1}{0}}
>
>
>>I think that callouts are "less costly" than executing an external program.
>
> True. It is however possible (but uglier) to perform a less costly
> version of the above:
>
> require_files = ${lc:/var/spool/cyrus/mail/${substr_0_1:$local_part}/user/$local_part}
>
> In this example, user "foo"'s mailbox is in /var/spool/cyrus/mail/f/user/foo.
Yes but:
1) newer cyrus releases can use "hashing" more complicated than "first letter"
2) newer cyrus releases support virtual domains with virtual domain name
included in the mailbox path
3) I prefer to keep all cyrus data and mailboxes available *ONLY* to cyrus
user to improve security and AFAIR exim does some verifications as exim user
>>I designed my solution specially for supporting cyrus virtual domains so it is
>>not best fit for "local transport" replacement.
>
> Point taken.
BTW if you want to use cyrus with virtual domains as local transport then
* only "non virtual cyrus domains" should be converted to "default cyrus
domain" (or stripped)
* you must solve subtle problems with "domanized" and "local part only" aliases
It can be solved by "rewriting" recipient's domain to the default cyrus domain
before selecting callout ready cyrus_ltcp transport as "local transport" and
handling virtual domains earlier.
>[...]
--
Andrzej [en:Andrew] Adam Filip anfi@??? anfi@???
http://anfi.homeunix.net/ http://slashdot.org/~anfi