Okay, so I apparently drew a big blank with my question (guess it was my
bad luck to ask it on the same day a major new Exim release was announced
:). Guess I'll just have to respond to myself from:
http://groups.yahoo.com/group/exim-users/message/30935
I've kluged together a solution - not perfect, but it will work pretty
well, and only takes the original two files per domain, an alias file and a
"local" user passwd file. It does need an extra director step, and requires
that the catchall address, if it exists, always be in the aliases file, but
otherwise it's pretty simple.
Any comments/suggestions to this beginning exim user (now using the
"obsolete" 3.x release :) are still appreciated.
exim.conf (directors)
---------------------
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
virtual_popuser_redux:
domains = lsearch;/etc/exim/domains
driver = aliasfile
file = /etc/exim/$domain-passwd
search_type = lsearch
transport = local_delivery
no_more
[so we try for a virtual local user first via the domain's passwd file; if
not found, we will search and expand the domain's aliases, which might
include some local addresses (possibly including a local catchall), so we
need to call the local user director once more to pick those up.]
The passwd file and alias files are normal garden variety:
mydomain.org-passwd
-------------------
somepopuser:nZ6d96HSnlees:
someotherpopuser:0v8321jkMd34:
catchall:45daX3w39e026:
mydomain.org-aliases
--------------------
postmaster: webmaster@???
fred: fred@???
ginger: ginger@???
*: catchall