We have 6 servers running postfix/dbmail and spam/virus filtering. They use
a 7th server running MySQL for the dbmail database. All 6 servers rebooted
one afternoon due to a power surge. After the reboot, I got some complaints
that nobody could receive their email. I ran the dbmail-util to clean up the
dbmail databases. Mail delivery will then work normally for several hours
then stop receiving mail until I run the dbmail-util again. As it stands
now, I need to run the dbmail-util every few hours to keep things running.
When I run dbmail-util -a -v I get approximately 4100 lines with [928986]
set to MESSAGE_STATUS_ERROR). When I run the maintenance several hours
later I get the same 4100 lines. My guess is our 6 mail servers were
writing something to the dbmail tables and those writes got corrupted due to
the power surge. Should I manually delete those entries? If so what tables
are those records located in and what fields should I reference?
Thank you,
Tom
Complete output of dbmail-util -a -v follows:
Opening connection to database...
Opening connection to authentication...
Ok. Connected.
Repairing DBMAIL messageblocks integrity...
Ok. Found [0] unconnected messageblks.
--- checking block integrity took 50 seconds
--- checking block integrity took 50 seconds
Checking DBMAIL message integrity...
Ok. Found [0] unconnected messages.
--- checking message integrity took 1 seconds
--- checking message integrity took 1 seconds
Checking DBMAIL mailbox integrity...
Ok. Found [0] unconnected mailboxes.
--- checking mailbox integrity took 0 seconds
--- checking mailbox integrity took 0 seconds
Repairing DBMAIL for NULL messages...
[928986] set to MESSAGE_STATUS_ERROR)
[928985] set to MESSAGE_STATUS_ERROR)
4000+ lines later..
[877547] set to MESSAGE_STATUS_ERROR)
[877546] set to MESSAGE_STATUS_ERROR)
--- checking NULL messages took 2 seconds
Checking DBMAIL for NULL physmessages...
Ok. Found [0] physmessages without messageblocks.
--- checking NULL physmessages took 1 seconds
Repairing DBMAIL for incorrect is_header flags...
Ok. Found [0] incorrect is_header flags.
--- checking is_header flags took 50 seconds
Deleting messages with PURGE status...
Ok. [137] messages deleted.
Setting DELETE status for deleted messages...
Ok. [32] messages set for deletion.
Re-calculating used quota for all users...
Ok. Used quota updated for all users.
Vacuuming and optimizing database...
Ok. Database cleaned up.