我能够阅读特定主题的信息。在
首先,在初始化时,我使用IMAP登录邮件
self.mail = imaplib.IMAP4_SSL(imapName, imapPort)
然后我可以用这种方法阅读给定主题的电子邮件:
^{pr2}$我真正想要的是使用fromDateTime,它是UTC Zulu格式,即
2019-02-28T19:43:42.529791Z
从那个日期/时间到现在(当前时间程序正在运行),在收件箱中阅读给定主题的电子邮件。我利用会议记录很重要。因此,在我的例子中,所有来自UTC时间的电子邮件:2月28日,时间19小时43分钟。电子邮件每30分钟到达一次,所以我需要确保我也利用分钟。在
我相信这可能有用。在
在开始的时候,我删除(存档)所有与给定的主题感兴趣的电子邮件。然后保存日期和时间,每次我阅读收件箱中给定的主题,并破译开始日期到现在,我期望有多少。然后把这些邮件存档以备下次使用
一般来说,只有服务器端搜索无法做到这一点。IMAP搜索语言只支持一天的粒度(没有特定的时区)。您将需要搜索、获取元数据(例如,INTERNALDATE字段),然后再次执行本地筛选器。在
另一种选择是使用UIDs提供的担保。新邮件的UID总是增加(假设您的邮箱没有重新生成),所以您可以使用它来检测新邮件。在
如果你已经用UID搜索了最新的UID,那么你就只能用最高的UID来搜索了。假设您的服务器实现得很好,并且您没有将邮件移动到文件夹中,那么您可以添加搜索词
UID n:*
,其中n比您所处理的最高UID高一个。这意味着范围从n到框中的最高消息。在并将(uid+1)存储在某个地方(数据库、磁盘上、内存中等),以存储任何大于当前最大uid的消息。在
您需要过滤掉返回的一些搜索结果,但一般逻辑是:
相关问题 更多 >
编程相关推荐