The dbmail-util program does a global database cleanup and integrity check. All messages that are set for deletion will be marked for final deletion (status 3). All message that are marked for final deletion will be cleared from the database. The integrity check will check for unconnected messageblocks, unconnected messages and unconnected mailboxes.
By default, the checks run in a read-only mode, possibly prompting to make changes. Pass the -n option to respond no to any prompts. Pass the -y option to make read-write changes, responding yes to any prompts.
As DBMail matures and new features are added, additional check modes will be added. In addition, more prompts may be added for different situations where changes need to be committed to the database. We recommend using the -a option to run all checks and using the -n and -y options if you expect no prompts.
Perform all checks listed below. This option will be kept up-to-date with additional checks available in future versions.
Clean up unlinked message entries.
Test for message integrity.
Null message check.
Check and rebuild the body/header/envelope cache tables.
Purge messages with DELETE status. To purge messages currently marked \Deleted, run with the -pd options twice. This is not recommended; it is better to leave a grace period for old messages before permanently wiping them from the database.
Set DELETE status for messages flagged \Deleted by IMAP or POP3.
Remove dangling/invalid aliases and forwards.
Clear the reply cache used for autoreplies and Sieve vacations. The time is specified as <hours>h<minutes>m (don't include the angle brackets, though!).
Clear the IP log used for IMAP/POP-before-SMTP. The time is specified as <hours>h<minutes>m (don't include the angle brackets, though!).
Show the intended repairs without making any changes, i.e. no to all.
Perform all repair actions , i.e. yes to all.
Enter an interactive user management console in some future version where this feature is implemented. It is not currently available.
Specify an alternate config file. The utilities are currently hardcoded to use /etc/dbmail.conf for their configs, and will halt if the config file cannot be found. Use the -f configfile option to specify your system's preferred config file location.
Quietly skip interactive prompts and helpful status messages which would otherwise be printed to stdout. Use two -q's to silence errors which would otherwise be printed to stderr.
Operate verbosely. Some of the utilities in the DBMail suite can take two -v's for extra verbosity. Those which don't understand this convention won't complain about having the extra -v and will simply operate at their normal verbosity.
Show the version and copyright, then exit.
Show a brief summary of options, then exit.
Returns 3 when errors are found but could not be fixed due to failure, 2 when errors are found but -y was not provided or -n was provided, 1 when errors are found and fixed successfully, 0 when no errors are found.
After upgrading from DBMail 2.0, run this command to populate the cache tables:
To set all messages flagged \Deleted to the DELETE status, and to permanently purge all messages previously set to DELETE status:
To get a listing of the changes that would be performed for all actions:
To remove all IP log entries more than three days old:
dbmail-util -l 72h -y
If you experience inexplicable problems with DBMail, please report the issue to the DBMail Bug Tracker.
DBMail and its components are distributed under the terms of the GNU General Public License. Copyrights are held variously by the authors listed below.
DBMail is a collaborative effort among the core developers listed below and the tremendous help of the testers, patchers and bug hunters listed in the AUTHORS and THANKS files found in the DBMail source distribution.