Good job! I never thought of quickly setting up an IMAP server and trying against it. So far, I have the same problem with my IMAP server at work.
However, there is one issue: the connection to the MobileMe server (which is also IMAP) works perfectly.
When investigating from the Connection Doctor, with the server from work I get this:
CONNECTED Jul 21 11:02:28.233 [kCFStreamSocketSecurityLevelNegotiatedSSL] -- host:mail.myhost.com -- port:993 -- socket:0x7f91b9d79540 -- thread:0x7f91b98514e0
READ Jul 21 11:02:28.297 [kCFStreamSocketSecurityLevelNegotiatedSSL] -- host:mail.myhost.com -- port:993 -- socket:0x7f91b9d79540 -- thread:0x7f91b98514e0
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN ACL ACL2=UNION] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information.
WROTE Jul 21 11:02:28.302 [kCFStreamSocketSecurityLevelNegotiatedSSL] -- host:mail.myhost.com -- port:993 -- socket:0x7f91b9d79540 -- thread:0x7f91b8541180
1.19 AUTHENTICATE PLAIN
With the server from MobileMe, I get this:
CONNECTED Jul 21 11:02:28.515 [kCFStreamSocketSecurityLevelNegotiatedSSL] -- host:mail.me.com -- port:993 -- socket:0x7f91b9e64f30 -- thread:0x7f91b9857670
READ Jul 21 11:02:29.633 [kCFStreamSocketSecurityLevelNegotiatedSSL] -- host:mail.me.com -- port:993 -- socket:0x7f91b9e64f30 -- thread:0x7f91b9857670
* OK [CAPABILITY mmp0291 IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS CHILDREN BINARY UNSELECT SORT CATENATE URLAUTH LANGUAGE ESEARCH ESORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES CONDSTORE ENABLE CONTEXT=SEARCH CONTEXT=SORT WITHIN SASL-IR SEARCHRES XSENDER X-NETSCAPE XSERVERINFO X-SUN-SORT ANNOTATE-EXPERIMENT-1 X-UNAUTHENTICATE X-SUN-IMAP X-ANNOTATEMORE XUM1 IDLE AUTH=PLAIN AUTH=PLAIN] Messaging Multiplexor (Oracle Communications Messaging Exchange Server 7.4-20.01 (built Nov 21 2010))
WROTE Jul 21 11:02:29.744 [kCFStreamSocketSecurityLevelNegotiatedSSL] -- host:mail.me.com -- port:993 -- socket:0x7f91b9e64f30 -- thread:0x7f91b9cd9a60
1.20 AUTHENTICATE PLAIN ****************************
READ Jul 21 11:02:30.070 [kCFStreamSocketSecurityLevelNegotiatedSSL] -- host:mail.me.com -- port:993 -- socket:0x7f91b9e64f30 -- thread:0x7f91b9cd9a60
1.20 OK User logged in
So, the AUTHENTICATE lines differ. I don't know what those '*'-s mean.