如何实现一个邮件客户端的收件箱功能

panan 2001-05-23 11:46:00
储存接收到的Email,如何设计Email文件存储结构?
如何设计对外提供操作Email的API接口?
...全文
137 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
狐帝 2001-05-23
  • 打赏
  • 举报
回复
这个问题,好像我以前回答过。找不到了,再说一遍吧。

E-mail收件箱文件的存储结构有两种,一种是单文件式存储,就是把所有的邮件都存放到一个单一的文件中,像是建立了一个数据库一样,利用一个索引文件指示每个邮件在邮箱中的位置。Foxmail、Outlook等大多数邮件软件都采用这种策略。另一种方式是文件夹方式,就是为每个信箱建立一个文件夹,信箱中的所有邮件都放在这个文件夹中。前些年又一个挺不错的方正飞扬e-mail软件,就是采用这种方式。

两种方式各有利弊。前者结构紧凑,但是程序设计不大方便,要仔细考虑邮箱文件的结构。后者结构松散,实现容易,但是会占用较多的空间。前者在删除邮箱中的邮件之后,除非执行压缩操作,否则邮件并不会被物理删除,会导致磁盘空间的浪费(程序中如何执行压缩操作,又是个讨厌的问题)。后者在删除邮箱文件之后,邮件文件会被直接清除,不会浪费空间。前者文件少,按理应该便于管理,但是邮箱的备份程序写起来比较麻烦。后者在实现备份邮件的功能上会很简单的。

我倾向于使用后者。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧