识别 IMAP 邮件文件夹(垃圾邮件、已发送..),文件夹名称因服务器而异



我正在尝试使用 python 和 IMAPClient 构建一个简单的电子邮件客户端。问题是所有服务器的文件夹名称并不统一。

如果我将电子邮件标记为垃圾邮件,则必须将其从收件箱文件夹(?)移动到垃圾邮件/垃圾邮件文件夹,但我无法这样做,因为我不知道文件夹名称是什么(垃圾邮件或INBOX.junk或[Gmail]/垃圾邮件)

其他电子邮件客户端如何使用不同的文件夹名称?

我相信

对于常见的EMail提供商,他们有一个关于该提供商默认使用什么(gmail,hotmail,exchange等)的映射。

另一种方法是让用户第一次决定,保留该帐户的设置,不再询问。

混合方法是尝试检测所有常见变体,并使用您遇到的第一个有效变体。如果有更多,则只需允许用户选择即可。

他们尝试了很多可能性,让你选择一个和/或创建一个;)

Roundcube 在服务器和用户配置中都有这个。我不知道其他邮件客户端,但我想他们要么使用启发式,要么只是通过查看文件夹,要么使用有关特定 IMAP 服务器的知识。

首先是用于Gmail的XLIST命令(请注意,Gmail文件夹名称已本地化):http://www.limilabs.com/blog/localized-gmail-imap-folders

其次,有一个名为SPECIAL-USE的LIST扩展,它以类似的方式工作:https://www.rfc-editor.org/rfc/rfc6154

最新更新