我有从运行 Exim 的旧服务器下载的电子邮件备份文件夹。我可以在文本编辑器中打开所有文件并阅读内容,它们采用标准 RFC 822 格式。
文件名如下所示:
1284775865.H451571P15783.pre.press-themes.com,S=840363/2,S
最终我需要将它们导入到 Google Apps 帐户中。这是一个免费帐户,因此我无法使用 Python Apps API 方法,如果我添加 .txt 文件扩展名,该方法将起作用。Google 有Mac电子邮件上传器但要求电子邮件属于下列格式之一:
- Apple Mail:~/Library/Mail
- Eudora:~/Eudora 文件夹 -Thunderbird:~/Library/Thunderbird
当我尝试将邮件导入 Apple Mail 或 Thunderbird 时,它们无法被识别。我尝试添加 .mbox 文件扩展名和 .txt 文件扩展名。我还运行了这个 bash 脚本,但它将它们全部转换为一个大文件,扩展名为 .mbox,任何客户端都无法读取。
#!/bin/bash
if [ $# == 0 ]; then
echo usage ${0##*/} FolderName
exit 0
fi
for file in `find "$1" -type f`; do
mbx="${file%/*}.mbox"
mbx="${mbx//\//_}"
cat "$file" | formail >> "$mbx"
done
答案1
根据您链接的页面,
Google Email Uploader for Mac 是一款适用于 Mac OS X 的桌面实用程序,可上传来自 Apple Mail、Eudora、Thunderbird 和导出 Entourage 邮件(以及其他 mbox 和 Maildir 档案)发送到您的 Google Apps 邮箱。
你所拥有的是邮箱目录,但从您给出的示例来看,名称似乎在传输过程中被破坏了:后缀2,S
应该用:
(或;
在某些系统中)分隔,而不是用/
。
您的 mbox 转换脚本的输出也应该被上传器直接接受。
dir="${1%/}"
mbox="$dir.mbox"
find "$dir" -type f | while read name; do
formail < "$name" >> "$mbox"
done