Работа с контактами Outlook

Создание, сохранение и чтение контактов

Как и MAPIMessage, Aspose.Email позволяет создавать контакты Outlook. MapiContact класс предоставляет все свойства, связанные с контактами, необходимые для создания контакта Outlook. В этой статье показано, как создать, сохранить и прочитать контакт Outlook с помощью MapiContact class.

Создание и сохранение контакта Outlook

Чтобы создать контакт и сохранить его на диске, выполните следующие действия:

  1. Создайте новый объект из MapiContact class.
  2. Введите контактную информацию об объекте.
  3. Добавьте данные фотографии (если есть).
  4. Сохраните контакт в формате MSG или vCard.

В следующем фрагменте кода показано, как создать и сохранить контакт Outlook.

Сохранить список рассылки Mapi в один многоконтактный файл VCF

В приведенном ниже примере кода показано, как сохранить список рассылки в многоконтактный файл VCF:

// convert the `msg` object to a `MapiMessage` object
var dlist = (MapiDistributionList)msg.ToMapiMessageItem();

//save the distribution list
var options = new MapiDistributionListSaveOptions(ContactSaveFormat.VCard);
dlist.Save("distribution_list.vcf", options);

Сохранить контакт в формате VCF версии 3

Чтобы сохранить контакт в формате VCF версии 3, используйте VCardVersion перечислимый для установки VCardSaveOptions.Version имущество. Следующий пример кода демонстрирует использование VCardVersion перечислим для сохранения контактного формата VCF версии 3:


Чтение контакта MAPI

The MapiContact класс можно использовать для загрузки контактов в формате Outlook MSG и vCard. В следующем фрагменте кода показано, как загрузить контакты Outlook, сохраненные в формате MSG и VCF, в MapiContact.

Загрузка контакта из MSG

В следующем фрагменте кода показано, как загружать контакты из MSG.

Загрузка контакта из vCard

В следующем фрагменте кода показано, как загрузить контакты из vCard.

Загрузка контакта из vCard с указанной кодировкой

В следующем фрагменте кода показано, как загрузить контакты из vCard с указанной кодировкой.

Сохранение контактных элементов vCard в указанной кодировке

Настройте режим сохранения при работе с файлами vCard с помощью VCardSaveOptions класс. PreferredTextEncoding свойство класса будет указывать кодировку, которая будет использоваться при сохранении контактных элементов vCard.

В следующем примере кода показано, как реализовать это свойство в своем проекте:

var cont = VCardContact.Load(fileName, Encoding.UTF8);
var opt = new VCardSaveOptions();
opt.PreferredTextEncoding = Encoding.UTF8;
cont.Save("my.vcard", opt);

Сохранение файлов vCard с расширенными полями

The UseExtensions свойство позволяет вам контролировать, можно ли использовать расширенные поля при сохранении файлов vCard. Если установлено значение true (по умолчанию), расширения разрешены, что обеспечивает совместимость с настраиваемыми полями и дополнительной контактной информацией.

Чтение нескольких контактов в формате vCard

Наша библиотека позволяет получить список всех контактов с vCard. Это можно сделать следующими способами и шагами:

// Checks whether VCard source stream contains multiple contacts.
VCardContact.IsMultiContacts(Stream stream)

// Loads list of all contacts from VCard file.
VCardContact.LoadAsMultiple(string filePath, Encoding encoding)

// Loads list of all contacts from VCard stream.
VCardContact.LoadAsMultiple(Stream stream, Encoding encoding)

В следующем фрагменте кода показано, как работать с файлами vCard, содержащими несколько контактов:

using (FileStream stream = new FileStream("test.vcf", FileMode.Open, FileAccess.Read))
{
    if(VCardContact.IsMultiContacts(stream))
    {
        List<VCardContact> contacts = VCardContact.LoadAsMultiple(stream, Encoding.UTF8);
    }
}

Отображение контактной информации в MHTML

Контакт Outlook можно преобразовать в MHTML с помощью API Aspose.Email. В этом примере показано, как vCard загружается в MapiContact а затем преобразован в MHTML с помощью MailMessage API.