我在python中编写了一些打开Maildir的代码,将“新”消息更新为“cur”,刷新并关闭邮件目录。问题是,当我在使用脚本后再次阅读相同的Maildir时,它仍然会将所有电子邮件都读为新内容!
(如果我直接看看操作系统,我可以看到邮件文件已从Maildir / new移到Maildir / cur)
有什么想法吗?
mail = Maildir(self._mail_dir, factory=MaildirMessage)
mail.lock()
for i, (key, m) in enumerate(mail.iteritems()):
if m.get_subdir() == "new":
m.set_subdir("cur")
m.add_flag("S") # Message seen
mail[key] = m
do_something_else(m)
mail.flush()
mail.close()
提前致谢!
答案 0 :(得分:1)
终于找到了修复。基本上我只需要传递 factory = None 而不是 factory = MaildirMessage 。
阅读下面链接中的文档似乎 factory = None 实际上选择了MaildirMessage工厂,但显然它也增加了额外的行为。