From 85fd56f6f150dba0d74859a9d5e00f16d6b33955 Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Sat, 12 Mar 2016 22:14:39 +0100 Subject: Net::IMAP::InterIMAP, interimap: Add support for IMAP NOTIFY [RFC 5465]. Unsollicited LIST responses are currently ignored, hence interimap won't detect mailbox creation/deletion/subcription/unsubscription. --- interimap.md | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'interimap.md') diff --git a/interimap.md b/interimap.md index 2d783a8..0632363 100644 --- a/interimap.md +++ b/interimap.md @@ -19,8 +19,8 @@ Description servers. Such synchronization is made possible by the [`QRESYNC` IMAP extension][RFC 7162]; for convenience reasons servers must also support -the [`LIST-EXTENDED`][RFC 5258], [`LIST-STATUS`][RFC 5819] and -[`UIDPLUS`][RFC 4315] IMAP extensions. +the [`LIST-EXTENDED`][RFC 5258], [`LIST-STATUS`][RFC 5819] (or +[`NOTIFY`][RFC 5465]) and [`UIDPLUS`][RFC 4315] IMAP extensions. See also the **[supported extensions](#supported-extensions)** section below. @@ -152,10 +152,22 @@ Options `--watch`[`=`*seconds*] : Don't exit after a successful synchronization. Instead, keep - synchronizing forever. Sleep for the given number of *seconds* (1 - minute by default) between two synchronizations. - Setting this options enables `SO_KEEPALIVE` on the socket for - *type*s other than `tunnel`. + synchronizing forever. Sleep for the given number of *seconds* (by + default 1 minute if `--notify` is unset, and 15 minutes if + `--notify` is set) between two synchronizations. Setting this + options enables `SO_KEEPALIVE` on the socket for *type*s other than + `tunnel`. + +`--notify` + +: Wether to use the [IMAP `NOTIFY` extension][RFC 5465] to instruct + the server to automatically send updates to the client. (Both local + and remote servers must support [RFC 5465] for this to work.) + This greatly reduces IMAP traffic since `interimap` can rely on + server notifications instead of manually polling for updates. + If the connection remains idle for 15 minutes (configurable with + `--watch`), then `interimap` sends a `NOOP` command to avoid being + logged out for inactivity. `-q`, `--quiet` @@ -369,6 +381,7 @@ the [IMAP4rev1 protocol][RFC 3501]: * LITERAL+ ([RFC 2088], recommended); * MULTIAPPEND ([RFC 3502], recommended); * COMPRESS=DEFLATE ([RFC 4978], recommended); + * NOTIFY ([RFC 5465], recommended); * SASL-IR ([RFC 4959]); and * UNSELECT ([RFC 3691]). @@ -440,6 +453,9 @@ Standards * B. Leiba and A. Melnikov, _Internet Message Access Protocol version 4 - LIST Command Extensions_, [RFC 5258], June 2008. + * A. Gulbrandsen, C. King and A. Melnikov, + _The IMAP NOTIFY Extension_, + [RFC 5465], February 2009 * A. Melnikov and T. Sirainen, _IMAP4 Extension for Returning STATUS Information in Extended LIST_, [RFC 5819], March 2010. @@ -468,6 +484,7 @@ Standards [RFC 3691]: https://tools.ietf.org/html/rfc3691 [RFC 6851]: https://tools.ietf.org/html/rfc6851 [RFC 5161]: https://tools.ietf.org/html/rfc5161 +[RFC 5465]: https://tools.ietf.org/html/rfc5465 [INI file]: https://en.wikipedia.org/wiki/INI_file [PCRE]: https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions -- cgit v1.2.3