Perdition: Mail Retrieval Proxy

http://www.vergenet.net/linux/perdition/

"Perdition is a fully featured POP3[6] and IMAP4[1] proxy server. It is able to handle Plain-Text, SSL and TLS connections and connect end-users to a real-server based on a database lookup. Perdition supports modular based database access. The API for modules is open, allowing arbitrary modules to be written to allow access to any data store."


If you have problems getting this to work when Cyrus is on the same host as Perdition, check /etc/hosts. The cluster node needs to resolve to the loopback IP (127.0.0.1) and not the external IP. Otherwise, mail loops will happen. Perdition does a check for IMAP looping, and will return a "Connection Negotiation Failure" error. See /var/log/mail.log, mail.info, syslog, etc for more info. --Wim


In Debian I wasn't able to use Wim's sugestion so here is how I fixed it. First off the reason it didn't work was because perdition gets the mail server from the ldap response and that likely won't be localhost, because of ispman-agent it has to be the hostname of the machine and not an alias like mail. So the only solution is to set cyrus to listen on an other port say 11110 and 11143. This is done in the cyrus.conf file in etc. Don't forget to set your imapport up in ispman.conf (for cyradm). And setup the proper ports in perdition. In Debian that would be in the /etc/default/perdition file add "-p 11110" to the POP3[S]_FLAGS and "-p 11143" for the IMAP4[S]_FLAGS. --TheSin


See also SMTP or IMAP or Cyrus