複数のemlファイル(単一のファイルシステムフォルダーからのものである可能性があります)を取り、それらを単一のPSTファイルに変換する単一の関数を作成する必要があります。
出来ますか?はいの場合、誰かがサンプルコードを提供できますか?
これを行う商用のemlからpstへのコンバーターが多数あるため、可能だと思います
より簡単またはより良い方法かもしれませんが、おそらく 1 つの方法は、Interop を使用して Outlook を自動化することです。Outlook の組み込みのインポート機能を使用する機能がいくつかあるかもしれません。それを最初に探してみます。それが不可能であると仮定しても、アプリで eml ファイルを読み取り、相互運用機能を介してメール アイテムを作成することで、それを実行できるはずです。
通常、eml ファイルは MIME 形式の単なるテキスト ファイルなので、テキスト ファイルとして読み込んで解析するだけです。これは、C# からの MIME の解析に関する 1 つの記事です。それ以外の場合は、「POP3 C#」を検索するだけで、それに関する他の記事が見つかります。
次に、ここMicrosoft.Office.Interop.Outlookで説明されているように、名前空間から Outlook Interop を使用します。
推測では、最初にApplicationオブジェクトを作成し、それを使用してStoreオブジェクトを取得し(各PSTファイルは1つになると思いますStore)、そこにデータを使用しFolderて作成する方法を見つける必要があると思いますMailItememl ファイルから解析しました。
この記事では、Outlook オートメーションを使用して連絡先と予定を作成する方法について説明しており、おそらく役立つでしょう。
そのために償還を使用できます。線に沿った何か:
set Session = CreateObject("Redemption.RDOSession")
Session.LogonPstStore("c:\temp\test.pst")
set Folder = Session.GetDefaultFolder(olFolderInbox)
set Msg = Folder.Items.Add("IPM.Note")
Msg.Sent = true
Msg.Import("c:\temp\test.eml", 1024)
Msg.Save
pstファイル形式の仕様はここにあります。しかし、eml-> pstパーサーを自分で作成するために、すべてをまとめるのに少し時間がかかると思います。しかし、それは可能であるはずです。