This documentation is for Dovecot v2.x, see wiki1 for v1.x documentation.
Differences between revisions 12 and 13
Revision 12 as of 2017-09-20 13:26:42
Size: 1397
Editor: TimoSirainen
Comment:
Revision 13 as of 2017-09-20 13:28:00
Size: 1603
Editor: TimoSirainen
Comment:
Deletions are marked like this. Additions are marked like this.
Line 38: Line 38:
The matching SQL schema is:

{{{
CREATE TABLE mailbox_status (
  username VARCHAR(255) NOT NULL,
  mailbox VARCHAR(255) NOT NULL,
  status VARCHAR(255),
  PRIMARY KEY (username, mailbox)
);
}}}

notify_status plugin (v2.2.33+)

This plugin updates a dict every time a mailbox changes. The status can contain total message count and unseen count. It will update key priv/status/<mailbox name>. See Dictionary for how to configure dict.

Configuration

mail_plugins = $mail_plugins notify notify_status

plugin {
  notify_status_dict = <dict uri> # For example proxy:dict-async:notify_status

  # Value written to dict:
  #notify_status_value = {"messages":%%{messages},"unseen":%%{unseen}}

  # By default all mailboxes are added to dict. This can be limited with:
  #notify_status_mailbox = INBOX
  #notify_status_mailbox2 = pattern2/*
  #...
}

If SQL dict is used, you can use this map:

map {
  pattern = priv/status/$box
  table = mailbox_status
  value_field = status
  username_field = username

  fields {
    mailbox = $box
  }
}

The matching SQL schema is:

CREATE TABLE mailbox_status (
  username VARCHAR(255) NOT NULL,
  mailbox VARCHAR(255) NOT NULL,
  status VARCHAR(255),
  PRIMARY KEY (username, mailbox)
);

Supported fields

These fields can be used as %%{variables} in notify_status_value setting:

  • mailbox - name of mailbox
  • messages - n. of messages
  • unseen - n. unseen message
  • recent - n. recent messages (not accurate)
  • uidvalidity - current UID validity
  • uidnext - predicted next UID value
  • first_recent_uid - first recent UID
  • highest_modseq - higest modification sequence number
  • highest_pvt_modseq - highest private modification sequence number

None: Plugins/NotifyStatus (last edited 2019-05-08 11:22:46 by TimoSirainen)