Install the courier packages:
aptitude install courier-authdaemon courier-authlib courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl
Configure courier to use it's MySQL authentication mechanism:
/etc/courier/authdaemonrc
# authmodulelist="authpam" authmodulelist="authmysql"
Backup the original file and then configure the MySQL settings:
cp -p /etc/courier/authmysqlrc /etc/courier/authmysqlrc.orig cat /dev/null > /etc/courier/authmysqlrc
/etc/courier/authmysqlrc
MYSQL_SERVER db.example.com MYSQL_USERNAME courier MYSQL_PASSWORD password MYSQL_PORT 0 MYSQL_DATABASE virtual MYSQL_USER_TABLE users MYSQL_CRYPT_PWFIELD password #MYSQL_CLEAR_PWFIELD password #MYSQL_UID_FIELD 2000 #MYSQL_GID_FIELD 2000 MYSQL_UID_FIELD uid MYSQL_GID_FIELD gid MYSQL_LOGIN_FIELD email MYSQL_HOME_FIELD "/var/www" MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/mail/',SUBSTRING_INDEX(email,'@',1),'/Maildir/') #MYSQL_NAME_FIELD MYSQL_QUOTA_FIELD quota
/etc/courier/imapd
IMAP_UMASK=077 IMAP_ENHANCEDIDLE=1
Restart courier:
/etc/init.d/courier-authdaemon restart /etc/init.d/courier-imap restart /etc/init.d/courier-imap-ssl restart /etc/init.d/courier-pop restart /etc/init.d/courier-pop-ssl restart