IndiMail (http://www.indimail.org) works with a hacked authvchkpw module
to authenticate with courier-imap.
courier-imap no longer supports the vchkpw module. After getting tired
of frequently hacking the authvchkpw module to work with new versions of
courier-imap, I have finally made the module independent of
The new module 'authindi' reads data from file descriptor 3 the way
courier-imap expects it's authentication modules to read. It then
queries IndiMail's authentication database using 'inlookup' query
daemon. If the authentication is successful, it writes an entry in the
relay table for relay, lastauth table for audit. It then executes imapd
or pop3d executable. If the authentication is unsuccessful, it calls
other authentication module in the pipeline. inlookup has the same
purpose as that of vpopmail's vpopmaild daemon. But it works on a fifo
instead of sockets.
The authindi module can easily be hacked to make it work with vpopmail.
For those who may be interested you can download the patch at
The patch is meant for indimail, however you may create an
empty indimail-1.0 directory and apply the patch. (ignore the
error for Makefile.am)
I am currently working on a generic PAM module which will allow any IMAP
Server's PAM authentication module to authenticate using
1) a command
2) a pipe
3) any MySQL query
I am writing in a way that it will work for both IndiMail and vpopmail
and make it possible for any IMAP server to authenticate against
vpopmail or IndiMail. I have the partly completed source code for anyone
who could volunteer to give some help.