Event Reasons

New in version v2.3.18.

List of “reason_code” values that used by events. The reason codes are always in <module>:<name> format.


  • storage:autoexpunge - Mails are being autoexpunged

  • storage:mailbox_list_rebuild - Mailbox list index is being rebuilt

  • mdbox:rebuild - mdbox storage is being rebuilt


  • mailbox:create - Mailbox is being created

  • mailbox:update - Mailbox metadata is being updated (e.g. doveadm mailbox update)

  • mailbox:rename - Mailbox is being renamed

  • mailbox:delete - Mailbox is being deleted

  • mailbox:subscribe - Mailbox is being subscribed

  • mailbox:unsubscribe - Mailbox is being unsubscribed

  • mailbox:search - Mails are being accessed due to search query

  • mailbox:sort - Mails are being sorted (IMAP SORT)

  • mailbox:thread - Threading is being built for mails (IMAP THREAD)

  • mailbox:vsize - mailbox vsize is requested or updated


  • mail:virtual_size - Mail’s virtual size

  • mail:physical_size - Mail’s physical size

  • mail:snippet - Message snippet / IMAP PREVIEW

  • mail:prefetch - Mail is being prefetched for some purpose. The other reasons may give further details why.

  • mail:header_fields - A specified list of headers. These are normally expected to be returned from cache.

  • mail:attachment_keywords - $HasAttachment or $HasNoAttachment keyword is being generated.

  • mail:mime_parts - MIME part structure

  • mail:date - Date header

  • mail:received_date - Received date / IMAP INTERNALDATE

  • mail:save_date - Save date

  • mail:storage_id - Internal storage ID (e.g. obox object ID)

  • mail:imap_envelope - IMAP ENVELOPE

  • mail:imap_bodystructure - IMAP BODY / BODYSTRUCTURE

  • mail:pop3_uidl - POP3 UIDL

  • mail:pop3_order - POP3 message order

  • mail:guid - GUID

  • mail:refcount - Message’s reference count, if supported by storage driver. For example based on hard link count.

  • mail:refcount_id - Unique ID identifying that the refcount is counting. For example file’s inode number.


  • imap:notify_update - The active NOTIFY command is sending updates to client

  • imap:unhibernate - IMAP client is being unhibernated

  • imap:cmd_<name> - IMAP command is being run

  • imap:fetch_body - A part of the message body is explicitly being fetched. If set, any other imap:fetch_* reasons aren’t set since this alone is a reason for opening the mail.

  • imap:fetch_header - The full header (except maybe some listed headers) are being fetched. If set, any other imap:fetch_* reasons aren’t set since this alone is a reason for opening the mail.

  • imap:fetch_header_fields - Specific header fields are being fetched. These should normally come from cache.

  • imap:fetch_bodystructure - IMAP BODY or BODYSTRUCTURE is being fetched. These should normally come from cache.

  • imap:fetch_size - RFC822.SIZE is being fetched. This should normally come from cache.


  • pop3:initialize - POP3 mailbox is being opened

  • pop3:cmd_<command name> - POP3 command is being run


  • doveadm:cmd_<name> - doveadm command is being run


  • lmtp:cmd_mail - MAIL command is being run

  • lmtp:cmd_rcpt - RCPT command is being run

  • lmtp:cmd_data - DATA command is being run


  • submission:cmd_mail - MAIL command is being run

  • submission:cmd_rcpt - RCPT command is being run

  • submission:cmd_data - DATA command is being run


  • indexer:index_mailbox - Mailbox is being indexed


  • metacache_worker:cmd_<name> - metacache-worker is running a command

  • obox:mailbox_rescan - Mailbox is being rescanned when opening

  • obox:mailbox_rebuild - Mailbox index is being rebuilt when opening

  • obox:mailbox_uids_non_reproducible - Mailbox index bundle is being uploaded to make sure UIDs don’t change unexpectedly.

  • metacache:upload_important - Important metacache changes are being uploaded

  • metacache:upload_all - All metacache changes are being uploaded

  • metacache:upload_root - User’s root metacache is being uploaded

  • metacache:upload_mailbox - Mailbox’s metacache is being uploaded

  • metacache:flush_all_changed - All the changes in metacache are being uploaded due to doveadm metacache flushall

  • metacache:flush_all_important - All the important changes in metacache are being uploaded due to doveadm metacache flushall -i

  • metacache:flush_bg_important - Important changes for a user in metacache are being uploaded due to background uploader.

  • obox:mail_metadata_fill - Filling metadata after mail stream was read. This shouldn’t cause any additional IO.

  • obox:mail_metadata_<name> - Mail metadata with specified name requested.

Other plugins

  • virtual:config_read - virtual plugin mailbox configuration is being read. This may cause mailbox metadata to be accessed.

  • trash:clean - trash plugin cleaning space

  • quota:count - quota plugin is counting the mailbox’s full size. This is normal with quota=count driver. Also quota=dict uses it for the initial mailbox calculation.

  • quota:recalculate - Quota is being recalculated (e.g. doveadm quota recalc)

  • pop3_migration:uidl_sync - pop3_migration plugin matching IMAP and POP3 mails.

  • lazy_expunge:expunge - lazy_expunge plugin is handling an expunge. Use for checking the refcount and for actually doing the lazy_expunge move.

  • fts:lookup - Searching is accessing full text search index.

  • fts:index - Message is being added to the full text search index. Note that this reason won’t be used for email opening events, because the emails are already opened by the indexer precache searching code. So usually the indexer:index_mailbox reason is what is wanted to be used.