【问题标题】:Identifying IMAP mail folders (spam,sent...), folder names vary with servers识别 IMAP 邮件文件夹(垃圾邮件、已发送...),文件夹名称因服务器而异
【发布时间】:2012-04-14 04:18:25
【问题描述】:

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

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

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

【问题讨论】:

    标签: python email imap


    【解决方案1】:

    我相信,对于常见的电子邮件提供商,他们有一个关于该提供商默认使用的内容(gmail、hotmail、exchange 等)的映射。

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

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

    【讨论】:

    • Gmail 使用本地化的文件夹名称,因此这种方法行不通。
    • 第一种方法:没有为所有提供者提供映射。 Yahoo.com 就是这样一个例子。第二种方法:我真的不明白。第三种方法:我可以拥有所有文件夹,“Draft”、“Drafts”、“INBOX.Drafts”……我如何确定哪个是真实的???
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 2012-07-21
          • 2014-09-20
          • 2017-03-02
          • 2021-09-04
          • 1970-01-01
          • 2016-05-04
          • 2013-09-03
          • 2012-03-03
          • 2016-05-27
          相关资源
          最近更新 更多