
高效的联系人管理对专业人士和企业至关重要。它确保您在需要时能够轻松找到并与合适的人联系。无论您是在安排会议、发送电子邮件还是共享文档,拥有有序且最新的联系人信息都能显著提高您的生产力。
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 文件包含联系人的照片,我们可以使用以下代码将其保存到文件中:
- 检查联系人是否有照片。这是通过评估 contact.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 的全面 文档 和有用的社区 论坛 将为您进一步利用其功能以有效提取联系信息提供帮助。