Контакти є важливою частиною будь-якого клієнта електронної пошти, оскільки вони полегшують роботу користувача, запам’ятовуючи всі їхні контакти, подібно до контактів на вашому смартфоні. Контакти Outlook зберігають багато інформації про особу, як-от її ім’я, адреса, контактний номер, адреса електронної пошти тощо. Ці контакти можна зберігати у форматах MSG і VCF. Ви можете опинитися в ситуації, коли вам потрібно буде створити або змінити контакти MSG або VCF програмним шляхом. Для цього ця стаття навчить вас працювати з контактами MSG і VCF за допомогою C++.

C++ API для роботи з контактами MSG і VCF

Aspose.Email for C++ — це рідна бібліотека C++ для створення, обробки та надсилання електронних листів без встановлення Microsoft Outlook. API також підтримує роботу з контактами та календарями. Ви можете встановити API через NuGet або завантажити його безпосередньо з розділу Завантаження.

PM> Install-Package Aspose.Email.Cpp

Створення контактів MSG і VCF

У цьому розділі ви дізнаєтеся, як створити контакт Outlook і зберегти його у форматі MSG і VCF. Нижче наведено кроки для досягнення цього.

Наведений нижче приклад коду демонструє, як створити контакт Outlook і зберегти його у форматі MSG і VCF за допомогою C++.

// Створіть екземпляр класу MapiContact для представлення контакту
System::SharedPtr<MapiContact> contact = System::MakeObject<MapiContact>();

// Встановити властивості контакту
System::SharedPtr<MapiContact> contact = System::MakeObject<MapiContact>();
contact->set_NameInfo(System::MakeObject<MapiContactNamePropertySet>(u"John", u"A.", u"Doe"));
contact->set_ProfessionalInfo(System::MakeObject<MapiContactProfessionalPropertySet>(u"Awthentikz", u"Social work assistant"));
contact->get_PersonalInfo()->set_PersonalHomePage(u"aspose.com");
contact->get_PhysicalAddresses()->get_HomeAddress()->set_Address(u"Im Astenfeld 59 8580 EDELSCHROTT");
contact->get_ElectronicAddresses()->set_Email1(System::MakeObject<MapiContactElectronicAddress>(u"test", u"SMTP", u"JohnADoe@test.com"));
contact->set_Telephones(System::MakeObject<MapiContactTelephonePropertySet>(u"06605045265"));
contact->get_PersonalInfo()->set_Children(System::MakeArray<System::String>({ u"child1", u"child2", u"child3" }));
contact->set_Categories(System::MakeArray<System::String>({ u"category1", u"category2", u"category3" }));
contact->set_Mileage(u"Some test mileage");
contact->set_Billing(u"Test billing information");
contact->get_OtherFields()->set_ReminderTime(System::DateTime(2022, 1, 1, 0, 0, 55));
contact->get_OtherFields()->set_UserField1(u"ContactUserField1");
contact->get_OtherFields()->set_UserField2(u"ContactUserField2");
contact->get_OtherFields()->set_UserField3(u"ContactUserField3");
contact->get_OtherFields()->set_UserField4(u"ContactUserField4");

// Додайте фото
{
    System::SharedPtr<System::IO::FileStream> fs = System::IO::File::OpenRead(u"SourceDirectory\\Desert.jpg");
    System::ArrayPtr<uint8_t> buffer = System::MakeArray<uint8_t>(fs->get_Length(), 0);
    fs->Read(buffer, 0, buffer->get_Length());
    contact->set_Photo(System::MakeObject<MapiContactPhoto>(buffer, Aspose::Email::Mapi::MapiContactPhotoImageFormat::Jpeg));
}

// Збережіть контакт у форматі MSG
contact->Save(u"OutputDirectory\\MapiContact_out.msg", Aspose::Email::Mapi::ContactSaveFormat::Msg);

// Збережіть контакт у форматі VCF
contact->Save(u"OutputDirectory\\MapiContact_out.vcf", Aspose::Email::Mapi::ContactSaveFormat::VCard);
Контакт, створений за зразком коду

Контакт, створений за зразком коду

Читайте контакти MSG і VCF

Aspose.Email for C++ підтримує читання контактів у форматах MSG і VCF. Тут ви побачите, як відкривати контакти MSG і VCF за допомогою C++.

Прочитайте MSG Contact

Нижче наведено кроки для читання контакту MSG.

Нижче наведено приклад коду для читання контакту MSG за допомогою C++.

// Завантажте файл контактів
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());

// Відображення контактної інформації
System::Console::WriteLine(mapiContact->get_NameInfo()->get_DisplayName());
System::Console::WriteLine(mapiContact1->get_PhysicalAddresses()->get_HomeAddress()->get_Address());
System::Console::WriteLine(mapiContact->get_Telephones()->get_PrimaryTelephoneNumber());
System::Console::WriteLine(mapiContact->get_ElectronicAddresses()->get_Email1());

Відкрийте контакт VCF

Щоб прочитати контакт VCF, просто завантажте контакт за допомогою методу MapiContact::FromVCard. Наведений нижче приклад коду показує, як читати контакт VCF за допомогою C++.

// Завантажте файл контактів
System::SharedPtr<MapiContact> mapiContact = MapiContact::FromVCard(u"SourceDirectory\\Contact.vcf");

// Відображення контактної інформації
System::Console::WriteLine(mapiContact->get_NameInfo()->get_DisplayName());
System::Console::WriteLine(mapiContact1->get_PhysicalAddresses()->get_HomeAddress()->get_Address());
System::Console::WriteLine(mapiContact->get_Telephones()->get_PrimaryTelephoneNumber());
System::Console::WriteLine(mapiContact->get_ElectronicAddresses()->get_Email1());

Змінити контакти MSG і VCF

Щоб змінити контакт MSG/VCF, відкрийте контакт, як показано в попередньому розділі, а потім змініть його властивості. Нижче наведено кроки для зміни контактів.

Наведений нижче приклад коду демонструє, як змінити контакти MSG/VCF за допомогою C++.

// Завантажте файл контактів
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());

// Змінити властивості контакту
mapiContact->set_NameInfo(System::MakeObject<MapiContactNamePropertySet>(u"John", u"A.", u"Doe"));

// Збережіть контакт
mapiContact->Save(u"OutputDirectory\\MapiContact_out.msg", Aspose::Email::Mapi::ContactSaveFormat::Msg);

Отримайте безкоштовну ліцензію

Ви можете спробувати API без обмежень щодо оцінки, надіславши запит на безкоштовну тимчасову ліцензію.

Жива демо

Висновок

У цій статті ви дізналися, як працювати з контактами MSG і VCF за допомогою C++. Зокрема, ви навчилися створювати, читати та змінювати контакти за допомогою API Aspose.Email for C++. API надає низку додаткових функцій для автоматизації ваших завдань, пов’язаних з електронною поштою. Ви можете детально вивчити API, відвідавши офіційну документацію. Якщо у вас виникли запитання, зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також