繁体   English   中英

在 Imap_tools 和 Yahoo 中使用 Idle

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM