我有带 cPanel 和 Plesk 的托管服务器,这些服务器有 1000 多个客户。我希望当任何电子邮件被标记为垃圾邮件时,它应该自动移动到垃圾文件夹,而不是客户自己将其移动到特定的垃圾邮件文件夹。就像 Gmail 垃圾邮件一样,所有垃圾邮件都会进入垃圾邮件文件夹。可以在服务器级别完成吗?据我所知,使用级别过滤器已经可用,但我想在服务器范围内实施它
答案1
使用 dovecot 的插件,pidgeonhole
您可以设置sieve
过滤器。但您必须确保 eximdovecot-lda
也deliver
用于本地交付。查看 exim 配置中的传输。如果已deliver
调用 - 一切都很简单。还要检查是否dovecot-pidgeonhole
已安装。如果没有 - 请安装它。
将下一节添加到 dovecot 配置中(如果它们尚不存在):
. . . . .
protocols = imap pop3 sieve
. . . . .
plugin {
. . . . .
sieve_before = /path/dovecot/common.sieve
}
. . . . .
protocol lda {
mail_plugins = sieve
}
. . . . .
创建文件 /path/dovecot/common.sieve :
####
require "fileinto";
if exists "X-Spam-Detected"
{ fileinto "Junk"; stop; }
else
{ keep; }
####
X-Spam-Detected
用 spamassassin 添加到邮件中的标题进行替换。
启动sievec /path/dovecot/common.sieve
将脚本编译为二进制文件。将其所有权更改为 dovecot 使用的 uid。重新启动 dovecot。就这样。现在所有包含 header 的消息X-Spam-Detected
都将发送到/var/vmail/domain/user/.Junk
or ~/user/Maildir/.Junk
- 就像在 dovecot 中配置的那样。