Kontakty są istotną częścią każdego klienta poczty e-mail, ponieważ ułatwiają użytkownikowi zapamiętywanie wszystkich jego kontaktów, podobnie jak kontakty na smartfonie. Kontakty programu Outlook przechowują wiele informacji dotyczących osoby, takich jak imię i nazwisko, adres, numer kontaktowy, adres e-mail itp. Kontakty te można przechowywać w formatach MSG i VCF. Możesz znaleźć się w sytuacji, w której musisz programowo utworzyć lub zmienić kontakty MSG lub VCF. W tym celu w tym artykule dowiesz się, jak pracować z kontaktami MSG i VCF przy użyciu C++.

C++ API do pracy z kontaktami MSG i VCF

Aspose.Email for C++ to natywna biblioteka C++ do tworzenia, manipulowania i wysyłania wiadomości e-mail bez konieczności instalowania programu Microsoft Outlook. API obsługuje również pracę z kontaktami i kalendarzami. Możesz zainstalować API przez NuGet lub pobrać bezpośrednio z sekcji Downloads.

PM> Install-Package Aspose.Email.Cpp

Utwórz kontakty MSG i VCF

W tej sekcji dowiesz się, jak utworzyć kontakt Outlook i zapisać go w formacie MSG i VCF. Oto kroki, aby to osiągnąć.

Poniższy przykładowy kod pokazuje, jak utworzyć kontakt programu Outlook i zapisać go w formacie MSG i VCF przy użyciu języka C++.

// Utwórz instancję klasy MapiContact, aby reprezentować kontakt
System::SharedPtr<MapiContact> contact = System::MakeObject<MapiContact>();

// Ustaw właściwości kontaktu
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");

// Dodaj zdjęcie
{
    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));
}

// Zapisz kontakt w formacie MSG
contact->Save(u"OutputDirectory\\MapiContact_out.msg", Aspose::Email::Mapi::ContactSaveFormat::Msg);

// Zapisz kontakt w formacie VCF
contact->Save(u"OutputDirectory\\MapiContact_out.vcf", Aspose::Email::Mapi::ContactSaveFormat::VCard);
Kontakt wygenerowany przez przykładowy kod

Kontakt wygenerowany przez przykładowy kod

Przeczytaj kontakty MSG i VCF

Aspose.Email for C++ obsługuje odczytywanie kontaktów zarówno w formatach MSG, jak i VCF. Tutaj zobaczysz, jak otwierać kontakty MSG i VCF za pomocą C++.

Przeczytaj kontakt MSG

Poniżej przedstawiono kroki, aby odczytać kontakt MSG.

Poniżej znajduje się przykładowy kod służący do odczytywania kontaktu MSG przy użyciu języka C++.

// Załaduj plik kontaktowy
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());

// Wyświetl informacje kontaktowe
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());

Otwórz kontakt VCF

Aby odczytać kontakt VCF, wystarczy załadować kontakt przy użyciu metody MapiContact::FromVCard. Poniższy przykładowy kod pokazuje, jak odczytać kontakt VCF przy użyciu języka C++.

// Załaduj plik kontaktowy
System::SharedPtr<MapiContact> mapiContact = MapiContact::FromVCard(u"SourceDirectory\\Contact.vcf");

// Wyświetl informacje kontaktowe
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());

Zmodyfikuj kontakty MSG i VCF

Aby zmodyfikować kontakt MSG/VCF, otwórz kontakt, jak pokazano w poprzedniej sekcji, a następnie zmień jego właściwości. Poniżej przedstawiono kroki, aby zmodyfikować kontakty.

Poniższy przykładowy kod ilustruje sposób modyfikowania kontaktów MSG/VCF przy użyciu języka C++.

// Załaduj plik kontaktowy
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());

// Zmodyfikuj właściwości kontaktu
mapiContact->set_NameInfo(System::MakeObject<MapiContactNamePropertySet>(u"John", u"A.", u"Doe"));

// Zapisz kontakt
mapiContact->Save(u"OutputDirectory\\MapiContact_out.msg", Aspose::Email::Mapi::ContactSaveFormat::Msg);

Uzyskaj bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Demo na żywo

Wniosek

W tym artykule nauczyłeś się, jak pracować z kontaktami MSG i VCF przy użyciu języka C++. W szczególności nauczyłeś się, jak tworzyć, odczytywać i modyfikować kontakty za pomocą Aspose.Email for C++ API. Interfejs API zapewnia szereg dodatkowych funkcji do automatyzacji zadań związanych z pocztą e-mail. Możesz szczegółowo zapoznać się z interfejsem API, odwiedzając oficjalną dokumentację. Jeśli masz jakiekolwiek pytania, skontaktuj się z nami na naszym bezpłatnym forum pomocy technicznej.

Zobacz też