【问题标题】:python imaplib unexpected response 220python imaplib 意外响应 220
【发布时间】:2012-11-03 08:55:11
【问题描述】:
我有以下使用 imaplib 的代码行
M = imaplib.IMAP4('smtp.gmail.com', 587)
我从 imaplib 收到以下错误:
中止:意外响应:'220 mx.google.com ESMTP o13sm12303588vde.21'
但是从其他地方阅读,该响应似乎是正确的响应,表明已在该端口成功连接到服务器。
为什么 imaplib 会出现这个错误?
【问题讨论】:
标签:
python
email
response
imaplib
【解决方案1】:
您连接到错误的端口。 587 是经过身份验证的 SMTP,而不是 IMAP; IMAP 指定的端口号是 143(或 IMAPS 的 993)。
【解决方案2】:
我意识到我需要执行 IMAP4_SSL() - 对于 IMAP 必须是 SSL,对于使用 IMAP,我需要用于 gmail 的 IMAP 服务器,即 imap.googlemail.com。我最终在没有指定端口的情况下让它工作。所以,最终的代码是:
M = imaplib.IMAP4_SSL('imap.googlemail.com')