I just implemented partial message retrieval (only receiving the message of an E-mail, not the attachments) for POP in tinymail. This was an uncertainty that I had with some of the Nokia requirements: In contrast with IMAP is POP3 really a dumb protocol that knows nothing about MIME parts. Yet I succeeded in actually implementing this. Next to summary support in the camel-lite’s POP provider (which uses the TOP capability if that is available, most POP3 servers have this, and else it too uses this new partial message retrieval feature).
The summary of your E-mail client is only the basic information for viewing a summary of a folder. You obviously don’t need to receive all message data of all messages for that. That is what this summary support for POP3 is all about.
My technique, for partially retrieving messages from POP3, is to search for the boundary in the Content-Type header and storing that parameter. Once after the headers, the second time I find this boundary string I simply disconnect from the POP3 server, make sure the already retrieved message data is correctly written to the file system as cache and then I simply let the software reconnect once the next command is unleashed. I still need to add detecting whether a message is partially retrieved and retrieving it again in case the strategy for receiving messages has since switched.
For example say the user received it partially, but now learned that the message is interesting and would therefore like to fully receive it. Including the attachments. For that I need to add some administration code that stores the retrieval status of the message and makes the correct decisions based on that.
Nevertheless has the milestone be reached: partial message retrieval for at least IMAP and POP3. Both are now implemented. The IMAP one fully and the POP3 one, well in a few hours this will be 100% correct and fully working with retrieval status detection and code that gets it right.
Update: it’s implemented now
These are in my opinion important features for mobile and embedded that very few other smaller E-mail solutions implement. Done in such a way that it’s flexible for you, the application developer (strategy design pattern), to decide when and if partial retrieval is to be utilized.