如何创建用户特定的 Sieve 文件?

如何创建用户特定的 Sieve 文件?

我的Dovecot的protocol_lda如下:

protocol lda {
    log_path = /var/log/mail/dovecot-deliver.log
    auth_socket_path = /var/run/dovecot/auth-master
    postmaster_address = [email protected]
    mail_plugins = sieve
    mail_plugin_dir = /usr/lib/dovecot/modules/lda
    global_script_path = /etc/sieve/globalsieverc
    sieve_before = /etc/sieve/sieve_before
    sieve = file:~/sieve;active=~/.dovecot.sieve

}

我触摸了/home/someuser/.dovecot.sieve创建文件,创建了目录~/sieve,并创建了/home/someuser/someuser.sieve内容:

require ["fileinto"];

if address :domain :is "From" "gmail.com" {
  fileinto "XXX";
  stop;
}

但是,来自 Gmail 帐户的邮件被归档到 INBOX 而不是 XXX。

编辑: 简而言之,我感兴趣的用例是:

作为每个 Linux 系统用户一个邮箱的 Postfix 配置管理员

除了默认的全局规则外,我还希望每个用户(在其主目录中)都有一个筛选规则文件

这样每个用户的规则就分开了(更容易阅读),每个用户都可以配置自己的规则

编辑2018-08-29: 最终它的工作方式如下:

  • 指向 /home/malmeida/sieve/name.sieve 的符号链接 ~/.dovecot.sieve
  • ~/sieve/name.sieve 中的脚本
  • 请注意,如果脚本具有不同的名称,dovecot 将记录(例如,如果文件名为 active_sieve)“警告:sieve:文件存储:Active Sieve 脚本符号链接 /home/user/.dovecot.sieve 已损坏:无效的脚本名称(指向 /home/user/sieve/active_sieve)。”

答案1

Sieve 有一个活动筛选脚本的概念。这.dovecot.sieve不是目录,而应该是指向活动筛选脚本的符号链接。

换句话说:

  • ~/sieve 可能包含多个脚本
  • ~/.dovecot.sieve 应该是这些脚本之一的符号链接

通过此设置,dovecot 将能够根据每个用户的主目录中的文件使用每个用户的配置。

相关内容