Я собираюсь добавить Интеграция электронной почты IMAP в одно из наших веб-приложений (ASP.NET/SQL Server). Я уже использую commercial library, который предоставляет наиболее важные функции IMAP: получить список папок, получить заголовки сообщений, получить сообщение mime и т. Д.)IMAP папка/стратегия синхронизации сообщений?
Получение данных электронной почты «вживую» с сервера IMAP работает очень хорошо. Но вот сложная задача: мне нужно сохранить электронную почту/папки , кэшируя базу данных SQL, синхронизированную с сервером IMAP (я должен показывать данные, применяющие разные критерии).
Наша схема базы данных содержит, по существу, таблицу «Папки» и «Электронная почта». В таблице «Электронная почта» содержатся, главным образом, заголовок, например «FromAddress», «FromName», «IsRead», «IsAnswered», «IsForwarded», «HasAttachments» и т. Д. (без содержимого электронной почты или вложений).
я должен рассмотреть два основных сценария:
- Получение всех сообщений, в первый раз (или после того, как пользователь реорганизована папки)
- Получение новых/последних сообщений
Что была бы хорошей стратегией синхронизации для поддержания обновления почтового сервера и сервера баз данных, учитывая, что производительность является основным критерием разработки (я не могу просто запрашивать или сравнивать тысячи сообщений каждый раз, когда я подключаюсь, чтобы узнать если пользователь перемещен или удален мне старые письма).
Спасибо!
Хороший ответ, спасибо. Я думаю, что мне нужно повторно посетить возможности IMAP-компонента/протокола. – splattne