Clear Plesk Mail Queue via SSH Qmail or Roundcube

First lets check the number of messages from the queue using the qmail-qstat tool:

[root@yourserver /]# /var/qmail/bin/qmail-qstat
messages in queue: 52
messages in queue but not yet preprocessed: 2

We ALWAYS stop the mail server before making any changes or running clean up tools, to avoid having to reconfigure it again:

service qmail stop

Once the mail server service is stopped we are going to execute the following commands one by one:

find /var/qmail/queue/mess -type f -exec rm {} \;
find /var/qmail/queue/info -type f -exec rm {} \;
find /var/qmail/queue/local -type f -exec rm {} \;
find /var/qmail/queue/intd -type f -exec rm {} \;
find /var/qmail/queue/todo -type f -exec rm {} \;
find /var/qmail/queue/remote -type f -exec rm {} \;

Finally start the mail service and recheck the queue to ensure that all the messages have been removed:

service qmail start

To automate this process I have two scripts available (basically, are performing the same operations as above). For those that receive oversized file truncating errors please use the 2nd script – it takes a little longer but gets the job done.

wget http://dragos.fedorovici.com/qmailclear.sh
wget http://dragos.fedorovici.com/qmailclean.sh
sh qmailclean.sh
sh qmailclear.sh