none
数据库cmail.vol的问题 RRS feed

  • 问题

  • 下面是列举出来的cmail.vol的数据库,哪位高手指教一下每个数据库都是存放的什么内容,越详细越好,3Q!
    Volume  5 : \Storage\cemail.vol
    GUID is 8CAF0001-652D0098-08E35CCD-576D6963

        Database  1 : fldr3100001b
        Database  2 : fldr31000023
        Database  3 : fldr31000025
        Database  4 : pmailAttachs
        Database  5 : fldr31000021
        Database  6 : fldr32000020
        Database  7 : fldr31000017
        Database  8 : fldr31000024
        Database  9 : fldr31000022
        Database  10 : pmailNamedProps
        Database  11 : pmailMsgClasses
        Database  12 : pmailServices
        Database  13 : pmailOldTables
        Database  14 : pmailMsgs
        Database  15 : pmailFolders

    2008年11月19日 1:20

答案

  •  

    1pmailFolders 文件夹的表用于指定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中记录的写入使得附件和邮件关联了起来。

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

    2008年11月20日 7:54

全部回复

  •  

    oid 0d001ac8: dbase F00000017 T00000000    3    968 ... 'fldr1001adf'                ORDERING: 0e060040:00000000 0c1a001f:00000002 0037001f:00000002 00090013:00000000
    oid 02001af0: dbase F00000017 T00000000    0    272 ... 'fldr1001ae2'                ORDERING: 0e060040:00000000 0c1a001f:00000002 0037001f:00000002 00090013:00000000
    oid 02001ae7: dbase F00000017 T00000000    0    272 ... 'fldr1001a4b'                ORDERING: 0e060040:00000000 0c1a001f:00000002 0037001f:00000002 00090013:00000000
    oid 00001a53: dbase F00000017 T000352e0    0    272 ... '\MetabaseOptions'           ORDERING: 00000013:00000000
    oid 01001a24: dbase F00000017 T000352e0    0    272 ... '\MetabaseLabels'            ORDERING: 00000013:00000000
    oid 01001a44: dbase F00000017 T00000000    7    732 ... 'pmailNamedProps'            ORDERING: 8300001f:00000000
    oid 01001a41: dbase F00000017 T00000000    3    428 ... 'pmailMsgClasses'            ORDERING: 8300001f:00000000
    oid 00001a3e: dbase F00000017 T00000000    3    416 ... 'pmailServices'              ORDERING: 8300001f:00000000
    oid 00001a39: dbase F00000017 T00000000    3    452 ... 'pmailMsgs'                  ORDERING: 800c001f:00000000 0e090013:00000000
    oid 00001a36: dbase F00000017 T00000000   14   1576 ... 'pmailFolders'               ORDERING: 3001001f:00000002 0e090013:00000000
    oid 00001a1e: dbase F00000017 T00000000   12    628 ... 'Status Store'               ORDERING: 00010013:00000000
    oid 01001100: dbase F00000017 T00000000    2    504 ... 'DB_notify_queue'            ORDERING: 00010040:00000000
    oid 000017aa: dbase F00000017 T00000000    6    808 ... 'clog.db'                    ORDERING: 00020040:00000001
    oid 000017a8: dbase F00000017 T00000040    1    436 ... 'speed.db'                   ORDERING: 00020002:00000000
    oid 000017a2: dbase F00000017 T0000001b    2    392 ... '\Categories Database'       ORDERING: 4001001f:00000002 40020002:00000002 40030002:00000002
    oid 0000179e: dbase F00000017 T00000018    0    272 ... 'Contacts Database'          ORDERING: 4013001f:00000002 3a06001f:00000002 3a16001f:00000002
    oid 0000179a: dbase F00000017 T0000001a    0    272 ... 'Tasks Database'             ORDERING: 0037001f:00000002 410f0002:00000000 00260003:00000000
    oid 00001796: dbase F00000017 T00000019    0    272 ... 'Appointments Database'      ORDERING: 420d0040:00000000 42230002:00000000 42130003:00000000
    oid 00001793: dbase F00000017 T42424242    0    272 ... '\DesktopPositions'          ORDERING: 42010003:00000000 4204001f:00000000
    oid 0000178c: dbase F00000017 T00000000    5    584 ... 'DB_notify_events'           ORDERING: 0001001f:00000000
    oid 00001655: dbase F00000017 T00000000  302  21512 ... '\ConfigMetabase'            ORDERING: 0952001f:00000002 0f520013:00000001
    oid 01001af5: dbase F00000017 T00000000    0    272 ... 'MailActiveSync'
    oid 00001a3c: dbase F00000017 T00000000    0    272 ... 'pmailOldTables'
    
    2008年11月20日 7:52
  •  

    1pmailFolders 文件夹的表用于指定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中记录的写入使得附件和邮件关联了起来。

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

    2008年11月20日 7:54