[Dovecot] Thinking Outside the Box - Extending IMAP - EXECUTE

Marc Perkel marc at perkel.com
Sat May 19 17:06:51 EEST 2007

OK - many of you responded very positively to this idea and I'd really 
like to see it happen. My gut level feeling is that this wouldn't be too 
hard to get working. So I'm willing to kick in $500 to make it happen. 
And if any of you who like this idea agree then maybe others could 
pledge something.

If this works I'm going to find a Thunderbird programmer to write some 
simple plugins that will put up some buttons to send simple messages to 
a server to do a few simple things like one line messages to add or 
remove email addresses from white/black lists.

I believe this feature is the next big revolution in expanding email 
functionality and I'm willing to put some bucks behind making it happen. 
I'm not a rich guy but with my $500 maybe I can get someone interested. 
Maybe other will be willing to kick in a few dollars or euros to make it 


Andy Shellam wrote:
> I love this idea!  I know it wouldn't be part of the standard IMAP 
> specification, and you'd probably have to have an extra capability 
> such as CUSTOMEXECUTE or something in the IMAP capabilities, which 
> Thunderbird would have to look for before it allows the use of the 
> plugins.
> As you suggested, this would make it so much easier to create an 
> Exchange-style account with Thunderbird/other client software.
> Anyone else?
> Andy.
> Marc Perkel wrote:
>> Here's some thoughts I'd like to throw out there. I know it's not 
>> standard IMAP protocol but someone has to try new ideas first and I 
>> want to see what people (Timo) think of this.
>> 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 ....
>> On the server side is a config file that has the commands that 
>> execute will allow and what programs they run. When the execute 
>> command is seen by Dovecot then Dovecot runs the program in the list 
>> with the parameters passed. For example, suppose there is a command 
>> to add a user to a server side blacklist.
>> 100 execute blacklist add joe at smith.com
>> 100 ok
>> Dovecot would open a two way connection to the server application 
>> allowing the client to talk to any application that is configured and 
>> can send and receive text. The connection persists until the server 
>> end terminates or the client closes the connection.
>> With a tool like this one can write generic applications easily that 
>> would greatly expand what email clients can do interacting with the 
>> server. Not only can setting be changes but you could interact with 
>> server side calendars, pick up voice messages from phone systems, run 
>> any sort of groupware, all over a generic IMAP connection with this 
>> simple extension.
>> Example:
>> 100 EXECUTE calendar
>> 100 ok
>> 100 list schedule today 8:00 10:00
>> 100 8:00 make coffee
>> 100 9:00 meeting with boss
>> 100 9:30 Call Joe Blow at 415-555-1212
>> 100 ok
>> 100 quit
>> 100 ok
>> One thing I'd like to use it for is an outgoing SMTP connection to 
>> send outgoing email over IMAP. A session might look like this:
>> 999 EXECUTE smtp
>> 999 220 darwin.ctyme.com ESMTP Exim 4.67 Sun, 13 May 2007 06:52:26 -0700
>> 999 helo ctyme.com
>> 999 250 darwin.ctyme.com Hello localhost []
>> 999 mail from:marc at perkel.com
>> 999 250 OK
>> 999 rcpt to:dovecot at dovecot.org
>> 999 250 Accepted
>> ......
>> 999 quit
>> 999 OK
>> Who likes this idea?
>> !DSPAM:37,4647190f343946551815980!

More information about the dovecot mailing list