我正在研究电子邮件客户端,现在我的目标是提出类似Thunderbird的自动配置功能。为此,我陷入了以下困境:
想象一下,我有几个可能的目标IMAP服务器名称值,比如
imap.mail1.com
imap.mail2.com
imap.mail3.com
我必须逐一测试它们。重要的是我不想测试凭证(密码)。我只需要了解给定的IMAP服务器名称对应于用户邮箱。
我正在使用IMAPClient启动我的应用程序,但我不知道如何测试IMAP连接。值得一提的是,这个测试必须快速响应,因为我在现实生活中有数百种可能的选择,而且我无法让用户等待多年。对此有何帮助?
更新。
至于现在,我检查了IMAP:
incoming_server = 'imap.mail.ru'
server = IMAPClient(incoming_server, use_uid=True, ssl=True)
try:
server.login(login, password)
except imaplib.IMAP4.error:
# Incorrect imap server
这看起来有点矫枉过正,因为这个工作非常慢,似乎我不需要密码就可以找出IMAP服务器名称。我确信有更“轻量级”的方式来“ping”服务器