Postfix

如何創建使用者特定的 Sieve 文件?

  • August 29, 2018

我的 Dovecot 的 protocol_lda 如下:

protocol lda {
   log_path = /var/log/mail/dovecot-deliver.log
   auth_socket_path = /var/run/dovecot/auth-master
   postmaster_address = malmeida@itclinical.com
   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 帳戶的郵件被歸檔在收件箱而不是 XXX。

編輯: 簡而言之,我感興趣的案例是:

作為 postfix 配置的管理員,每個 linux 系統使用者有一個郵箱

除了預設的全域規則之外,我還希望每個使用者(在他們的主目錄中)有一個篩選規則文件

讓每個使用者的規則分開(更容易閱讀),每個使用者都可以配置自己的規則

編輯 2018-08-29: 它最終通過以下方式工作:

  • 指向 /home/malmeida/sieve/name.sieve 的符號連結 ~/.dovecot.sieve
  • ~/sieve/name.sieve 中的腳本
  • 請注意,如果腳本具有不同的名稱,dovecot 將記錄(例如,如果文件稱為 active_sieve)“警告:篩:文件儲存:活動篩腳本符號連結 /home/user/.dovecot.sieve 已損壞:無效的腳本名稱(指向/home/user/sieve/active_sieve)。”

Sieve 有一個主動篩腳本的概念。.dovecot.sieve不是目錄,但應該是指向活動篩子腳本的符號連結。

換句話說:

  • ~/sieve 可能包含幾個腳本
  • ~/.dovecot.sieve 應該是這些腳本之一的符號連結

通過此設置,dovecot 將能夠根據每個使用者的主目錄中的文件使用每個使用者的配置。

引用自:https://serverfault.com/questions/908310