This documentation is for Dovecot v1.x, see wiki2 for v2.x documentation.

Mail logger plugin

This plugin exists in Dovecot v1.0rc18 and later. It logs several actions done in the mail session:

Messages' UID and Message-ID header is logged for each action. Here's an example:

imap(user): copy -> Trash: uid=908, msgid=<>
imap(user): deleted: uid=908, msgid=<>
imap(user): expunged: uid=908, msgid=<>

You can enable the plugin by setting:

# Disable log throttling, see below.
mail_log_max_lines_per_sec = 0

protocol imap {
  mail_plugins = mail_log

By default Dovecot limits how much each process can log to avoid a broken process flooding the log file and using up all the disk space. This is done by allowing the process to log only n messages per second. If it tries to log more often, then the logging is throttled and eventually the child process will block while trying to write to log file descriptor. mail_log plugin however logs a lot, so it's incompatible with the log throttling feature. This is why you should set mail_log_max_lines_per_sec = 0 to disable it.


Since v1.1+ you can configure what and how mail_log plugin logs:

plugin {
  # Events to log. Also available in v1.2+: flag_change append
  mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename

  # Group events within a transaction to one line.
  mail_log_group_events = 

  # Available in v1.1+: uid, box, msgid, size, vsize
  # Available in v1.2+: from, subject, flags
  mail_log_fields = uid box msgid size

Log grouping allows grouping multiple changes to one line. Only uid, size and vsize fields are logged in a grouped event. The sizes are the summed up sizes of the mails.

None: Plugins/MailLog (last edited 2009-03-15 22:35:25 by localhost)