How to change users quota to NO QUOTA on Qmail
with Vpopmail Mail server install / Qmail mail over quota
issue
Already on a couple of mail boxes located on one of the
qmail powered mail servers I adminiter, there is an
over
QUOTA reached problem encountered.
Filling up the mailbox quota is not nice as mails starts get
bounced back to the sender with a message
QUOTA FULL or EXCEEDED
MESSAGE, if this is a crucial mail waiting for some important
data etc. the data is never received.
Below is a copy of the
mail quota waarning notification
message:
Delivered-To: email_use@my-mail-domain.net
Date: Wed, 15 Feb 2012 17:40:36 +0000
X-Comment: Rename/Copy this file to
~vpopmail/domains/.quotawarn.msg, and make appropriate
changes
X-Comment: See README.quotas for more information
From: Mail Delivery System <Mailer-Daemon@different.bg>
Reply-To: email@pc-freak.net
To: Valued Customer:;
Subject: Mail quota warning
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 7bit
>
Your mailbox on the server is now more than 90% full. So that you
can continue
to receive mail you need to remove some messages from your
mailbox.
As you can read from the copy of the mail message above, the
message content sent to the mail owner whose quota is getting full
is red from
/var/vpopmail/domains/.quotawarn.msg
The mail reaching quota problem is very likely to appear in cases
like low mailbox quota set, but sometimes also occurs due to bugs
in vpopmail quota handling.
Various interesting configuration settings for mail quotas etc. are
in
/home/vpopmail/etc/vlimits.default file, (assuming
vpopmail is installed in /home).
In my specific case the default vpopmail mailbox quota size was set
to only
40 Megabytes.
40MB is too low if compared to todays mailbox size standards which
in Gmail and Yahoo free mail services are already between 2 and 8
GB.
Hence to get around the quota troubles, I simply removed the quota
for the mail.
To remove the quota size in vpopmail set for address
(email_user@my-mail-domain.net)used cmd:
qmail-server:~# vmoduser -q NOQUOTA
email_user@my-mail-domain.net
To preserve myself from future quota issues, I decided to apply a
permanent fix to all those over quota size VPOPMAIL mailbox
problems by removing completely quota restriction for all
mailboxes in my vpopmail existent mail domain.
To do so, I wrote a quick simple bash loop one-liner script:
qmail-server:~# cd /home/vpopmail/domains
qmail-server:~/vpopmail/domains# cd my-mail-domain.net
qmail-server:~/vpopmail/domains/my-mail-domain.net# for i in *; do
\
vmoduser -q NOQUOTA $(echo $i|grep -v vpasswd)@my-mail-domain.net;
\
done
This works only on vpopmail installations which are configured to
store the mail messages directly on the filesystem. Hence this
approach will not work for people who during vpopmail install had
configured it to store mailboxes in
MySQL or in other kind
of SQL db engine.
Anyways for
Vpopmail installed to use SQL backend, the
script can be changed read directly a list with all the mailboxes
obtained from databasae (SQL quaery) and then with loop over each
of the mail addresses apply the
vmoduser -q NOQUOTA
mail@samplemaildomain.net.