How to fix corrupted mails on queue in qmail or qmailtoaster.


Step 1. Download qfixq.

wget http://qmail.jms1.net/scripts/qfixq

Step 2. Change the file permission.

chmod 700 qfixq

Step 3. Stop qmail service.

/etc/init.d/qmail stop

Step 4. Run the script.

./qfixq
After running it the first time to see what it’s going to do, you should run it a second time, in “live mode”. This will do the same checks, but it will actually correct the errors it finds.

./qfixq live
If you know that there’s nothing in the queue you want to save, and you would rather just empty the queue, you can use this command instead. This changes the logic to bypass a lot of the checking, and just plain marks every message it finds for deletion- and then it deletes them.

./qfixq live empty
After running it once in “live mode”, you should run it again (not in live mode) and make sure it doesn’t find anything new. If it does, it means that some process on the system is still interacting with the queue, and if that process is “qmail-send” then running the script may have actually done more damage than good. This is why it’s so important to make sure that anything relating to qmail is totally shut down before running the script.


Leave a Reply