将电子邮件从 Outlook 2010 中的 PST 文件导出到 Thunderbird

mer*_*erv 13 microsoft-outlook email thunderbird export pst

我将首先描述问题..

我在 Outlook 2010 中配置了一个连接到 Exchange 服务器的电子邮件帐户。我在本地将电子邮件备份到 PST 文件中。(现在我无法再访问 Exchange 帐户)

接下来我想导出这些存档邮件以在 Thunderbird 10.x 中使用(将它们放在 TB中的本地文件夹中)。PST 文件大小约为 500MB。

我尝试了不同的方法:

  • 我的第一次尝试是Import > Mail > Outlook按照此处的建议直接从 TB 内部使用该功能。
  • 在另一次尝试中,我将我的电子邮件(拖放)“复制”到 Outlook 和 Thunderbird 中配置的第三个常用 IMAP 电子邮件(它实际上是127.0.0.1 接口上的本地运行的邮件服务器),然后我将它们拉入我的本地文件夹曾经在 TB 中。
  • 我什至尝试使用Outlook Express作为中间步骤(Outlook -> Outlook Express -> Thunderbird)。

以上所有都失败了,因为导出时不会保留电子邮件。我遇到了很多问题,仅举几例:

  • 如果我们有Content-Type: multipart/alternative;两种 html/text 格式的电子邮件,那么只会导出 html 格式。
  • 有时会使用与原始编码不同的编码(base64、quoted-printable 等)
  • 路由Received:标头)的历史完全消失了
  • 地址有时会丢失,只保留显示名称。例如: To: "First Last" <nick@server.com>变成:To: "First Last"
  • 有时整个发送者/接收者地址会丢失,并且只是从相反的字段中复制
  • 日期字段时区被更改为当前机器的时区(不是一个大问题)
  • 各种其他标题的添加/删除/重写方式不同......

所以我的问题是如何将电子邮件从我的 PST 文件导出为 Thunderbird 的 EML/MBOX 文本格式,以干净的方式保留所有原始标题?

我知道 PST 文件的规范现在是公开可用的(对吗?),所以我希望有人为此任务开发了一个像样的工具..我认为,如果我们以某种方式访问​​ Outlook 中的原始电子邮件(就像在 TB 中查看源代码一样),将它们简单地写入文本文件应该不难!!

顺便说一句:在Outlook Express 中,我们可以直接选择File > Save As和导出 .eml 格式,但 Outlook 2010 只有(专有?)二进制 .msg 格式选项(或者我错过了什么)......


这是一个示例,展示了电子邮件是如何被破坏的——名称和其他内容已被更改以保护无辜者:)

Outlook 中的原始电子邮件(在新窗口中打开电子邮件,转到File > Properties并检查“Internet 标题”文本字段,尽管有时它只是空白!)

Received: from mail.server (192.168.2.1)
 by s2.server (192.168.5.1) with Microsoft SMTP Server id 14.0.702.0; 
 Thu, 3 Feb 2011 12:51:26 -0500
Received: from mail.server (mail.server [192.168.6.1])
 by mail.server (8.14.5.Beta0/8.14.5.Beta0) with ESMTP id p00000000000002;
 Thu, 3 Feb 2011 12:51:26 -0500
Received: from smtp.server (smtp.server [192.168.4.1])
 by mail.server (8.14.5.Beta0/8.14.5.Beta0) with ESMTP id p00000000000001
 for <list@server>; Thu, 3 Feb 2011 12:51:16 -0500
Received: from s3.server (s4.server [192.168.3.1])
 by smtp.server (8.14.4/8.14.4) with ESMTP id p0000000000000
 for <list@server>; Thu, 3 Feb 2011 12:51:16 -0500 (envelope-from sender@server)
Received: from s1.server ([ffff::0000:000:0000:0000])
 by s3.server ([ffff::1111:000:0000:0000%12]) with mapi; 
 Thu, 3 Feb 2011 12:51:15 -0500
From: sender@server
Subject: test
Thread-Topic: test
Thread-Index: A0000000011112222333344445555g==
Date: Thu, 3 Feb 2011 12:51:15 -0500
Message-ID: <99887766554433221100FFEEDDCCBBAA99887766@s1.server>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
To: undisclosed-recipients:;
Return-Path: list-request@server
X-MS-Exchange-Organization-AuthSource: s2.server
X-MS-Exchange-Organization-AuthAs: Anonymous
X-MS-Exchange-Organization-AVStamp-Mailbox: MSFTFF;1;0;0 0 0
X-MS-Exchange-Organization-SCL: -1
Run Code Online (Sandbox Code Playgroud)

将电子邮件导入 Thunderbird(只需Ctrl+U即可查看源代码)

From: sender@server
Subject: test
Thread-Index: A9999888877776666555544443333g==
Date: Thu, 3 Feb 2011 12:51:15 -0500
Message-ID: <99887766554433221100FFEEDDCCBBAA99887766@s1.server>
acceptlanguage: en-US
Content-Language: en-us
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0
To: sender@server
X-Mailer: Microsoft Outlook 14.0
x-ms-exchange-organization-authsource: s2.server
x-ms-exchange-organization-authas: Anonymous
X-OlkEid: 00112233445566778899AABBCCDDEEFF00112233
Run Code Online (Sandbox Code Playgroud)

har*_*ymc 1

mozillaZine 文章导入 .pst 文件解决了这个问题。

您需要将 Thunderbird 和 Outlook 安装在同一台计算机上,并将 Outlook 定义为默认电子邮件客户端,然后Tools -> Import -> Mail在 Thunderbird 中使用。

由于您已经看过上述文章,请告诉我们为什么它不适合您。

您还可以尝试Thunderbird PST 导入插件