I'm working on an email client for iOS. Currently I'm using MailCore for IMAP/SMTP interactions. I'm currently working on getting message previews for the inbox view. The only way I can think to do this would be to actually fetch the whole message body (only body for speed) from the server, and then display only a portion of the message. But then I would have to download the whole message again (this time all headers, etc) when the user opens the message. This seems a bit inefficient to me, but I can't figure out another way to approach this. I've considered just downloading the entirety of each message to begin with, but that seems like an abuse of user's mobile data, and it would be slower to populate the inbox with previews. Any thoughts on how to approach message previews?
Also, for the purposes of this question, assume that the message sender name, date, subject and flags are already loaded on the device.
there exists a raw fetch command but am not sure if there exists any wrapper api on top it.
FETCH 2 (BODY[]<0.size>)
for example if you want to fetch first 100 bytes of mail then you can fire a command as
FETCH 2 (BODY[]<0.100>)