Here are a couple of programs who make a RFC compliant POP3 server. * popserv open a socket a act as a multithreaded autentification server. As possible, it try to keep socket and file openned. The authentified user may be logged to whoson or mysql server. Optionnaly, UDP packets may be send to specified unicast or multicast address. * popit is spawned for each authenticated user within his maildir directory with appropriate user permission. It manage POP3 transaction and cleanup states. * DOWNLOAD You can get new version from the web site http://pll.sourceforge.net/ * INSTALLATION The configure shell script try to guess what software are installed on your server. Some options may be forced passing arguments : --without-mysqllog disable MySQL logging --without-libhome disable libhome support --without-whoson disable whoson support Once you configured the package, run "make" then "make install". * CONFIGURATION The configuration file, "popserv.conf" is typically in /usr/local/etc directory. Manual page popserv(8) describe the options you may set. If you configured it with libhome and libhome send uncrypted password, you may enable apop support with the following configuration directives : apop 1 crypt 0 With libhome, the server may server multiple domains but as some POP3 clients may use internaly the '@' characted you should allow a replacement character like '%'. This may be done with the following libhome.conf directive : rewrite (.*)%(.*) $1@$2 So, user%example.com become user@example.com. The server allow to server other mail folder than default INBOX, bu you have to specify a delimiter for that extension. For example : folder \+([^%@/]*) So, the folder will be the string into the first parenthesis, if user authentify himself as "user+foo@example.com", the server will serve the "foo" mail folder of user@example.com. The server "popserv" may be run as daemon with the furnished script "popd.sh" or via inetd in wait mode : pop3 stream tcp wait root /usr/local/libexec/popserv popserv -i