
有效的聯絡人管理對於專業人員和企業至關重要。它確保您能在需要時輕鬆找到並聯繫到合適的人。無論是安排會議、發送電子郵件還是共享文件,擁有組織良好且最新的聯絡人資料都能顯著提高您的生產力。
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 聯絡人:
- 使用 MapiMessage.Load 方法載入 MSG 文件中的現有聯絡人項目。該方法讀取指定 MSG 文件的內容並創建一個表示電子郵件消息的 MapiMessage 對象。
- 使用 SetBodyContent 方法設置 HTML 主體內容以替換內容。
- 指定 BodyContentType.Html 參數,這表示提供的內容為 HTML 格式。這確保內容在電子郵件客戶端查看時正確解釋為 HTML。
- 使用 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 電子郵件中提取和顯示聯絡人資訊。
- 首先檢查 MSG 是否為聯絡人項目。使用 SupportedType 屬性,該屬性表示 Outlook 項目的類型。
- 將 msg 對象轉換為
MapiContact
對象。此轉換允許訪問特定於聯絡人項目的專用屬性和方法。 - 擷取並顯示聯絡人資訊。在此範例中,我們訪問 DisplayName、Email、CompanyName 和 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 文件包含聯絡人的照片,我們可以使用以下代碼將其保存到文件中:
- 檢查聯絡人是否有照片。這是通過評估聯絡人.Photo 屬性是否為 null 來完成的。
- 如果存在照片,代碼將繼續將其保存為文件。
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 對象:
- 代碼首先使用 MapiContact.FromVCard 方法從 VCard 載入聯絡人資訊。
- contact 變數保存這個新創建的 MapiContact 對象,可以用來編程訪問和操作聯絡人的詳細資訊。
var contact = MapiContact.FromVCard("Lynna M. Dyer.vcf");
結論
在本文中,我們探討了如何使用 Aspose.Email 編程提取 Outlook MSG 文件中的聯絡人資訊。我們逐步介紹了載入 MSG 文件、使用 MapiContact 類提取聯絡人詳細資訊以及以不同格式保存聯絡人的過程。Aspose.Email 簡化了處理 MSG 文件的過程,並提供了廣泛的功能來處理電子郵件數據。
請記得修改文件路徑並根據您的具體需求調整代碼。Aspose.Email 的全面 文檔 和有用的社群 論壇 將進一步幫助您有效利用其功能來提取聯絡人資訊。