如何存储邮件客户端的邮件信息

时间:2010-09-04 17:41:51

标签: database performance imap

我正在为电子邮件客户端开展一个侧面项目。我正在使用库来处理从服务器检索消息。但是,我有一个关于缓存的问题。

每次加载客户端时,我都不想获取整个标题列表。理想情况下,我想要做的就是缓存它们,然后用服务器上的内容更新列表。

最好的方法是什么?我应该将所有标头信息(包括服务器的消息ID#)存储在数据库中,从该DB加载标头。然后作为后台任务与服务器同步...

或者有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

查看使用本地缓存的这个开源项目的webmail示例:

http://mailsystem.codeplex.com/

如果我记得很清楚,他会使用本地RFC822纯文本电子邮件的组合,其中包含消息ID作为文件名和带有高级数据的索引文件。

也许邮件本身压缩以节省磁盘空间。

这只是图书馆的一个示例,所以不要指望代码艺术,但这是一个开始。