C#でPSTファイルを作成

PST(Personal Storage Table)ファイルは、Outlookデータを管理するための重要なコンポーネントであり、メール、連絡先、カレンダー、その他のアイテムのストレージを容易にします。C# .NET開発の領域では、ストレージファイルの作成と管理のプロセスがさまざまなアプリケーションにとって重要です。

この記事では、C# .NETを使用してPSTファイルを作成する方法を探ります。空のPSTストレージの作成、フォルダーとサブフォルダーの追加、標準および通常のフォルダーの組み込み、そして最後に、PSTファイルに電子メールとOutlookアイテムを追加することについて説明します。

PSTファイルを作成してデータを充填するためのC# API

C#でPST形式のストレージファイルを操作するには、Aspose.Email for .NETを使用します。この包括的なライブラリは.NET開発者向けに設計されており、メール関連データを処理するための強力なツールを提供します。直感的なAPIを使用することで、開発者はPSTストレージ構造を簡単に作成、読み取り、操作でき、フォルダー、サブフォルダー、および標準のOutlookフォルダーの追加が可能です。このライブラリは、MSG、EML、MHTMLなどのさまざまな形式のメールを解析、作成、送信、受信、変換する機能を提供し、メールメッセージの処理を簡素化します。Aspose.Emailは、開発者が.NETアプリケーション内でのメール関連タスクを効率的に管理できるようにし、機能性とパフォーマンスを高め、エンドユーザーに優れたメール処理機能を提供します。

APIの力を活用するには、DLLをダウンロードするか、次のコマンドを使用してNuGetからインストールできます。

PM> Install-Package Aspose.Email

最小空のPSTストレージの作成

まず、空の個人ストレージを作成します。これは、アイテムなしでPSTファイルを初期化することを含みます。以下のコードサンプルは、Unicodeファイル形式バージョンを持つ「sample.pst」という新しいファイルの基本構造を設定する方法を示しています。新しいPSTファイルを作成するには、PersonalStorage.Createメソッドを使用します。

// Initialize the PersonalStorage instance
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Add your code for further operations
}
view raw CreatePst.cs hosted with ❤ by GitHub

注意:最小のPSTは256Kbで、ルートフォルダーと削除されたアイテムフォルダーを含みます。

フォルダーとサブフォルダーの追加

空のPSTストレージができたら、次のステップはデータを効率的に整理するためにフォルダーとサブフォルダーを追加することです。次のサブセクションを考慮し、次のコードサンプルを試してタスクを実行してください。

標準フォルダーの追加

受信トレイ、送信トレイ、送信済みアイテム、下書きなどの標準フォルダーをAspose.Emailを使用して簡単に追加できます。以下のコードサンプルでは、「sample.pst」というPST内に「受信トレイ」という新しいフォルダーを作成する方法を示しています。このコードは、PSTファイルを開くためにPersonalStorageクラスを使用し、CreatePredefinedFolder()メソッドを呼び出して受信アイテム用の標準フォルダーを作成します。このフォルダーは、メールクライアントで通常「受信トレイ」フォルダーを表すStandardIpmFolder.inboxという事前定義されたフォルダータイプを使用して作成されます。

  1. 新しいPersonalStorageオブジェクトを初期化します。
  2. PersonalStorageインスタンス(pst)のCreatePredefinedFolderメソッドを使用して、「受信トレイ」という名前の標準フォルダーを作成し、フォルダータイプStandardIpmFolder.Inboxを指定します。
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Create a standard folder (Inbox)
var inboxFolder = pst.CreatePredefinedFolder("Inbox", StandardIpmFolder.Inbox);
}

以下のリストは、新しいPSTファイルに追加できる標準フォルダーを含みます:

  • 受信トレイ
  • 送信済みアイテム
  • カレンダー
  • 連絡先
  • ジャーナル
  • ノート
  • タスク
  • 同期の問題
  • 迷惑メール
  • RSSフィード

通常のフォルダーの追加

標準フォルダーに加えて、ユーザーは通常、メールの整理をより良くするために特定の名前でカスタムフォルダーを作成します。以下のコードスニペットは、PSTファイルのルートにカスタムフォルダーを追加する方法を示しています。

  1. 新しいPersonalStorageオブジェクトを初期化します。
  2. PersonalStorageインスタンスのRootFolderプロパティのAddSubFolderメソッドを使用して、カスタムフォルダーを作成します。

「カスタムフォルダー」を作成した後、AddSubFolderメソッドを再度使用して、その中にサブフォルダーを作成できます。サブフォルダーの希望の名前をAddSubFolderメソッドのパラメーターとして提供してください。

using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Create a custom folder
var someFolder = pst.RootFolder.AddSubFolder("SomeFolder");
// Create a subfolder to the "Custom Folder"
var subFolder = customFolder.AddSubFolder("SubFolder");
}

電子メールとOutlookアイテムの追加

構造が整ったので、PSTファイルに電子メールや他のOutlookアイテムを充填できます。これには、電子メール、予定、連絡先、タスクなどを作成し、ファイル内の適切なフォルダーに追加することが含まれます。いくつかの例を考えてみましょう。

新しい電子メールの追加

以下のコードサンプルでは、PSTファイル内の「受信トレイ」フォルダーに新しい電子メールメッセージを追加する方法を示します。このコードは以下の手順を含みます:

  1. 新しいPersonalStorageオブジェクトを初期化します。
  2. PersonalStorageインスタンスのRootFolderプロパティのGetSubFolderメソッドを使用して受信トレイフォルダーを取得します。
  3. 新しいMapiMessageオブジェクトをインスタンス化します。
  4. inboxFolderオブジェクトのAddMessageメソッドを使用して、新しく作成されたメッセージ(message)を受信トレイフォルダーに追加します。
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Access the folder to add items
var inboxFolder = pst.RootFolder.GetSubFolder("Inbox");
// Create a new message
var message = new MapiMessage("from@example.com", "to@example.com", "Subject", "Body");
// Add the message to the Inbox folder
inboxFolder.AddMessage(message);
}
view raw AddNewEmails.cs hosted with ❤ by GitHub

Outlookアイテムの追加

以下のコードサンプルは、新しいPSTファイルに連絡先を追加する方法を示します。これは、新しい個人ストレージファイルを作成し、標準の連絡先フォルダーを追加し、VCFファイルから連絡先を読み込み、その連絡先を連絡先フォルダーに追加するプロセスを概説します。このコードは以下の手順を含みます:

  1. 新しいPersonalStorageオブジェクトを初期化します。
  2. CreatePredefinedFolderメソッドを使用して、フォルダータイプStandardIpmFolder.Contactsを指定して標準フォルダーを作成します。これにより、連絡先フォルダーであることを示します。
  3. MapiContact.FromVCardメソッドを使用してVCFファイルから連絡先を読み込みます。このメソッドは、連絡先情報を表すMapiContactオブジェクトを作成します。
  4. AddMapiMessageItemメソッドを使用して、読み込まれた連絡先を連絡先フォルダーに追加します。
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Create a standard folder (Contacts)
var contactsFolder = pst.CreatePredefinedFolder("My Contacts", StandardIpmFolder.Contacts);
// Load a contact from vcf file
var contact = MapiContact.FromVCard("Contact.vcf");
// Add the contact to the folder
contactsFolder.AddMapiMessageItem(contact);
}

結論

このチュートリアルでは、Aspose.Emailライブラリを使用してC# .NETでPSTファイルを作成する方法を探りました。空のPSTストレージの作成からフォルダー、サブフォルダー、さまざまなOutlookアイテムの追加まで、ライブラリはPSTファイル操作のための包括的な機能セットを提供します。これらの機能をC# .NETアプリケーションに統合することで、Outlookデータを効率的に管理し、ソフトウェアソリューションの堅牢性と多様性を向上させることができます。

加えて、このライブラリは、作成、抽出、解析、変換、およびメールを操作するための広範な機能を提供し、統合プロセスを簡素化するための包括的なドキュメントとコードサンプルを提供します。これにより、開発者は.NETアプリケーション内でのメール関連ソリューションの実装が容易になります。

高度なAPIに加えて、無料リソースへの継続的なアクセスが得られます:

  • サポートフォーラム - あなたの質問に対する回答を得るための大規模なコミュニティ
  • ブログ - 最新機能に関する貴重な情報
  • ドキュメント - チュートリアル、コードサンプル、ベストプラクティス、およびAPIリファレンスへのアクセス
  • 無料のアプリ - メールの表示、変換、マージ、解析、ヘッダーの分析、ウォーターマークの追加などが可能

Aspose.Emailは、開発者があらゆる課題を乗り越え、アプリケーション内でAPIの可能性を最大限に活用するために必要なリソースを提供します。

関連情報