您可以通过网页界面、Google的Android客户端或使用IMAP访问Gmail。据我所知,网页界面和Android应用程序使用的协议与IMAP完全不同,它们不仅仅是在其上提供的接口。我之所以肯定这一点,是因为Android应用程序可以在不到3秒钟的时间内轻松打开一个包含100万邮件的文件夹。没有普通的IMAP客户端能做到这一点。
所以我的问题是,关于这个秘密协议有哪些已知信息?有没有参考文档?它是否被反向工程了?Google是否批准其使用?
阿尔特的答案提供了一个测试Gmail原始IMAP速度的优秀方法:
$ openssl s_client -host imap.gmail.com -port 993 -crlf
...
* OK Gimap ready for requests from 12.34.56.78
$ a LOGIN ***@*** ***
a OK
$ c SELECT "[Gmail]/All mail" !!!!
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen)
* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)] Flags permitted.
* OK [UIDVALIDITY 673376278] UIDs valid.
* 1142417 EXISTS
* 0 RECENT
* OK [UIDNEXT 1159771] Predicted next UID.
* OK [HIGHESTMODSEQ 8670601]
c OK [READ-WRITE] [Gmail]/All mail selected. (Success)
我标记的命令,c SELECT "[Gmail]/All mail"
需要约20秒钟才能完成。由于这个时间比我的配置相对较弱的Android手机上的GMail应用启动并加载所有邮件标签所需的6秒钟还要长,即使在清除其缓存后也是如此。网络客户端甚至更快。
除非我漏掉了一些基本东西,否则这证明“超出合理怀疑”的谷歌GMail客户端不使用IMAP,因为您永远不必等待任何SELECT命令超过20秒才能完成。