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
- Erstellen Sie MSG und VCF-Kontakte
- Lesen Sie MSG und VCF-Kontakte
- MSG und VCF-Kontakte ändern
- Holen Sie sich eine kostenlose Lizenz
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.
- Erstellen Sie eine Instanz der Klasse MapiContact.
- Legen Sie die Eigenschaften des Kontakts wie Name, Adresse, Telefon usw. fest.
- Speichern Sie den Kontakt mit der methode MapiContact->Save(System::String filePath, Aspose::Email::Mapi::ContactSaveFormat saveFormat).
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);
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.
- Laden Sie den Kontakt mithilfe der Klasse MapiMessage.
- Konvertieren Sie MapiMessage mit der methode MapiMessage->ToMapiMessageItem() in IMapiMessageItem und wandeln Sie es in MapiContact um.
- Lesen Sie die Eigenschaften des Kontakts.
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.
- Laden Sie den MSG/VCF-Kontakt wie im Abschnitt MSG und VCF-Kontakte lesen gezeigt.
- Ändern Sie die gewünschten Eigenschaften des Kontakts.
- Speichern Sie den Kontakt mit der methode MapiContact->Save(System::String filePath, Aspose::Email::Mapi::ContactSaveFormat saveFormat).
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.