Proxies are complex and extremely sensitive. They are difficult to get right even by a highly skilled and experience programmer. Unfortunately, proxies also appear to be simple to implement even by a novice programmer; and that fact tends to exacerbate the other problems.
When you talk with experienced programmers, you can always tell who have worked on proxy software; they're the ones who make an involuntary shudder every time the word "proxy" is uttered.
There are certainly uses and needs that are best filled by proxies, but this is not a choice to be made lightly.
What are you attempting to accomplish by the use of a proxy? It's obvious that you want to get rid of NFS as a mail store, and that is certainly a wise move. But I am unclear about what sort of architecture, using an IMAP proxy, you purpose to deploy as a replacement.
In my opinion, the primary use for an IMAP proxy is as part of a firewall. That is, the proxy would handle authentication and rejection of bad syntax, so that the back end only ever sees authenticated sessions and good syntax, providing a modest defense against certain denial-of-service attacks. I'm not convinced that the benefit is worth the expense. A determined attacker can overwhelm this defense, and the resources available to attackers are greater than what the defenders possess.
If an IMAP proxy accomplishes something else, I would be very interested in hearing what that is.
-- Mark --
http://staff.washington.edu/mrc Science does not emerge from voting, party politics, or public debate. Si vis pacem, para bellum.
