[英]Using Idle with Imap_tools and Yahoo
我正在尝试在我的 Yahoo 邮箱上测试imap_tools
的空闲功能。 我已经完成了允许第三方应用程序等的步骤,但我不断收到错误消息(包括在下面)。
我正在使用 Github 上给出的示例。
这是图书馆的错误还是雅虎不支持闲置?
from imap_tools import MailBox, A
# waiting for updates 60 sec, print unseen immediately if any update
with MailBox('imap.mail.yahoo.com').login('acc', 'pwd', 'INBOX') as mailbox:
responses = mailbox.idle.wait(timeout=60)
if responses:
for msg in mailbox.fetch(A(seen=False)):
print(msg.date, msg.subject)
else:
print('no updates in 60 sec')
追溯:
Traceback (most recent call last):
File "C:*****", line 11, in <module>
mailbox.idle.start()
File "C:*****", line 54, in start
check_command_status((result, 'IDLE start'), MailboxTaggedResponseError, expected=None)
File "C:*****", line 45, in check_command_status
raise exception(command_result=command_result, expected=expected)
imap_tools.errors.MailboxTaggedResponseError: Response status "None" expected, but "b'FMAK3 BAD [CLIENTBUG] ID Command arguments invalid'" received. Data: IDLE start
上次我检查时,Yahoo 不支持 IMAP IDLE。 确保在使用扩展功能之前检查CAPABILITIES
响应。
看起来服务器已将IDLE
命令解释为ID
命令,进一步证明它不支持它。
根据以往的经验,雅虎确实不希望人们使用长期连接:他们希望人们登录、获取新的 email,然后注销。 您将不得不与雅虎进行投票。 他们甚至不会让您打开连接超过一两分钟。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.