使用Sieve过滤分类Roundcube邮件,Postfix、dovecot自定义规则过滤

471 views次阅读
没有评论

在使用开源邮件Postfix+Dovecot+Roundcube时候,如果碰到需要对邮件分类、垃圾邮件过滤时,那么就可以尝试使用Sieve这个方案,相比maildrop兼容性更好。

Sieve 是一个用于电子邮件过滤的开源项目,它基于 Sieve 脚本语言,允许用户定义复杂的规则来管理他们的电子邮件。该项目由 Thomas Schmid 维护,旨在提供一个高效、灵活的邮件过滤解决方案。

典型生态项目

Sieve 项目与其他邮件服务器和客户端项目紧密集成,以下是一些典型的生态项目:

Dovecot:一个开源的 IMAP 和 POP3 邮件服务器,支持 Sieve 脚本。
Roundcube:一个基于 Web 的 IMAP 客户端,支持 Sieve 脚本。
Pigeonhole:一个为 Dovecot 提供的 Sieve 插件,增强了邮件过滤功能。

使用Sieve过滤分类Roundcube邮件,Postfix、dovecot自定义规则过滤

部署

1、安装 dovecot-pigeonhole

yum install dovecot-pigeonhole

2、修改Postfix配置

# 修改 master.cf
# Dovecot LDA for delivery
dovecot     unix        -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient}
# 修改 main.cf
dovecot_destination_recipient_limit = 1
virtual_transport = dovecot

3、修改Dovecot配置

mkdir -p /usr/local/etc/dovecot/sieve/global

dovecot/conf.d/10-mail.conf

mail_home = /var/mailbox/%d/%n/Maildir/sieve
mail_location = maildir:/var/mailbox/%d/%n/Maildir

dovecot/conf.d/15-lda.conf

protocol lda {
    mail_plugins = $mail_plugins sieve
}

dovcot/conf.d/20-managesieve.conf

protocols = $protocols sieve

dovecot/conf.d/90-sieve.conf

plugin {
    sieve = /var/mailbox/%d/%n/Maildir/sieve/dovecot.sieve
    sieve_global_path = /usr/local/etc/dovecot/sieve/default.sieve
    sieve_dir = /var/mailbox/%d/%n/Maildir/sieve
    sieve_global_dir = /usr/local/etc/dovecot/sieve/global/
}

4、Roundcube启用插件

config/config.inc.php

$config['plugins'] = ['managesieve',];

plugins/managesieve/config.inc.php

$config['managesieve_port'] = 4190;
$config['managesieve_host'] = '192.168.16.202';
$config['managesieve_usetls'] = false;
$config['managesieve_default'] = '/usr/local/etc/dovecot/sieve/global';

测试

最后登录roundcube,可以看到设置里面多了一个过滤器的选项。但是首次运行我这边出现500错误,查看日志报如下错误

“[01-Sep-2024 13:50:24 PRC] PHP Fatal error:  Class 'Net_Sieve' not found in /www/wwwroot/mail.nbqykj.cn/plugins/managesieve/lib/Roundcube/rcube_sieve.php on line 68”

查找资料发现必须安装 Net_Sieve ,我使用一下命令安装成功解决。

pear install Net_Sieve

总结,设置比较方便,基本满足我的需求,完成。

正文完
微信搜一搜“奇悦电脑科技”或扫描二维码关注我们
post-qrcode
 0
章郎虫
版权声明:本站原创文章,由 章郎虫 于2024-09-01发表,共计1753字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。