Thunderbird的邮箱文件是用mbox格式,但是有时会因为格式不对导致无法被mutt读取,请问有什么工具可以修复mbox?AI推荐 Mailutils的 mboxfix,可是Mailutils没有包含这个工具。多谢多谢哈。
P.S. 目前是wine了一个小工具mbox fixer在用。
直接手动拿 Vim 改(
这个我想过。问题是我不知道mbox的格式规范啊。原来我以为某个读不出的mbox是每条打头的From是空的不合规范,但是手动改了加了时间还是识别不出。但是用那个mbox-fixer修改后,我看它也就改了From,但是mutt就可以识别了。
百度AI给出的回答是:
mbox格式是Unix系统下常用的邮件存储格式,主要包含以下要求:
基本结构
每封邮件必须以From
开头,后接发件人地址和日期(格式为From [发件人] [日期]
),例如:
textCopy Code
From: [发件人邮箱] [日期]
日期需符合RFC 2821标准,通常为YYYY-MM-DD
格式。 12
文件格式
- 纯文本:必须使用ASCII编码,不支持二进制附件或特殊字符。
- 分隔规则:每封邮件结束后需插入空行(即每封邮件占一行),通过
From
标识符区分不同邮件。 12
兼容性
- 与RFC 2821兼容,适用于邮件网关传输。
- 可被主流邮件客户端(如Apple Mail)导出为该格式。 13
注意事项
- 若需导入其他格式(如PDF),需先转换为文本格式再保存为mbox。
- 附件需以文本形式嵌入或单独存储,二进制文件无法直接保存。
你是不是格式没写对?mutt 对这个有点挑。
试出来了。就是每个信件开头的From。原来的mbox不规范在它的From后面是空的,长这样:
From
Received: from wolt.org (unknown [123.123.195.226])
直接把From那行写成:
From - Mon Jan 03 08:29:09 2011
就可以(那个-本来是发信邮箱名,但是直接写-也没问题)。这个时间从该邮件后面的Date: 读出,但格式要转成这样才能识别。mbox开头不能有空行。每个信件之间要有空行。每个信件要以这种From格式开头才能识别。