VC++实现Foxmail邮件的批量导出
2010-06-29 20:41:28 来源:WEB开发网核心提示:其中,对于邮件格式头的判断是在check()函数中完成的,VC++实现Foxmail邮件的批量导出(2),依次对0x10之后的15个字节进行判断,一旦发现不是邮件格式头字符,本文方法适用),因此不失为一款实用的邮件辅助管理工具,立即返回,并将其当作邮件内容数据进行处理只有在断定为邮件格式头后才将上一封导出文件关闭:fo
其中,对于邮件格式头的判断是在check()函数中完成的,依次对0x10之后的15个字节进行判断,一旦发现不是邮件格式头字符,立即返回,并将其当作邮件内容数据进行处理只有在断定为邮件格式头后才将上一封导出文件关闭:
for (int i = 0; i < 6; i++)
{
c = fgetc(fp1);
//不符合分隔特征串,则返回
if(c != 0x10)
return;
}
for (i = 0; i < 6; i++)
{
c = fgetc(fp1);
//不符合分隔特征串,则返回 由此可以断定邮件夹的内容
if (c != 0x11)
return;
}
if ((c = fgetc(fp1)) == 0x53)
if ((c = fgetc(fp1)) == 0x0D)
if ((c = fgetc(fp1)) == 0x0A)
{
c = fgetc(fp1);
//完全符合特征串,则当前邮件输出完毕, 关闭输出文件
fclose(fp2);
}
由于本程序的设计目的在于自动批量导出邮件,因此处理数据量一般是比较大的,为避免程序阻塞,可以将此处理过程放置于线程之中进行。经实验,由上述程序导出的eml文件可以为OutLook文件识别并打开,达到了预期目的。
小结
本文通过对Foxmail邮件夹的组成结构进行分析而最终实现了对其邮件的批量导出,极大方便了对Foxmail邮件的备份、管理等工作,而且对不同版本的Foxmail均有很好的支持(当前最新版本为4.2,本文方法适用),因此不失为一款实用的邮件辅助管理工具。本文所述代码在Windows 2000 Professional下由Microsoft Visual C++ 6.0编译通过。
更多精彩
赞助商链接