MBOX-Line: From tss at iki.fi  Tue May  3 02:32:26 2011
To: imap-protocol@u.washington.edu
From: Timo Sirainen <tss@iki.fi>
Date: Fri Jun  8 12:34:45 2018
Subject: [Imap-protocol] Looking for help implementing an IMAP-to-HTTP
	gateway for web app developers
In-Reply-To: <7D2A9AA5-CC8F-4C8A-A917-4E242E7BCE12@gmail.com>
References: <7D2A9AA5-CC8F-4C8A-A917-4E242E7BCE12@gmail.com>
Message-ID: <A82B4263-905D-43D1-B519-147818BF2CB6@iki.fi>

Like Mark said, there needs to be some state kept. I didn't really understand how complex solution you wanted, but if you basically just want to map some specific HTTP URLs to IMAP UIDs, one possibility would be to keep a map of IMAP UID = ( URL, HASH(URL content) ). If the content changes, you need to give it a new IMAP UID. The IMAP server can then locally preserve other state, like message flags.

It's also not an easy task to write any kind of a standards compliant IMAP server, so you really should build it on top of something that already exists. I will of course recommend Dovecot. :) You can easily add all kinds of mail backends as plugins to it.


