3. Putting it all together

3.1. Basic Qmail config

You will need to add your domains to the /var/qmail/control/virtualdomains file in the following format as is normal with qmail and VMailMgr. domain1.com:user1 For more detailed setup and config documentation visit the Qmail website http://www.qmail.org and the VMailMgr website http://www.vmailmgr.org

3.2. Tell Qmail to use VMailMgr for authentication

By default qmail uses checkpassword for authentication, to tell Qmail to use VMailMgr for authentication type the following command:
  echo checkvpw > /var/qmail/control/checkpassword

3.3. Setup Courier-imap for VMailMgr

Copy the VMailMgr auth libs to courier's directory. If you installed from RPM, then the vmailmgr-courier-imap RPM will have done this for you. Otherwise use this command:
  cp /usr/bin/authvmailmgr /usr/lib/courier-imap/libexec/authlib/

Edit /usr/lib/courier-imap/etc/imapd and add authvmailmgr as the only entry in AUTHMODULES

For more detailed setup and config documentation visit the Courier-imap website http://www.inter7.com/courierimap/

3.4. Setup virtual domain with VMailMgr

With the user account that will be managing the domain go to their home dir and type:
  vsetup

This will setup the users home dir with the necessary structure to handle incoming email. You will probably want to create a email account by typing

  vadduser emailuser

For more detailed setup and config documentation visit the VMailMgr website http://www.vmailmgr.org

3.5. Starting the daemons

Starting the Qmail daemon. Qmail installs itself to autostart by some mysterious (to me) way. If you like init scripts you can get Larry Doolittle's (ldoolitta@ajlab.org) init.d script at http://qmail.area.com/init.d-script If you have the Larry's init.d script just do this.
  /etc/rc.d/init.d/qmail start

Start VMailMgr daemon
  /etc/rc.d/init.d/vmailmgrd start

Start Courier-imap damon
  /etc/rc.d/init.d/courier-imap start

3.6. Some considerations left

Qmail and the Maildirs may cause some email apps that run locally to not work. Visit the Qmail website http://www.qmail.org for details on email apps that have been patched to work with Maildirs.

Courier-imap is not as widely used as Cyrus or UWash imap servers. As such, you may suffer from minor incompatibilities. Courier-imap is extremely well written, and tries to comply with the imap definition even if it means some imap clients wont work well. For details visit the Courier-imap website http://www.inter7.com/courierimap/.

3.7. Mail clients

With the solution you should now have setup you will need to know that user accounts will be user@domain.com Netscape does not like this, so for netscape use user:domain.com

I would like to suggest that you also checkout phpGroupWare at http://www.phpgroupware.org. I have built in support for vmailmgr into it already and it can give you an end result of a full Groupware solution to fend of MS Exchange/Outlook or Lotus Domino.

If you decide to use a web based mail client, you will probably want to adjust courier-imaps MAXPERIP setting. By default it is 4, which is a bit low. Bump it up to something more sensible, like 10 - 50. Otherwise our webmail users will have problems connecting. This setting is in /usr/lib/courier-imap/etc/imapd.

3.8. Known bugs

None yet.

3.9. The final word

Im tired, and wonder if anyone will ever use this, but I'm happy its done. I'm sure if you have read this far your tired too. Well, all I can hope is that you have Qmail, VMailMgr and Courier-imap working. If so, Enjoy! If not, bummer!

O.K. readers, you're done for today. Feel free to send me your feedback, eternal gratitude, flowers, ecash, cars, oil sources etc.