【发布时间】:2012-04-14 04:18:25
【问题描述】:
我正在尝试使用 python 和 IMAPClient 构建一个简单的电子邮件客户端。问题是所有服务器的文件夹名称并不统一。
如果我将电子邮件标记为垃圾邮件,则必须将其从收件箱文件夹 (?) 移至垃圾邮件/垃圾邮件文件夹。但我无法这样做,因为我不知道文件夹名称是什么将是 (Spam 或 INBOX.junk 或 [Gmail]/Spam )
其他电子邮件客户端如何使用不同的文件夹名称?
【问题讨论】:
我正在尝试使用 python 和 IMAPClient 构建一个简单的电子邮件客户端。问题是所有服务器的文件夹名称并不统一。
如果我将电子邮件标记为垃圾邮件,则必须将其从收件箱文件夹 (?) 移至垃圾邮件/垃圾邮件文件夹。但我无法这样做,因为我不知道文件夹名称是什么将是 (Spam 或 INBOX.junk 或 [Gmail]/Spam )
其他电子邮件客户端如何使用不同的文件夹名称?
【问题讨论】:
我相信,对于常见的电子邮件提供商,他们有一个关于该提供商默认使用的内容(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
【讨论】: