On UserLogout, the webmail extension tries to get an IMAPconnector object (which tries to connect with an IMAP server). When the configuration is invalid, this operation fails.
Catching exceptions on strategic places has solved the problems.
new: parameters module refactored. The API is more simple now, there is no need to provide a module name anymore, this last is automatically guessed. Also, a new 'label' field can be provide when declaring a new parameter. It will be used instead of the name.
new: email parsing refactored. My first attempt was really ugly. I did not really studied the various RFC describing how messages are formatted or what IMAP fetch queries can do. Now, I hope this new code will face better unknown types. At least, It will be simpler to update.
wip: #36, using tinyMCE (django-tinymce) to write messages in HTML. Currently, compose a new message is working pretty well. Answering or forwarding a message is still a mess...
Do a select on a mailbox with the readonly parameter == True is not a good idea if you are going to make changes inside this mailbox (like a store command)
Go back to passwords stored in session. This time, we use pycrypto to encrypt passwords using the AES algorithm.
http://www.dlitz.net/software/pycrypto/
IMAP connections are now refreshed.