![如何在新的邮件目录中自动创建 .dovecot.sieve 文件以进行 dspam 过滤?](https://linux22.com/image/638787/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%96%B0%E7%9A%84%E9%82%AE%E4%BB%B6%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20.dovecot.sieve%20%E6%96%87%E4%BB%B6%E4%BB%A5%E8%BF%9B%E8%A1%8C%20dspam%20%E8%BF%87%E6%BB%A4%EF%BC%9F.png)
我已经关注了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
允许您始终执行它,而不管用户自己做什么。