Storage is cheap: save the original, raw eml bytes you received from Imap.GetMessageByUID
or Pop3.GetMssageByUID
. This way you always have the original data if you need to extract more information from it.
Then, depending on your needs, save what your application requires to work fast.
Most likely those will be common properties like from, to, subject, message text and html, attachment names.
If you want more data you can always retrieve eml and parse it using MailBuilder
class.