Foxmail文件格式

        最近分析了一下Foxmail的工作原理和相关文件的格式,做了以下总结,希望对大家有用。有错误之处烦请留言指出,共同进步。

        Foxmail的每个帐户作为一个目录存放在mail目录下,一般主要存在有12个文件。下面分析每个文件的用途及相关文件的格式。

        Account.stg文件中存放着关于本帐户的一些配置信息,包括pop3服务器、用户名和密码密文。密码密文可以经过一定的算法破译。

        uidl文件用来保存之前收取过的邮件序号,Foxmail据此检测服务器上的新邮件。

       BOX文件用于存放邮件明文。每封邮件的开头标记是16个字节:10 10 10 10 10 10 10 11 11 11 11 11 11 53 0D 0A

        IND文件是邮件信息文件,保存这每封邮件记录的信息,其内容决定了邮件在Foxmail中如何显示,比如in.IND和in.BOX两个文件配合,在Foxmail里可以显示收件箱的各种信息,比如未读邮件数,每封邮件是否未读,每封邮件的内容等等。

        下面介绍IND文件的格式。

        1、00H-39H的64个字节是文件头,05H-08H的4个字节保存记录个数(不一定是真实的个数,也可能是最后一条记录的记录号),每增加一封邮件,这个值就会加1。2B-2E的4个字节是未读邮件数。

        2、40H开始是第一条记录,每条记录长B0H(176个字节)。每条记录的00H-03H的4个字节是记录号,各个记录号不一定从1开始,也不一定连续。04H是删除标记,该字节为1表明此记录被用户删除(看来邮件被用户删除时不是真的立即删除了,如果不关闭Foxmail,还可以取消上一步的删除操作,只要打开相应的文件把这个字节置0)。05H-08H的4个字节是本封邮件在对应的BOX文件中的起始位置。12H是邮件未读标记,该字节为1表明该邮件未读。

        好了,知道了这些,我们就可以自己编码,不仅能够自动批量导出Foxmail邮件,还可以指定邮件导出后是直接删除,还是放到废件箱里,还是不动,等等,随你所欲了

        下面图片显示的是一个in.IND文件.

一个IND文件内容

 

当你老了,头白了,睡思昏沉,
 
炉火旁打盹,请取下这部诗歌,

慢慢读,回想你过去眼神的柔和,

回想它们昔日浓重的阴影;

多少人爱你青春欢畅的时辰,
 
爱慕你的美丽,假意或者真心,
 
只有一个人爱你那朝圣者的灵魂,

爱你衰老了的脸上痛苦的皱纹;

垂下头来,在红光闪耀的炉子旁,
 
凄然地轻轻诉说那爱情的消逝,
 
在头顶的山上它缓缓踱着步子,

在一群星星中间隐藏着脸庞。

### 如何将PST文件导入Foxmail或将Outlook的PST文件转换为Foxmail支持的格式 要将Outlook的PST文件转换为Foxmail支持的格式,或者直接将PST文件导入Foxmail,需要通过特定的方法或工具来完成。以下是详细的解决方案[^1]: #### 方法一:通过第三方工具转换PST文件 由于Foxmail本身并不直接支持PST文件的导入,因此可以借助第三方工具将PST文件转换为Foxmail可识别的格式(如EML或MBOX)。这些工具通常提供批量转换功能,并能保持邮件的原始格式和附件。 - **步骤**: - 下载并安装一个可靠的PST转换工具,例如“PST to MBOX Converter”或其他类似工具。 - 打开工具并选择要转换的PST文件。 - 将PST文件导出为EML或MBOX格式。 - 在Foxmail中,通过“导入”功能加载生成的EML或MBOX文件[^4]。 #### 方法二:使用Outlook导出邮件为单个EML文件 如果不想使用第三方工具,可以通过Outlook手动导出邮件为单个EML文件,然后在Foxmail中逐个导入这些文件。 - **步骤**: - 在Outlook中,选择需要导出的邮件。 - 右键点击邮件并选择“另存为”,保存类型选择“EML”格式。 - 将所有邮件逐一导出为EML文件。 - 在Foxmail中,通过“文件→导入→邮件”功能,选择导入这些EML文件[^2]。 #### 方法三:通过Outlook Express作为中间媒介 如果遇到直接转换失败的情况,可以尝试使用Outlook Express作为中间媒介进行转换。 - **步骤**: - 将Outlook中的邮件导入到Outlook Express。 - 在Outlook Express中导出邮件为EML文件或MDB文件。 - 使用Foxmail的导入功能加载这些文件。 - 注意:此方法可能需要解决MAPI初始化错误等问题,确保系统环境满足要求[^3]。 #### 方法四:分割PST文件以提高效率 如果PST文件过大,建议先将其分割为多个较小的PST文件,再逐一进行转换或导入操作。 - **步骤**: - 使用Outlook自带的“存档”功能,按时间或其他条件将邮件存档到不同的PST文件中。 - 对每个小的PST文件重复上述转换或导入操作。 - 这样可以显著提高转换效率并减少错误发生的可能性[^4]。 ### 示例代码:批量转换EML文件至Foxmail 以下是一个简单的Python脚本示例,用于批量将EML文件导入Foxmail支持的目录结构中: ```python import os import shutil def copy_eml_files(source_dir, target_dir): if not os.path.exists(target_dir): os.makedirs(target_dir) for filename in os.listdir(source_dir): if filename.endswith(".eml"): shutil.copy(os.path.join(source_dir, filename), target_dir) # 设置源目录和目标目录 source_directory = "path/to/eml/files" target_directory = "path/to/foxmail/import" copy_eml_files(source_directory, target_directory) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值