imapserver: implement NOTIFY extension from RFC 5465

NOTIFY is like IDLE, but where IDLE watches just the selected mailbox, NOTIFY
can watch all mailboxes. With NOTIFY, a client can also ask a server to
immediately return configurable fetch attributes for new messages, e.g. a
message preview, certain header fields, or simply the entire message.

Mild testing with evolution and fairemail.
This commit is contained in:
Mechiel Lukkien
2025-04-07 23:21:03 +02:00
parent 5a7d5fce98
commit 8bab38eac4
30 changed files with 1926 additions and 161 deletions

View File

@ -2849,6 +2849,20 @@
"string"
]
},
{
"Name": "MessageCountIMAP",
"Docs": "For IMAP NOTIFY.",
"Typewords": [
"uint32"
]
},
{
"Name": "Unseen",
"Docs": "",
"Typewords": [
"uint32"
]
},
{
"Name": "MessageItems",
"Docs": "",
@ -2968,6 +2982,27 @@
"[]",
"int64"
]
},
{
"Name": "UIDNext",
"Docs": "For IMAP NOTIFY.",
"Typewords": [
"UID"
]
},
{
"Name": "MessageCountIMAP",
"Docs": "",
"Typewords": [
"uint32"
]
},
{
"Name": "Unseen",
"Docs": "",
"Typewords": [
"uint32"
]
}
]
},
@ -3017,6 +3052,20 @@
"[]",
"string"
]
},
{
"Name": "UIDValidity",
"Docs": "For IMAP NOTIFY.",
"Typewords": [
"uint32"
]
},
{
"Name": "Unseen",
"Docs": "",
"Typewords": [
"uint32"
]
}
]
},