Postfix&Dovecot:邮箱配额configuration

我在Ubuntu 14.04.3下运行Postfix 2.11,Dovecot 2.2.9和MySQL 5.6.27。

我已经configurationPostfix来支持虚拟邮箱,但似乎配额设置有一些问题。

~$ 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. 

但是,尽pipePostfix忽略了这些参数,但配额限制依然正常运行,因为我也在Dovecot中configuration了它。 如果我发邮件给一个没有剩余空间的邮箱,我会得到:

 <[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

Postfix不支持开箱即用的配额,有几种不同的方式来设置它。 如果它已经在工作,我会build议使用Dovecot来pipe理配额。 您可以在此页面find有关如何设置配额的更多信息: http : //www.postfix.org/addon.html#quota

回答你的问题:

  1. 这些参数是为VDA补丁,可能不适用于您的系统: http : //vda.sourceforge.net/

  2. 有时候postfix被configuration为查询Dovecot,或者在决定是否接受/反弹之前将邮件传递给Dovecot。 发布postconf命令的输出,如果你想要一个确切的答案。

编辑:根据你的configuration,这个参数:

 virtual_transport = lmtp:unix:private/dovecot-lmtp 

告诉postfix通过虚拟邮箱的邮件来交付。 它使用lmtp(search它)来执行此操作。 然后dovecot收到电子邮件,并根据其configuration决定如何处理它。 请注意,这不适用于本地用户邮箱,如根,只是虚拟邮箱。