移动消息时运行筛选

移动消息时运行筛选

我已经使用 sieve 来筛选收到的邮件。我还想使用 sieve 来筛选在服务器上的邮箱之间移动的已发送邮件(针对同一个帐户)。

例如。我有十年或二十年的邮件历史记录。许多邮件客户端在处理这种大小的邮箱时会遇到麻烦。我想将其拆分为年/月。我知道 Thunderbird 可以自动执行此操作,但许多其他客户端无法执行此操作。具体来说,我不知道有任何 iOS 邮件客户端可以做到这一点。无论如何,我想将进入 Archives 邮箱的任何消息移动到 Arthives// 邮箱中,以便进一步过滤。

我使用 Dovecot 2 作为 IMAP 服务器。我该怎么做?

答案1

触发 IMAP 命令的操作是 IMAPSieve 扩展的主要应用之一,如 RFC6785 中提出并在 Dovecot 2.2.24+ 中实现。您需要执行的操作大致如下:

  1. 添加imap_sieve到您的鸽舍mail_plugins
  2. 添加sieve_imapsieve到您的鸽舍sieve_plugins
  3. 添加过滤器imapsieve_mailbox1_before并过滤 IMAP 操作imapsieve_mailbox1_causes( COPY)
  4. 按邮箱添加过滤器,这样您只能重定向来自特定文件夹的消息(我猜测:所有具有按日期范围划分的子文件夹的文件夹)
  5. 在 IMAP 触发的脚本中使用fileinto将邮件移动到与用户移动/复制到的文件夹不同的文件夹

特殊情况/需要额外考虑:

  • IMAP 附加
  • 存档文件夹拆分逻辑是否在收到的邮件和手动移动的邮件之间共享?可以共享脚本,但这样做可能不值得增加脚本的复杂性

相关内容