Mysql

Postfix & Dovecot:郵箱配額配置

  • November 8, 2015

我在 Ubuntu 14.04.3 下執行 Postfix 2.11、Dovecot 2.2.9 和 MySQL 5.6.27。

我已將 Postfix 配置為支持虛擬郵箱,但配額設置似乎存在一些問題。

~$ sudo service postfix reload
* Reloading Postfix configuration...
/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_maildir_limit_message=Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_limit_maps=mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_limit_override=yes
/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_overquota_bounce=yes
/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes
/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes
  ...done.

不過雖然Postfix忽略了這些參數,但是配額限制還是可以正常工作的,因為我也在Dovecot中配置過。如果我在沒有剩餘空間的情況下向郵箱發送電子郵件,我會得到:

<full@example.com>: host mail.example.com[private/dovecot-lmtp] said: 552
   5.2.2 <full@example.com> Quota exceeded (mailbox for user is full) (in
   reply to end of DATA command)

我現在真的很困惑。這裡有兩個問題:

  1. 為什麼 Postfix 忽略參數?
  2. 我知道郵件的收發都是由 Postfix 處理的,那麼如果 Postfix 的配額設置不正確,Dovecot 怎麼能在接收過程中拒絕郵件呢?

配置後輸出

http://pastebin.com/rB6UF03u

Postfix 不支持開箱即用的配額,有幾種不同的設置方法。如果 Dovecot 已經在工作,我建議使用它來管理配額。您可以在此頁面上找到有關如何設置配額的更多資訊:http ://www.postfix.org/addon.html#quota

回答您的問題:

  1. 這些參數適用於 VDA 更新檔,可能未在您的系統上應用:http: //vda.sourceforge.net/
  2. 有時 postfix 被配置為查詢 Dovecot,或者在決定是否接受/退回之前將電子郵件傳遞給 Dovecot。postconf如果您想要確切的答案,請發布命令的輸出。

編輯:根據您的配置,此參數:

virtual_transport = lmtp:unix:private/dovecot-lmtp

告訴 postfix 將虛擬郵箱的電子郵件傳遞給 dovecot 進行傳遞。它使用 lmtp(搜尋它)來執行此操作。然後 dovecot 收到郵件並根據其配置決定如何處理。請注意,這不適用於 root 等本地使用者郵箱,僅適用於虛擬郵箱。

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