【问题标题】:Office365 IMAP sometimes fetching new emails not workingOffice365 IMAP 有时无法获取新电子邮件
【发布时间】:2021-07-13 22:01:46
【问题描述】:

我连接到 outlook.office365.com 以通过库 IMAPClient (Python) 同步电子邮件。通过 IDLE mechanizm,我在服务器上收到更改,例如文件夹 INBOX 中的新电子邮件。之后,我获取 UID {last_synced_uid}:* 的邮件 - 这应该会在上次同步后给我所有邮件(UID 总是递增)。

此流程有效,但有时 IMAP 服务器 (outlook.office365.com) 不返回新邮件但已同步。运行完全同步有时会起作用,但并非总是如此 - 我的意思是在日期之后搜索邮件并按 UID 获取。

在这种情况下,我手动将邮件从收件箱移动到其他文件夹并再次移动到收件箱,这始终有效 - 之后我的脚本检测到收件箱中的新邮件并使用 UID {last_synced_uid} 获取:*

Office365 似乎有时会在通过 UID 获取时出现问题。 相同的邮件在其他邮件客户端(如雷鸟)中可见,因此可能有一些解决方法,或者它是 IMAPClient/imaplib 中的错误

last_synced_uid 为 1619 的监控文件夹的日志如下:

  • 空闲响应:[(10, b'RECENT'), (618, b'EXISTS')]
  • 开始 FETCH UID 1620:*
  • FETCH 返回 UID 1619、SEQ 617 的邮件
  • last_synced_uid 1619 未更改

【问题讨论】:

  • 你好......只是一个建议......如果可能的话,使用 microsoft graph api 来获取 Outlook 邮件信息。它们会更容易,因为它是一个 REST 实现,而且你有很多文档
  • 感谢您的建议 :)

标签: python office365 imap imapclient


【解决方案1】:

我会回答我自己的问题 - 在 IMAP 连接上多次选择同一个文件夹可能会产生这个问题。

【讨论】:

    猜你喜欢
    • 2017-06-02
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    相关资源
    最近更新 更多