Tinymail as an E-mail framework for web applications
The idea is that, with language bindings like the ones for Python and future ones for.NET (ASP.NET) and PHP, tinymail could be used in web applications for accessing for example IMAP services. A lot of embedded devices don't have a screen but do have an user interface via a web application. Think about how many routers give the user an user interface. This, of course, doesn't mean that routers are per definition a target for tinymail. But routers aren't the only embedded devices that need a user interface. For example the people at the One Laptop Per Child project are thinking about using tinymail in a small local web server and serving web pages when the kids want to read their E-mail.
The requirements for such a framework almost equal the requirements for a framework for embedded and mobile devices. It shouldn't consume a lot of memory (because the apache process would grow significantly in memory) yadi yada.
A different requirement is the possibility to use the framework without a state. This means that instances are destroyed each page-view (unless you keep them in a session). The fast and easy restoring of the state is therefore a requirement.
Something that isn't possible (or shouldn't be exposed) are per-process singletons: one apache process will probably serve multiple clients.
All this means that there's indeed a little bit of extra refactoring and redesigning needed.
A plan is to talk with developers of Horde, Roundcube, Hula, etcetera about what the requirements for something like this are.
Current ideas
- easy accounts without account-store (stuff like imap://user:password@hostname strings in the constructor of a account proxy type or factory)
- get_folder by string id
- get headers x to y (the 200 first headers, the headers between nr 400 and 300, etc etc)
- maybe like the TnyFolderStoreQuery and TnyFolderStoreIface API?
- get message by folder string id plus message string id
