On 1/12/11 4:34 PM, Markus Treinen wrote:
Hi,
your point is well taken. The reason for my setup is this:
I wanted to have virtual addresses for all my domains, which are
mapped separately to virtual users (meaning Maildirs delivered via
dovecot (mainly to use sieve)). Those virtual users would generally be
independant from UNIX users on the machine, so no UNIX users would
have to be created for virtual delivery.
That's what virtual(8) is for.
However, I wanted mail delivery on the host for UNIX users to still
work and be compatible to the existing UNIX mechanisms (/etc/aliases,
.forward),
This works by default.
so I also deliver mail for those UNIX users via local(8). Most UNIX
users have an alias to a virtual user,
No, that is still assbackwards.
You alias VIRTUAL addresses to REAL users, not the other way around.
The real user already has a real mailbox - why does he need to go
through at least 2 extra translation steps ?
but not all. Those not having it (including all UNIX users in use for
system daemons) would be delivered to spool files. To avoid that, all
those users have to be aliased to virtual users.
You're way overcomplicating things.
As I already indicated, the usual solution is:
mydestination = mylocalhostname.mydomain
ALL your "real", external domains go in virtual_*_domains.
That said, I don't really need the delivery via local(8) and hence the
compatibility with /etc/aliases and .forward, so I could deliver all
mail via virtual(8) and disable local(8) altogether.
What would be the best approach for that? Setting local_transport =
virtual?
Hell no.
As I said above, set mydestination to something that cannot be reached
from the outside.
Please, don't top-post in the future.
--
J.