notify_status plugin¶
New in version 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:
- username - Username (user@domain)
- 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