当前位置: 首页 > 知识库问答 >
问题:

Office365 IMAP有时会获取新电子邮件,但无法正常工作

白永昌
2023-03-14

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

此流程可以工作,但IMAP服务器(outlook.office365.com)有时不会返回新邮件,但已同步。运行完全同步有时有效,但并不总是有效——我指的是在日期之后搜索邮件并通过UID获取。

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

看起来Office365有时会出现通过UID获取的问题。在其他邮件客户端(如thunderbird)中也可以看到相同的邮件,因此可能有一些解决方法,或者这是IMAPClient/imaplib中的一个错误

下面是上次同步的uid为1619的监控文件夹的日志:

  • 空闲响应:[(10,b'RECENT'),(618,b'EXISTS')]
  • 开始获取UIDs 1620:
  • 取回UID 1619,SEQ 617的邮件
  • 上次同步的uid 1619没有更改

共有1个答案

杜鸿彩
2023-03-14

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

 类似资料:
  • 问题内容: 不管我在BUILD_LOG_EXCERPT中输入什么内容,我得到的都是一封空的电子邮件,因此可以使用一些帮助。 我有一个写入控制台的Java程序。Jenkins控制台输出的片段如下所示: 在Jenkins作业中,我创建一个Post Build步骤,并将以下行放入Default Content: 当我触发工作时,我收到的只是一封空电子邮件。但是,如果我添加 然后我会在电子邮件中获得完整的

  • 我正在尝试从GitHub获取一个用户的电子邮件地址,我只是在使用Postman测试过程。我有一个令牌,它有user和user:email作用域,点击https://api.github.com/user可以得到用户的信息。私人电子邮件在该endpoint不可见,所以我也点击https://api.github.com/user/emails。电子邮件endpoint给了我一个404。 与404一起

  • 问题内容: 我在使用Gmail PHP API时遇到问题。 我想检索电子邮件的正文内容,但是我只能对具有附件的电子邮件检索它!我的问题是为什么? 到目前为止,这是我的代码: 检索我知道的内容的第二种方法是使用位于“ 标题” 部分中的代码段,但它只能检索50个左右的前字符,这不是很有用。 问题答案: 让我们做一个小实验。我已经给自己发了两条消息。一个带有附件,一个没有附件。 请求: 响应: 我只要求

  • 我所拥有的 我在我的应用程序中使用Firebase认证,用户可以使用电子邮件和密码注册。如果用户没有验证他们的电子邮件,我会禁用一些功能,直到他们验证他们的电子邮件。 我还有一个按钮来显式触发验证邮件,它只是调用,。它工作完美,验证邮件总是发送。 用户收到验证邮件,但当他/她验证邮件并返回应用程序时,始终为false。所以我的应用程序仍然不允许用户使用所有功能,尽管事实上他/她已经验证了他们的电子

  • 我有一个很长的表单,表单的内容是通过邮件(HTML电子邮件)发送的。 我的PHP邮件函数在其余的内容中工作得很好。但当我将以下内容添加到邮件正文时,邮件就不工作了。 基本上,我得到的。 邮件头为

  • 问题内容: 我正在尝试通过输入URL向指定用户发送电子邮件,但出现以下错误: 第383行的AbstractSmtpTransport.php中的Swift_TransportException:预期的响应代码为250,但代码为“ 530”,消息为“ 530 5.7.1要求身份验证” 到目前为止,我只是试图使其与Gmail一起使用。我该如何工作? 这是我到目前为止的内容: mail.php 这是我在