Zacznę od opisu problemu ..
Miałem konto e-mail skonfigurowane w programie Outlook 2010 podłączone do serwera Exchange. Kopie zapasowe utworzyłem lokalnie w pliku PST. (teraz nie mam już dostępu do konta Exchange)
Następnie chciałem wyeksportować te zarchiwizowane wiadomości e-mail do wykorzystania w Thunderbird 10.x (umieść je w folderach lokalnych w TB). Rozmiar pliku PST wynosi około 500 MB.
Próbowałem różnych metod:
- Moja pierwsza próba polegała na użyciu tej
Import > Mail > Outlook
funkcji bezpośrednio z wnętrza TB, jak tutaj sugerowano . - W innej próbie „skopiowałem” moje e-maile (przeciągnij i upuść) na trzeci wspólny e-mail IMAP skonfigurowany zarówno w programie Outlook, jak i Thunderbird (który w rzeczywistości jest lokalnie działającym serwerem poczty w interfejsie 127.0.0.1), a następnie wciągnąłem je do mój folder lokalny raz w TB.
- Próbowałem nawet użyć programu Outlook Express jako kroku pośredniego (Outlook -> Outlook Express -> Thunderbird).
Wszystko to kończy się niepowodzeniem, ponieważ e-maile nie są zachowywane podczas eksportu. Napotkałem wiele problemów, by wymienić tylko kilka:
- jeśli mamy
Content-Type: multipart/alternative;
wiadomości e-mail w obu formatach html / text, wówczas eksportowany jest tylko ten html. - czasami stosowane są inne kodowania niż oryginalne (base64, cytowane do wydruku itp.)
- historia tras (
Received:
nagłówków) zniknęła całkowicie - adresy są czasami tracone i po prostu zachowywana jest wyświetlana nazwa. np .:
To: "First Last" <nick@server.com>
przekształca się w:To: "First Last"
- czasami cały adres nadawcy / odbiorcy zostaje utracony i po prostu powielony z przeciwnego pola
- strefa czasowa pola daty zostaje zmieniona na strefę czasową bieżącej maszyny (nie duże)
- wszystkie inne nagłówki są dodawane / usuwane / przepisywane inaczej ...
Moje pytanie brzmi: w jaki sposób mogę eksportować wiadomości e-mail z mojego pliku PST do formatu tekstowego EML / MBOX Thunderbirda, w czysty sposób zachowując wszystkie oryginalne nagłówki?
Rozumiem, że specyfikacja plików PST jest teraz publicznie dostępna (prawda?), Więc mam nadzieję, że ktoś opracował przyzwoite narzędzie do tego zadania. Sposób, w jaki to widzę, gdybyśmy mieli dostęp do nieprzetworzonych wiadomości e-mail w programie Outlook ( jak view-source w TB), nie powinno być trudno po prostu napisać je do plików tekstowych !!
BTW: W Outlook Express mogliśmy bezpośrednio wybierać File > Save As
i eksportować w formacie .eml, ale Outlook 2010 ma tylko (zastrzeżoną?) Opcję binarnego formatu .msg (lub czegoś mi brakuje) ...
Oto próbka pokazująca, jak e-maile są zniekształcane - imiona i inne rzeczy zostały zmienione, aby chronić niewinnych :)
Oryginalna wiadomość e-mail w programie Outlook (otwórz wiadomość e-mail w nowym oknie, przejdź do File > Properties
pola tekstowego „Nagłówki internetowe” i sprawdź je, chociaż czasami jest ono puste!)
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
Zaimportowana wiadomość e-mail do Thunderbirda (wystarczy Ctrl+, Uaby wyświetlić źródło)
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