Mysql
Postfix & Dovecot:郵箱配額配置
我在 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)
我現在真的很困惑。這裡有兩個問題:
- 為什麼 Postfix 忽略參數?
- 我知道郵件的收發都是由 Postfix 處理的,那麼如果 Postfix 的配額設置不正確,Dovecot 怎麼能在接收過程中拒絕郵件呢?
配置後輸出
Postfix 不支持開箱即用的配額,有幾種不同的設置方法。如果 Dovecot 已經在工作,我建議使用它來管理配額。您可以在此頁面上找到有關如何設置配額的更多資訊:http ://www.postfix.org/addon.html#quota
回答您的問題:
- 這些參數適用於 VDA 更新檔,可能未在您的系統上應用:http: //vda.sourceforge.net/
- 有時 postfix 被配置為查詢 Dovecot,或者在決定是否接受/退回之前將電子郵件傳遞給 Dovecot。
postconf
如果您想要確切的答案,請發布命令的輸出。編輯:根據您的配置,此參數:
virtual_transport = lmtp:unix:private/dovecot-lmtp
告訴 postfix 將虛擬郵箱的電子郵件傳遞給 dovecot 進行傳遞。它使用 lmtp(搜尋它)來執行此操作。然後 dovecot 收到郵件並根據其配置決定如何處理。請注意,這不適用於 root 等本地使用者郵箱,僅適用於虛擬郵箱。