Manage MS Contacts

Ефективне управління контактами є життєво важливим для професіоналів та бізнесу. Це забезпечує можливість легко знаходити та з’єднуватися з потрібними людьми, коли це необхідно. Чи то запланування зустрічей, надсилання електронних листів, чи обмін документами, наявність організованих та актуальних контактів може суттєво підвищити вашу продуктивність.

MSG файли є поширеним форматом для зберігання електронних листів, контактів та інших елементів. Витягування інформації про контакти з файлів MSG Outlook програмно може бути критично важливим завданням для різних сценаріїв, таких як міграція даних або автоматизована обробка даних. У цій статті ми розглянемо, як завантажити, витягти та зберегти інформацію про контакти з файлів MSG Outlook.

Розпочати роботу з розширеним API C#

Щоб працювати з MSG файлами, ми будемо використовувати Aspose.Email для .NET. Це потужна та універсальна бібліотека для обробки та управління електронною поштою, яка надає розробникам комплексний набір інструментів та функцій для роботи з електронними листами, завданнями, календарями, контактами та різними завданнями, пов’язаними з електронною поштою, у додатках .NET. Отже, перед тим як почати, переконайтеся, що у вас встановлено Aspose.Email та що ви посилаєтеся на нього у своєму проекті. Якщо ви ще цього не зробили, ви можете завантажити його DLL або встановити з NuGet.

Завантаження контакту з MSG файлів

Щоб витягнути інформацію про контакт з файлу MSG, нам потрібно завантажити файл у об’єкт MapiMessage за допомогою методу MapiMessage.Load від Aspose.Email. Ви можете завантажити контакт у MapiMessage і обробити його як звичайне повідомлення MAPI: читати властивості, змінювати, зберігати, додавати до сховища, надсилати. Наступний приклад коду покаже вам, як завантажити та обробити контакти Outlook:

  1. Завантажте існуючий елемент контакту у файлі MSG за допомогою методу MapiMessage.Load. Цей метод читає вміст вказаного файлу MSG та створює об’єкт MapiMessage, що представляє електронне повідомлення.
  2. Встановіть вміст HTML тіла за допомогою методу SetBodyContent, щоб замінити вміст.
  3. Вкажіть параметр BodyContentType.Html, який вказує, що наданий вміст у форматі HTML. Це забезпечує правильне інтерпретування вмісту як HTML при перегляді його клієнтами електронної пошти.
  4. Збережіть змінений об’єкт MapiMessage назад у файл MSG за допомогою методу Save.
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. Отримайте та відобразіть інформацію про контакт. У цьому прикладі ми отримуємо DisplayName, Email, CompanyName та Title властивості об’єкта MapiContact, які представляють ім’я, електронну адресу, назву компанії та посаду контакту відповідно. Ви можете отримати доступ до інших властивостей об’єкта 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");

Висновок

У цій статті ми дослідили, як витягнути інформацію про контакт з файлів MSG Outlook програмно, використовуючи Aspose.Email. Ми пройшли через процес завантаження файлу MSG, витягнення деталей контакту за допомогою класу MapiContact та збереження контакту в різних форматах. Aspose.Email спрощує процес роботи з MSG файлами та надає широкий спектр функціональних можливостей для обробки електронних даних.

Не забудьте змінити шляхи до файлів та адаптувати код відповідно до ваших конкретних вимог. Комплексна документація Aspose.Email та корисні форумі спільноти ще більше допоможуть вам ефективно використовувати її можливості для витягування інформації про контакти.

Дивіться також