Postfix

Ubuntu Postfix Courier Imap 自定義過濾器到基於發件人地址的自定義文件夾

  • May 30, 2016

我正在嘗試找到一種方法來根據發件人地址將收到的郵件發送到特定文件夾。我的設置是在 Ubuntu Server 14.04 上,Postfix mail_version = 2.11.0 Courier Imap 與 spamassasin、amavis、clamav。設置基於此線上指南。隨著伺服器日益成熟,我開始需要根據發件人地址分離收到的郵件(就像 gmail 對社交標籤所做的那樣)。我必須使用 maildirmake 在現有帳戶中創建一個新文件夾

maildirmake -f Social /var/mail/virtual/domain/account

為了使新文件夾正常工作,我從現有文件夾中複製粘貼的權限和所有權,如下所示

sudo chown -R --reference=.Sent/ .Social
sudo chmod -R --reference=.Sent/ .Social

之後,新文件夾會顯示在 Thunderbird 中,我可以在其中移動電子郵件。

現在對我來說棘手的部分,甚至認為我四處搜尋我找不到可行的解決方案是我想在 Postfix 上應用過濾器嗎?或任何其他方式,如果傳入的電子郵件來自 Twitter,比如說,顯示在社交文件夾中。提前感謝我能得到的任何方向。問候。

是的,這是可能的。Nick_W 和 Karma 已經為您提供了使用 maildrop 的想法。它應該適用於您將虛擬使用者儲存在 MySQL 中的情況(基於您的教程)。它將使用 Courier authlib 來確定位置郵箱的位置。

安裝 maildrop 後,確保 postfix 文件中的 maildrop 服務master.cf已啟動

maildrop  unix  -       n       n       -       -       pipe
 flags=DRhu user=vmail argv=/path/to/maildrop -d ${recipient}

並編輯main.cf以配置 postfix 以使用maildrop傳輸而不是 postfix 預設虛擬傳輸。

maildrop_destination_recipient_limit = 1
virtual_transport = maildrop

最後一步是告訴 maildrop 根據發件人過濾電子郵件。應該放置該規則/etc/maildroprc以強制執行全域過濾。

if (/^From: *@twitter\.com/)
{
   ... do what you want...
}

有關 maildrop 過濾語法的文件,請參閱maildropexmaildropfilter

附加教程:

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