1.8. 在 Dovecot IMAP 服务器上使用 Sieve 启用服务器端电子邮件过滤

您可以使用 ManageSieve 协议将 Sieve 脚本上传到服务器。Sieve 脚本定义服务器应对传入的电子邮件验证的规则和执行的操作。例如,用户可以使用 Sieve 转发特定发件人的电子邮件,管理员可以创建一个全局过滤器,将垃圾邮件过滤器标记的邮件移到单独的 IMAP 文件夹中。

ManageSieve 插件为 Dovecot IMAP 服务器添加了对 Sieve 脚本和 ManageSieve 协议的支持。

警告

仅使用支持通过 TLS 连接的 ManageSieve 协议的客户端。禁用此协议的 TLS 会导致客户端通过网络以纯文本形式发送凭证。

先决条件

  • Dovecot 已配置,并提供 IMAP 邮箱。
  • TLS 加密在 Dovecot 中已配置。
  • 邮件客户端支持通过 TLS 连接的 ManageSieve 协议。

流程

  1. 安装 dovecot-pigeonhole 软件包:

    # dnf install dovecot-pigeonhole
  2. 取消 /etc/dovecot/conf.d/20-managesieve.conf 中以下行的注释,以启用 sieve 协议:

    protocols = $protocols sieve

    除了已经启用的其他协议外,此设置还激活 Sieve。

  3. firewalld 中打开 ManageSieve 端口:

    # firewall-cmd --permanent --add-service=managesieve
    # firewall-cmd --reload
  4. 重新载入 Dovecot:

    # systemctl reload dovecot

验证

  1. 使用客户端并上传 Sieve 脚本。使用以下连接设置:

    • 端口:4190
    • 连接安全:SSL/TLS
    • 身份验证方法: PLAIN
  2. 向已上传 Sieve 脚本的用户发送电子邮件。如果电子邮件与脚本中的规则匹配,请验证服务器是否执行了定义的操作。

其他资源

  • /usr/share/doc/dovecot/wiki/Pigeonhole.Sieve.Plugins.IMAPSieve.txt
  • /usr/share/doc/dovecot/wiki/Pigeonhole.Sieve.Troubleshooting.txt
  • firewall-cmd(1) 手册页