Am 14.01.2011 00:02, schrieb Jeroen Geilman:
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 ?
Because I don't want to have a REAL (as in UNIX) user for every
different "virtual" user having a virtual mailbox. Imagine a big mail
provider. By using your approach, there could be at most 65533 REAL
users (excluding root).
I want to avoid real users having real mailboxes (in fact, that's all I
need), because nobody would log in as, i.e. cron, and read those mails.
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's what I already have. That would work well (as stated above) with
every (or multiple) virtual user(s) mapping to a REAL user, which would
still deliver mail to real users.
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.
Then what about locally (on the same host) generated mail from cron
etc.? A domain not reachable from the outside doesn't prevent mail
generated from the local machine.