Контакти є важливою частиною будь-якого клієнта електронної пошти, оскільки вони полегшують роботу користувача, запам’ятовуючи всі їхні контакти, подібно до контактів на вашому смартфоні. Контакти Outlook зберігають багато інформації про особу, як-от її ім’я, адреса, контактний номер, адреса електронної пошти тощо. Ці контакти можна зберігати у форматах MSG і VCF. Ви можете опинитися в ситуації, коли вам потрібно буде створити або змінити контакти MSG або VCF програмним шляхом. Для цього ця стаття навчить вас працювати з контактами MSG і VCF за допомогою C++.
- C++ API для роботи з контактами MSG і VCF
- Створення контактів MSG і VCF
- Читайте контакти MSG і VCF
- Змінити контакти MSG і VCF
- Отримайте безкоштовну ліцензію
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. Нижче наведено кроки для досягнення цього.
- Створіть екземпляр класу MapiContact.
- Встановіть такі властивості контакту, як ім’я, адреса, телефон тощо.
- Збережіть контакт за допомогою методу MapiContact->Save(System::String filePath, Aspose::Email::Mapi::ContactSaveFormat saveFormat).
Наведений нижче приклад коду демонструє, як створити контакт 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.
- Завантажте контакт за допомогою класу MapiMessage.
- Перетворіть MapiMessage на IMapiMessageItem за допомогою методу MapiMessage->ToMapiMessageItem() і переведіть його на MapiContact.
- Прочитайте властивості контакту.
Нижче наведено приклад коду для читання контакту 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, як показано в розділі Читання контактів MSG і VCF.
- Змініть потрібні властивості контакту.
- Збережіть контакт за допомогою методу MapiContact->Save(System::String filePath, Aspose::Email::Mapi::ContactSaveFormat saveFormat).
Наведений нижче приклад коду демонструє, як змінити контакти 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, відвідавши офіційну документацію. Якщо у вас виникли запитання, зв’яжіться з нами на нашому безкоштовному форумі підтримки.