关于Cemail.vol 文件

来源:互联网 发布:淘宝店铺现状分析 编辑:程序博客网 时间:2024/05/18 15:03

Cemail.vol 中 有:

1.pmailFolders 文件夹的表用于指定inbox ,outbox ,draft等各种邮件的文件夹!

2  pmailMsgs,它是邮件与文件夹的关联中介,也是附件与邮件的关联中介,是整个邮件系统的关联体,存储邮件与文件夹的关系!

3.pmailMsgClasses 该表存储了邮件的类型名( 如 IPM。Note指一般的邮件,      IPM。Shedule.Meeting 指通知类邮件等等!)

4.pmailNamedProps  作用未知!

5  pmailAttachs     存储附件与pmailMsgs的关系以及附件的一些信息!

6.fldr3100001d     收件箱,存储了邮件与pmailMsgs 的关系,与 pmailMsgClasses的关系,以及邮件的一些信息(时间,收件人,发件人,时间等)!

7.fldr31000020     Deleted Items

等等fldr。。表都是根据pmailFolders建立


添加一封邮件

注:每条记录的0x8001写的是记录自己的CEOID!

1.     在pmailFolders中找存放邮件的文件夹,获取文件夹记录的0x8001和0x8005两个字段的值  ,0x8001是文件夹记录的CEOID,0x8005是根目录的CEOID!

2.     在pmailMsgs中建立一条记录,把pmailFolders中获得的0x8001和0x8005两个字段的CEOID分别写到pmailMsgs中的0x0e09和 0x8011两个字段中

3.   同时在对应的文件夹中生成一条记录,比如,如果是inbox中收到的邮件,那就是在对应的fldr3100001d表中生成一条新的记录,记录包含了邮件的收件人,发件人,时间等内容!

4.        fldr3100001d中0x001a 字段需要根据邮件的类型在pmailMsgClasses 中寻找相应的类型(pmailMsgClasses的0x8300字段保存了类型),比如普通邮件的类型为IPM。Note,找到后把类型记录的CEOID值写入fldr3100001d的0x001a 字段中。这时的邮件记录就具有了邮件的所有属性!

5.      再把pmailMsgs的0x8006字段更新为fldr3100001d中该邮件记录CEOID值,把 fldr3100001d 的0x8005字段更新为 pmailMsgs中刚生成的记录CEOID值。相当与两个表中同时生成的两个记录相互存储彼此的CEOID值。这样邮件和文件夹就形成了关联。

     6.   根据pmailMsgs这条记录找到fldr3100001d中对应的记录如果发现fldr3100001d中的  0x0e1b字段为1的话,就在pmailAttachs中建立一条记录把pmailMsgs 中记录的CEOID值 写入0x8100 字段中,这条记录保存附件的信息,同时由于pmailMsgs中记录的写入使得附件和邮件关联了起来。

收到一封邮件的过程也就结束了,这时邮件和附件,文件夹形成了关联!!


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Leroy_xie/archive/2007/08/09/1734986.aspx

 

 

原创粉丝点击