[Exim] Tricky directors conversion Exim 3.3x -> 4.x

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Jonathan Rogers
日付:  
To: exim-users
題目: [Exim] Tricky directors conversion Exim 3.3x -> 4.x
[Thanks in advance to anyone willing to wade through this and give
advice...]

I'm hoping to upgrade Exim 3.3x -> 4.23. I used convert4r4, which appears to
have produced what might be a usable exim.conf, but looking at the output I
still wonder if there isn't a better way of going about what I need to do
than there was in Exim 3.

The setup: I'm handling several virtual domains' mail. For each domain,
there's a "[vdomain]-aliases" file (which will have both local aliases and
remote forwarding addresses, and - importantly - a "catchall" entry to grab
any undelivables) _and_ a "[vdomain]-passwd" file (which has the local POP
users' names and passwords only). This is all described in excruciating
detail in an original posting from early last year, asking for help with
making the catchall work whether it pointed at a local or a forwarded
address:

http://www.exim.org/pipermail/exim-users/Week-of-Mon-20020225/035545.html

That message never got a reply, so I went ahead and worked out a kluge
myself, which I posted and described -

http://www.exim.org/pipermail/exim-users/Week-of-Mon-20020225/035588.html

...and which I've been running on, ever since. Now with Exim 4.x, I'm faced
with the convert4r4 output, which translated the Exim 3.x directors section
kluge:

[Exim 3.x conf]
virtual_popuser:
domains = lsearch;/etc/exim/domains
driver = aliasfile
file = /etc/exim/$domain-passwd
search_type = lsearch
transport = local_delivery

virtual_aliases:
domains = lsearch;/etc/exim/domains
driver = aliasfile
file = /etc/exim/$domain-aliases
search_type = lsearch*
qualify_preserve_domain
file_transport = address_file

virtual_popuser_redux:
domains = lsearch;/etc/exim/domains
driver = aliasfile
file = /etc/exim/$domain-passwd
search_type = lsearch
transport = local_delivery
no_more


***into:

[Exim4 conf]
virtual_popuser:
driver = accept
condition = ${if eq
{}{${lookup{$local_part}lsearch{/etc/exim/$domain-passwd}}}{no}{yes}}
domains = lsearch;/etc/exim/domains
retry_use_local_part
transport = local_delivery

virtual_aliases:
driver = redirect
allow_defer
allow_fail
data = ${lookup{$local_part}lsearch*{/etc/exim/$domain-aliases}}
domains = lsearch;/etc/exim/domains
file_transport = address_file
qualify_preserve_domain
retry_use_local_part

virtual_popuser_redux:
driver = accept
condition = ${if eq
{}{${lookup{$local_part}lsearch{/etc/exim/$domain-passwd}}}{no}{yes}}
domains = lsearch;/etc/exim/domains
no_more
retry_use_local_part
transport = local_delivery



The two questions I have are:

1) With Exim 4, is there a simpler or more elegant way of doing what I'm
trying to do with these three directors (process the alias file and the
local users file both, while still allowing a catchall address to point
anywhere it needs to)?

2) If the answer to (1) is "no", then is there any simplification or
elimination that I could do to the "condition =" entry that convert4r4
produced, or is it as it needs to be?

Many, many thanks again for anyone taking the time to assist. I'm still
coming up to speed on Exim 4 and appreciate the help.

cheers /jdr/

_________________________________________________________________
Get 10MB of e-mail storage! Sign up for Hotmail Extra Storage.
http://join.msn.com/?PAGE=features/es