2009-05-19 90 views

回答

0

我不知道答案,但如果你看看谷歌電子郵件上傳(開源的),他們做閱讀部分...

+1

這給了我一個很長的路要走的想法: pst - > google - > imap - > mysql – 2009-05-20 00:59:30

8

是的。也許最簡單的是在Outlook中打開您的PST,並使用

File->Import and Export, Export to a File, Comma Seperated Values (Windows) 

這將創建一個CSV文件,您可以通過隨後的mysqlimport 到MySQL。

如果除了信息內容之外您還需要更多信息,您需要通過各種奇特手段直接進入商店。

+1

我愛多麼簡單這似乎是,但它會支持附件? – 2009-05-20 00:58:22

0

我將會用C#編寫的自動化客戶端進行迭代通過Outlook電子郵件,然後將每個上傳到您的數據庫。這些東西都不是火箭科學。自動化客戶端需要在計算機上安裝並運行Outlook。換句話說,這種方法不涉及「閱讀」PST;自動化意味着Outlook應用程序實際上正在運行,您的代碼要求應用程序單獨打開電子郵件。 (當你這樣做時,你不需要顯示所有的用戶界面)。

以下是關於how to read a PST file by automating outlook using C#的問題。從那開始,你需要添加MySQL更新的東西,以及一些很好的錯誤處理。從Outlook刪除文件之前,務必徹底測試。如果你選擇不刪除,一定要有一個好的索引方法來確保冪等性。

0

Powershell可能對此有好處?一個文件夾中如枚舉電子郵件,創建SQL INSERT每個,追加插入批量SQL腳本:

$olApp = New-Object -com Outlook.Application 
$namespace = $olApp.GetNamespace("MAPI") 
$folder = $namespace.GetDefaultFolder(1) 
$folder.Items | %{ 
    "insert into MyTable (MyCol1, MyCol2, etc) values ($_.Subject, $_.body, etc)" 
} | out-file "outfile.sql" -Append 
0

一個解決方案,我只是偶然發現是: libpst

顯然還有在處理一個有些水暖的轉換後的格式轉換爲SQL,但如果導入到Outlook中,然後以CSV格式導出不是一種選擇,則libpst將是一個不錯的選擇。

0

在那裏做的是:)

啊libpst +庫爾斯光的6組是在這裏你的解決方案:)

像Cheeso說,不是火箭科學。傾倒在一張大桌子上,但如何處理附件是我掙扎一點的地方。第一次迭代最終在磁盤上進行了傾倒,並將路徑標記爲「東西」。

迭代2,設置一個小的Hadoop實例並將整個shebang加載到Hbase中。我有600GB的電子郵件...小強迫症,但偉大的工作日:) :)

相關問題