On Wednesday 21 April 2010 21:30:12 Thomas Leuxner wrote:
I'm running a setup that should be good enough for what you are trying to achieve. All user information is stored in flat files per domain and you may override per user settings individually:
passdb { args = username_format=%u /var/vmail/auth.d/%d/passwd driver = passwd-file }
userdb { args = username_format=%u /var/vmail/auth.d/%d/passwd driver = passwd-file }
$ cat passwd user@domain.tld:{scheme}<password>:5000:5000::/var/vmail/domain.tld/user::u serdb_quota_rule=*:storage=5G userdb_acl_groups=PublicMailboxAdmins
[...]
See how aliases are used for routing and to authenticate valid mail from senders with one file:
$ cat virtual alias@domain.tld login@domain.tld postmaster@domain.tld login@domain.tld
[main.cf] virtual_mailbox_domains = domain.tld, domain1.tld virtual_mailbox_base = /var/vmail virtual_minimum_uid = 100 virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 virtual_alias_maps = hash:/etc/postfix/virtual virtual_transport = lmtp:unix:private/dovecot-lmtp
What I don't see here at all (and neither in your Wiki Howto) is how Postfix determines the valid recipients for the domains in virtual_mailbox_domains.
The correct parameter would be virtual_mailbox_maps, but AFAIK there is no lookup table that read the passwd format from an arbitrary file. So a script that generates a hash/whatever postfix lookup file from the passwd-files would still be necessary.
Or do you use recipient validation via LMTP? (I didn't notice a reject_unverified_recipient though) This at least won't work with deliver, I'm not even sure about LMTP.
Regards Thomas
Rainer