一直在使用foxmail,有多个邮件账户,为了方便将不同邮件账户下的文件夹都拖动到其中一个邮件账户下。但最近升级foxmail到最新的7.2.18.95,发现跨账户拖动的文件夹都回到了原来的账户下面,而且目前这个版本只能在同一个账户下移动文件夹位置,跨账户拖动无效。。。

网上搜索了半天也没找到解决方案,只得自己研究foxmail的文件结构,发现账户下的文件夹与安装目录下\Data\Accounts\中的Account.cfg和Account.htb有关。

这里简单分析会用到的一些数据:

Account.cfg保存了文件夹的ID以及名称等信息,从0x100开始,每0x100为一组;每组里面,0x00-0x03为文件夹ID(红色),0x11-0x12为文件夹名称长度(黄色),0x13开始为文件夹名称(绿色),由于是UTF-16编码,实际长度为文件夹名称长度x2

Account.htb保存了文件夹的目录树结构,从0x40开始,每0x10为一组;每组里面,0x04-0x07为文件夹ID(红色),0x08-0x0B为“后继子文件夹ID”(黄色),0x0C-0x0F开始“后继同级文件夹ID”(绿色);文件夹ID如果为0xFFFFFFFF标识为“无”

点击在新窗口中浏览此图片

知道文件夹的目录树结构就好办了,把邮件账户下最后一个文件的“后继同级文件夹ID”从0xFFFFFFFF改为想移动过来的一组文件夹里面的第一个文件夹ID,再将原来指向想移动的文件夹的前序文件夹的“后继同级文件夹”改为0xFFFFFFFF,收工。

PS.这个方法只针对POP3类型账号下的文件夹,IMAP类型账号的文件夹是直接建在服务器上的,是不能跨账号挪动的。IMAP对应的文件在安装目录下\Storage\<账号名称>\Accounts\。
标签:
发表评论   请注意:本站已经启用评论审核机制,审核通过才能显示!
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称 *   
网址   电邮   [注册]
               

验证码 不区分大小写