[Dovecot] Thinking Outside the Box - Extending IMAP

Timo Sirainen tss at iki.fi
Sun May 13 22:32:48 EEST 2007

On Sun, 2007-05-13 at 06:55 -0700, Marc Perkel wrote:
> IMAP establishes a connection between the client and the server. 
> Wouldn't it be great if it could be a conduit to let custom Thunderbird 
> plugins talk to custom server application over the IMAP interface? For 
> example, personalized server settings. Suppose for example I want 
> Thunderbird to edit my server side white lists or black lists or any 
> other setting? Wouldn't it be nice if IMAP supported these changes? The 
> connection is made. It's a secure connection that's been authenticated. 
> Lets use it!
> Here's my initial thoughts on this. Suppose we extended IMAP to include 
> an EXECUTE command as follows:
> EXECUTE command parameter, parameter ....

I think this could be done in almost standard way with METADATA
(http://www.ietf.org/internet-drafts/draft-daboo-imap-annotatemore-11.txt). It allows setting and getting any key=value pairs in the server (also for mailboxes). Then you could have a Dovecot plugin that listens for some specific keys and handles them in whatever way you want.

> 100 execute blacklist add joe at smith.com
> 100 ok

METADATA doesn't really support adding/removing, but it could be kludged
something like this:

1 setmetadata "" "/x-blacklist/joe at smith.com" (value.priv "1")

Although the joe at smith.com can't contain "*" or "%" characters. If
that's needed then the string could be base64 encoded. Or the address
could be in the value and the key would contain some kind of a unique

Listing blacklist would work like:

1 getmetadata "/x-blacklist/* value.priv"

Anyway all of this would mean that if client implements a standard
METADATA browser you could edit these kinds of lists without any special
support from the client.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20070513/26471e8e/attachment.pgp 

More information about the dovecot mailing list