summaryrefslogtreecommitdiffstats
path: root/doc/wiki/Plugins.NotifyStatus.txt
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 17:36:47 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 17:36:47 +0000
commit0441d265f2bb9da249c7abf333f0f771fadb4ab5 (patch)
tree3f3789daa2f6db22da6e55e92bee0062a7d613fe /doc/wiki/Plugins.NotifyStatus.txt
parentInitial commit. (diff)
downloaddovecot-0441d265f2bb9da249c7abf333f0f771fadb4ab5.tar.xz
dovecot-0441d265f2bb9da249c7abf333f0f771fadb4ab5.zip
Adding upstream version 1:2.3.21+dfsg1.upstream/1%2.3.21+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/wiki/Plugins.NotifyStatus.txt')
-rw-r--r--doc/wiki/Plugins.NotifyStatus.txt69
1 files changed, 69 insertions, 0 deletions
diff --git a/doc/wiki/Plugins.NotifyStatus.txt b/doc/wiki/Plugins.NotifyStatus.txt
new file mode 100644
index 0000000..2fbce16
--- /dev/null
+++ b/doc/wiki/Plugins.NotifyStatus.txt
@@ -0,0 +1,69 @@
+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.txt> 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
+
+(This file was created from the wiki on 2019-06-19 12:42)