如何转换通过 FTP 下载的 Exim 电子邮件,以便将其导入电子邮件客户端?

如何转换通过 FTP 下载的 Exim 电子邮件,以便将其导入电子邮件客户端?

我有从运行 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

相关内容