Postfix 和 Dovecot:邮箱配额配置

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 中也配置了它。如果我向没有剩余空间的邮箱发送邮件,我会得到:

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

我现在真的很困惑。以下是两个问题:

  1. 为什么 Postfix 忽略了这些参数?
  2. 我知道发送和接收邮件都是由Postfix来处理的,那么如果Postfix的配额设置不正确,Dovecot如何在接收过程中拒绝邮件?

postconf 输出

http://pastebin.com/rB6UF03u

答案1

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),仅适用于虚拟邮箱。

相关内容