FoxMail中的是采取什么方法将接收到的所有邮件保存在一个文件之中(50分)

  • 主题发起人 主题发起人 冰凌
  • 开始时间 开始时间
保存文件难道还有什么特别的方法吗?
 
FoxMail的邮件是在mail下的*.box文件里吧
直接存的是邮件原始报文,每个报文之间似乎用
7个10和6个11隔开的。
 
它采用的是自己的文件格式,你也可以建立自己的文件格式
 
我是问其采用什么方法对邮件进行存取的。
 
邮件的格式就是文本的啊!!!!!!用文本直接读取和保存就可以了
 
1)和邮件服务器交互得到邮件报文
2)按格式解码
3)按自己定义的格式保存文件
 
那为什么要将多个邮件保存在一个文件中,一个邮件保存为一个文件有什么不妥?
 
其实主要看你自己编程的要求了,foxmail是把多个邮件保存在一个文件中,虽然后缀不是
txt但是里面内容一样是文本的邮件和邮件之间用特殊的符号隔开。
不过我也看过很多邮件服务器软件则是采用每个用户建一个文件夹,邮件存在相应的文件
夹下独立成一个文件,这样用户信息可以由文件夹的信息获得,上面的也许就是存在注册
表或者是某个文件里了。
 
>>那为什么要将多个邮件保存在一个文件中,一个邮件保存为一个文件有什么不妥?
如果每封信小于一个簇的大小,比较浪费空间
 
很遗憾,我要收回分了。
 
有100封就有100个文件,好多人都是一堆邮件的,不是吗?起码我是。
 
其实就是简单的记录文件。
你可以自己定义记录
 
我写过一个很FOXMAIL一样的电子邮件软件。

将多个邮件保存在一个文件里的目的主要是为了好管理邮件。
比如排序、搜索,另外可以减少对DISK的读取,减少文件I/O。
否则你一个邮箱如果有几千封信岂不是在打开一个邮箱的时候
要存取文件文件几千次?另外,对于邮箱、信件的安全性也比
较好控制。
 
京工之鸟说得对,如果一个目录下有N千个文件那么打开目录时你会
发现很慢,而且文件个数越多,则用的空间也越多(只要是簇的原因)
我觉得OE除了容量被病毒利用外没有什么缺点,FOXMAIL没什么特别的
 
京工之鸟用的方法比较好,请问能不能具体说一下你是如何在一个文件中进行排序,
取出指定的邮件体文件,还有你是什么处理邮件头列表的。
 
:)同意大家的看法,应该是用自定义的结构
 
多人接受答案了。
 
后退
顶部