Kontakte sind ein wesentlicher Bestandteil jedes Email-Clients, da sie dem Benutzer helfen, sich alle seine Kontakte zu merken, ähnlich wie die Kontakte auf Ihrem Smartphone. Outlook-Kontakte speichern viele Informationen zu einer Person, z. B. Name, Adresse, Kontaktnummer, Email-Adresse usw. Diese Kontakte können in den Formaten MSG und VCF gespeichert werden. Möglicherweise befinden Sie sich in Szenarien, in denen Sie MSG oder VCF-Kontakte programmgesteuert erstellen oder ändern müssen. Dazu lernen Sie in diesem Artikel, wie Sie mit MSG und VCF-Kontakten unter Verwendung von C++ arbeiten.

C++-API zum Arbeiten mit MSG und VCF-Kontakten

Aspose.Email for C++ ist eine native C++ Bibliothek zum Erstellen, Bearbeiten und Senden von Emails, ohne dass Microsoft Outlook installiert sein muss. Die API unterstützt auch die Arbeit mit Kontakten und Kalendern. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.

PM> Install-Package Aspose.Email.Cpp

Erstellen Sie MSG und VCF-Kontakte

In diesem Abschnitt erfahren Sie, wie Sie einen Outlook-Kontakt erstellen und im MSG und VCF Format speichern. Im Folgenden sind die Schritte aufgeführt, um dies zu erreichen.

Der folgende Beispielcode veranschaulicht, wie ein Outlook-Kontakt erstellt und mit C++ im MSG und VCF Format gespeichert wird.

// Erstellen Sie eine Instanz der MapiContact Klasse, um den Kontakt darzustellen
System::SharedPtr<MapiContact> contact = System::MakeObject<MapiContact>();

// Legen Sie die Eigenschaften des Kontakts fest
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");

// Füge ein Foto hinzu
{
    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));
}

// Speichern Sie den Kontakt im MSG-Format
contact->Save(u"OutputDirectory\\MapiContact_out.msg", Aspose::Email::Mapi::ContactSaveFormat::Msg);

// Speichern Sie den Kontakt im VCF-Format
contact->Save(u"OutputDirectory\\MapiContact_out.vcf", Aspose::Email::Mapi::ContactSaveFormat::VCard);
Vom Beispielcode generierter Kontakt

Vom Beispielcode generierter Kontakt

Lesen Sie MSG und VCF-Kontakte

Aspose.Email for C++ unterstützt das Lesen von Kontakten sowohl im MSG- als auch im VCF-Format. Hier sehen Sie, wie Sie MSG und VCF-Kontakte mit C++ öffnen.

Lesen Sie MSG-Kontakt

Im Folgenden sind die Schritte zum Lesen eines MSG-Kontakts aufgeführt.

Im Folgenden finden Sie den Beispielcode zum Lesen eines MSG-Kontakts mit C++.

// Laden Sie die Kontaktdatei
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());

// Kontaktdaten anzeigen
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-Kontakt öffnen

Um einen VCF-Kontakt zu lesen, laden Sie den Kontakt einfach mit der methode MapiContact::FromVCard. Der folgende Beispielcode zeigt, wie ein VCF-Kontakt mit C++ gelesen wird.

// Laden Sie die Kontaktdatei
System::SharedPtr<MapiContact> mapiContact = MapiContact::FromVCard(u"SourceDirectory\\Contact.vcf");

// Kontaktdaten anzeigen
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 und VCF-Kontakte ändern

Um einen MSG/VCF-Kontakt zu ändern, öffnen Sie den Kontakt wie im vorherigen Abschnitt gezeigt und ändern dann seine Eigenschaften. Im Folgenden sind die Schritte zum Ändern von Kontakten aufgeführt.

Der folgende Beispielcode zeigt, wie MSG/VCF-Kontakte mit C++ geändert werden.

// Laden Sie die Kontaktdatei
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());

// Kontakteigenschaften ändern
mapiContact->set_NameInfo(System::MakeObject<MapiContactNamePropertySet>(u"John", u"A.", u"Doe"));

// Speichern Sie den Kontakt
mapiContact->Save(u"OutputDirectory\\MapiContact_out.msg", Aspose::Email::Mapi::ContactSaveFormat::Msg);

Holen Sie sich eine kostenlose Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Live-Demo

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit C++ mit MSG und VCF-Kontakten arbeiten. Insbesondere haben Sie gelernt, wie Sie Kontakte mit Aspose.Email for C++ API erstellen, lesen und ändern. Die API bietet eine Reihe zusätzlicher Funktionen zur Automatisierung Ihrer Email-bezogenen Aufgaben. Sie können die API im Detail erkunden, indem Sie die offizielle Dokumentation besuchen. Wenn Sie Fragen haben, können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.

Siehe auch