我即將將IMAP電子郵件整合添加到我們的一個Web應用程序(ASP.NET/SQL Server)中。我已經在使用一個commercial library,其中顯示了最重要的IMAP功能:獲取文件夾列表,獲取郵件標題,獲取MIME消息等。)IMAP文件夾/消息同步策略?
從IMAP服務器獲取電子郵件數據「實時」效果很好。但是這裏有一個困難的任務:我必須保持電子郵件/文件夾緩存SQL數據庫同步到IMAP服務器(我必須顯示數據應用不同的標準)。
我們的數據庫模式基本上包含一個「文件夾」和一個「電子郵件」表。 「電子郵件」表主要包含諸如「FromAddress」,「FromName」,「IsRead」,「IsAnswered」,「IsForwarded」,「HasAttachments」等標題信息(沒有電子郵件內容或附件)。
我要考慮兩個主要場景:
- 獲得的所有消息在第一時間(或在用戶重新組織文件夾)
- 獲得新/最近的消息
什麼將保持郵件服務器和數據庫服務器保持最新,這是一個很好的同步策略,考慮到性能是一個主要的設計標準(我不能每次連接時都要查詢/比較數千條消息,以便發現如果用戶移動或刪除那麼我的舊電子郵件)。
謝謝!
很好的答案,謝謝。我想我必須重新訪問IMAP組件/協議的功能。 – splattne 2009-03-03 07:40:56