zPanel Mailbox Quota Limit

Issue:

Email dropped silently or bounced back with notification:

Your message to [<[email protected]>] was automatically rejected:
Quota exceeded (mailbox for user is full)

It happened on mailbox of zPanel.

Solution:

  1. Get postfix database password from the file: mysql-virtual_mailbox_limit_maps.cf located in /etc/zpanel/configs/postfix
  2. login to phpMyAdmin and locate the database zpanel_postfix
  3. browse the table: mailbox to locate the record with username going to increase the quota
  4. change the column: quota from default 200 to larger value fitting the need

Tricks:

  • Under Admin of zPanel, there is a way to change the Mail Config from Module Admin, however, the update to the value of Max Mailbox Size only applies to the new created email accounts, it has no effect to any existing email account.
  • By using command: dovecot quota get -u [mailbox] to get the quota Limit and existing Value, we know if the quota limit has been increased properly
  • In configuration file, dovecot.conf, imap_quota must be added to mail_plugins parameter within protocol imap, otherwise the quota usage icon will not be shown on Roundcube panel, the standard webmail client for zPanel. And, imap_quota can only be added to protocol imap but not other protocols like lmtp, etc. A sample of working dovecot.conf for zPanel with imap_quota and sieve setting. It should be noted that by adding a global mail_plugins setting – quota to this config file, i.e. declaring “mail_plugins quota” outside the protocol settings, in order to make the command: doveadm quota get -u [email user] work without error.

Config:

  • zPanel  10.1.1
  • Dovecot  2.0.9
  • Postfix   2.6.6
  • Roundcube  0.9.5