如何在新的邮件目录中自动创建 .dovecot.sieve 文件以进行 dspam 过滤?

如何在新的邮件目录中自动创建 .dovecot.sieve 文件以进行 dspam 过滤?

我已经关注了http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/教程,调整为允许 vimbadmin3 用户设置我的邮件服务器。我的大部分调整来自https://github.com/opensolutions/ViMbAdmin/wiki/Mail-System-Install-on-Ubuntu

第一个教程使用 dovecot sieve(我认为)插件通过 dspam 路由内容。sieve 显然需要用户邮件目录中有一个 .dovecot.sieve 文件。

如何确保在 dovecot 启动新用户 maildirs 时创建该文件?

有没有办法在一个位置创建文件,并告诉 dovecot/sieve 在所有电子邮件帐户上使用它?

该文件需要包含:

require ["regex", "fileinto", "imap4flags"];
# Catch mail tagged as Spam, except Spam retrained and delivered to the mailbox
if allof (header :regex "X-DSPAM-Result" "^(Spam|Virus|Bl[ao]cklisted)$",
      not header :contains "X-DSPAM-Reclassified" "Innocent") {
  # Mark as read
  setflag "\\Seen";
  # Move into the Junk folder
  fileinto "Spam";
  # Stop processing here
  stop;
}

我正在运行 Ubuntu 14.04,使用 dovecot 和 postfix。我在 vimbadmin3 中创建用户,因此直到收到他们的第一封电子邮件后才会创建他们的目录。

谢谢!

答案1

没有必要在每个 Maildir 中创建这个特殊文件,使用配置变量sieve_before。引用文档

筛分前 =

脚本文件或包含需要在用户脚本之前执行的脚本文件的目录的路径。如果路径指向目录,则将执行其中包含的所有 Sieve 脚本(具有正确的 .sieve 扩展名)。执行顺序由文件名确定,使用正常的 8 位每字符比较。

使用sieve_default不是正确的方法,因为仅当用户没有配置自己的脚本时才使用此选项指定的脚本!使用sieve_before允许您始终执行它,而不管用户自己做什么。

相关内容