Некоторые обычные почтовые клиенты электронной почты загружают электронные письма заранее и сохраняют их локально, чтобы они могли отображаться более быстро для пользователя (и по другим практическим причинам, связанным с поиском и даже навигацией, как вы упомянули).
Другие загружают только заголовки (достаточно, чтобы отображать список писем в папке), а затем загружать все тело только по запросу (когда пользователь открывает электронное письмо в списке). В конце концов, это просто компромисс, и вы должны увидеть, что лучше всего работает в вашем сценарии.
Лично я думаю, что загрузка всех электронных писем в папке с самого начала является излишним, и я видел, как клиенты застряли в течение нескольких часов, загружая электронные письма для особо больших папок. Хорошим вариантом было бы отображать достаточно, чтобы отображать оконную информацию и получать остальное, когда пользователь прокручивается вниз - но это не так, чтобы реализовать. Во всяком случае, IMAP4 Implementation Recommendations научит вас нескольким трюкам, чтобы оптимизировать связь с сервером и избежать многих распространенных ошибок, встречающихся у более популярных настольных клиентов.
Если вы беспокоитесь о том, что ваша база данных растет, вы можете сохранить только метаинформацию в базе данных и сохранить сами электронные письма в файловой системе (например, сохранить их в файлах .eml). Опять же, лучшее решение может варьироваться в зависимости от вашего конкретного контекста.
MailSystem.NET - это инструмент для подключения к серверам с поддержкой POp/IMPA и доступа к электронной почте. У меня уже есть эта функциональность. Мой вопрос - что делать с полученными электронными письмами? Хранить только заголовки или всего тела в локальной базе данных? Каковы лучшие практики для веб-клиентов IMAP? –
Я бы спросил у пользователя, хочет ли он хранить электронные письма на сервере или загружать их целиком из космоса. Если вы не хотите такую функциональность, вы можете сохранить всю электронную почту локально, но не удалять электронные письма на сервере. –