MS連絡先の管理

効率的な連絡先管理は、専門家や企業にとって不可欠です。必要なときに適切な人と簡単に見つけて接続できることを保証します。会議のスケジュールを立てたり、メールを送信したり、ドキュメントを共有したりする場合でも、整理されていて最新の連絡先を持つことは、生産性を大幅に向上させることができます。

MSGファイルは、電子メールメッセージ、連絡先、およびその他のアイテムを保存するために一般的に使用される形式です。Outlook MSGファイルからプログラムで連絡先情報を抽出することは、データ移行や自動データ処理などのさまざまなシナリオにおいて重要なタスクです。この記事では、Outlook MSGファイルから連絡先情報をロード、抽出、および保存する方法を探ります。

高度なC# APIを使って始める

MSGファイルを操作するために、Aspose.Email for .NETを使用します。これは、メールメッセージ、タスク、カレンダー、連絡先、および.NETアプリケーション内のさまざまなメール関連タスクを扱うための包括的なツールと機能を提供する強力で多目的なメール処理および管理ライブラリです。始める前に、Aspose.Emailがプロジェクトにインストールされ、参照されていることを確認してください。まだ行っていない場合は、DLLをダウンロードするか、NuGetからインストールできます。

MSGファイルからの連絡先の読み込み

MSGファイルから連絡先情報を抽出するには、Aspose.EmailのMapiMessage.Loadメソッドを使用してファイルをMapiMessageオブジェクトにロードする必要があります。連絡先をMapiMessageにロードし、通常のMAPIメッセージのように扱うことができます:プロパティを読み取り、修正し、保存し、ストレージに追加し、送信します。 次のコードサンプルは、Outlook連絡先をロードして処理する方法を示しています。

  1. MapiMessage.Loadメソッドを使用してMSGファイル内の既存の連絡先アイテムをロードします。このメソッドは、指定されたMSGファイルの内容を読み込み、電子メールメッセージを表すMapiMessageオブジェクトを作成します。
  2. SetBodyContentメソッドを使用してHTMLボディコンテンツを設定し、内容を置き換えます。
  3. 提供されたコンテンツがHTML形式であることを示すBodyContentType.Htmlパラメーターを指定します。これにより、メールクライアントで表示される際に、コンテンツが正しくHTMLとして解釈されます。
  4. Saveメソッドを使用して修正されたMapiMessageオブジェクトをMSGファイルに戻して保存します。
var msg = MapiMessage.Load("Lynna M. Dyer.msg");
msg.SetBodyContent("<!DOCTYPE html><html><body><h1>Lynna M. Dyer</h1></body></html>", BodyContentType.Html);
msg.Save("Lynna M. Dyer.msg");

連絡先の詳細を抽出する

MSGファイルをロードしたら、MapiContactクラスを使用して連絡先の詳細を抽出できます。MapiContactは、特定の連絡先フィールドにアクセスするための便利なプロパティを提供します。提供されたコードサンプルは、MSGメールから連絡先情報を抽出して表示する方法を示しています。

  1. MSGが連絡先アイテムであるかどうかを確認します。SupportedTypeプロパティを使用します。これは、Outlookアイテムの種類を示します。
  2. msgオブジェクトをMapiContactオブジェクトに変換します。この変換により、連絡先アイテムに特有のプロパティやメソッドにアクセスできます。
  3. 連絡先情報を取得して表示します。この例では、MapiContactオブジェクトのDisplayNameEmailCompanyName、およびTitleプロパティにアクセスし、連絡先の名前、電子メールアドレス、会社名、および職務タイトルを表します。他のプロパティには、必要に応じてMapiContactオブジェクトにアクセスできます。
if (msg.SupportedType == MapiItemType.Contact)
{
    var contact = (MapiContact)msg.ToMapiMessageItem();

    Console.WriteLine(contact.NameInfo.DisplayName);
    Console.WriteLine(contact.ElectronicAddresses.Email1);
    Console.WriteLine(contact.ProfessionalInfo.CompanyName);
    Console.WriteLine(contact.ProfessionalInfo.Title);
}

連絡先の写真を保存する

MSGファイルに連絡先の写真が含まれている場合、次のコードを使用してファイルに保存できます。

  1. 連絡先に写真があるかどうかを確認します。これは、contact.Photoプロパティがnullでないかどうかを評価することで行います。
  2. 写真が存在する場合、コードはそれをファイルとして保存します。
if (contact.Photo != null)
{
    System.IO.File.WriteAllBytes($"{contact.NameInfo.DisplayName}.{MapiContactPhotoImageFormat.Jpeg.ToString()}", contact.Photo.Data);
}

VCFに連絡先を保存する

さらに、MSGからよりユニバーサルな形式であるVCARDに連絡先を変換する必要があります。**VCard(バーチャルコンタクトファイル)**は、連絡先情報を保存するために使用される標準ファイル形式です。次のコードサンプルは、連絡先オブジェクトとして表される連絡先アイテムをVCardファイルとして保存する方法を示しています。

コードは、Saveメソッドを使用して連絡先をVCardとして保存するプロセスを開始します。

contact.Save("Lynna M. Dyer.vcf", ContactSaveFormat.VCard);

VCFから連絡先をロードする

既存のVCARDファイルをMapiContactオブジェクトにロードすることもできます。次のコードサンプルは、VCardから連絡先情報をロードし、MapiContactオブジェクトを作成する方法を示しています。

  1. コードは、MapiContact.FromVCardメソッドを使用してVCardから連絡先情報をロードすることから始まります。
  2. contact変数は、この新たに作成されたMapiContactオブジェクトを保持し、プログラムで連絡先の詳細にアクセスして操作することができます。
var contact = MapiContact.FromVCard("Lynna M. Dyer.vcf");

結論

この記事では、Aspose.Emailを使用してOutlook MSGファイルからプログラムで連絡先情報を抽出する方法を探りました。MSGファイルをロードし、MapiContactクラスを使用して連絡先の詳細を抽出し、異なる形式で連絡先を保存するプロセスを説明しました。Aspose.EmailはMSGファイルの操作を簡素化し、メールデータを処理するための幅広い機能を提供します。

ファイルパスを変更し、特定の要件に合わせてコードを調整することを忘れないでください。Aspose.Emailの包括的なドキュメントと役立つコミュニティフォーラムは、連絡先情報を効果的に抽出するためのその機能を活用するのにさらに役立ちます。

関連情報