Dear all,
I'm migrating from qmail+vmailmgr. vmailmgr is a virtual domain add-on
for qmail; each virtual domain is managed by a separate Unix user. Well,
actually in my case a Unix user can manage several virtual domains. For
example, unixuser1 handles virtdom1{a,b}.com and unixuser2 handles
virtdom2{a,b,c}.com. Here's how it works:
1. In /var/qmail/control/virtualdomains:
virtdom1a.com:virtdom1a.com
virtdom1b.com:virtdom1b.com
virtdom2a.com:virtdom2a.com
virtdom2b.com:virtdom2b.com
virtdom2c.com:virtdom2c.com
2. In /var/qmail/users/assign:
+virtdom1a.com-:unixuser1:1001:1001:/home/unixuser1/sites/virtdom1a.com/mail:-::
+virtdom1b.com-:unixuser1:1001:1001:/home/unixuser1/sites/virtdom1b.com/mail:-::
+virtdom2a.com-:unixuser2:1002:1002:/home/unixuser2/sites/virtdom2a.com/mail:-::
+virtdom2b.com-:unixuser2:1002:1002:/home/unixuser2/sites/virtdom2b.com/mail:-::
+virtdom2c.com-:unixuser2:1002:1002:/home/unixuser2/sites/virtdom2c.com/mail:-::
3. In /home/<UNIXUSER>/sites/<VIRTDOM>/mail/ there's:
* .qmail-default file containing "|/usr/bin/vdeliver";
* passwd.cdb file containing the list of virtual users along with
their settings (password hash, quota, etc);
* users/ directory containing Maildirs for each virtual user;
vdeliver is a program from vmailmgr which will read from passwd.cdb and
determine how to deliver to the virtual user.
So the problem is that in Courier, hosteddomains maps a virtual domain
directly to a Unix user while in qmail there's the "qmail users"
indirection layer. Is there a way to achieve the above setup with
Courier (but without resorting to userdb)? I'd rather put virtual users
database in each unix user so they can do whatever they want with it.
So far, pop3d and imapd already work because I've written a custom
authentication module. But delivery and esmtpd haven't because currently
I'm stuck with the virtual domains setup.
Regards,
dave