I contatti sono una parte essenziale di qualsiasi client di posta elettronica in quanto facilitano l’utente ricordando tutti i suoi contatti, in modo simile ai contatti sul tuo smartphone. I contatti di Outlook archiviano molte informazioni relative a una persona, come nome, indirizzo, numero di contatto, indirizzo e-mail, ecc. Questi contatti possono essere archiviati nei formati MSG e VCF. Potresti trovarti in scenari in cui devi creare o modificare i contatti MSG o VCF a livello di codice. Per questo, questo articolo ti insegnerà come lavorare con i contatti MSG e VCF usando C++.

API C++ per lavorare con i contatti MSG e VCF

Aspose.Email per C++ è una libreria C++ nativa per la creazione, la manipolazione e l’invio di e-mail senza richiedere l’installazione di Microsoft Outlook. L’API supporta anche l’utilizzo di contatti e calendari. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.

PM> Install-Package Aspose.Email.Cpp

Crea contatti MSG e VCF

In questa sezione imparerai come creare un contatto di Outlook e salvarlo in formato MSG e VCF. Di seguito sono riportati i passaggi per raggiungere questo obiettivo.

Il codice di esempio seguente illustra come creare un contatto di Outlook e salvarlo in formato MSG e VCF utilizzando C++.

// Crea un'istanza della classe MapiContact per rappresentare il contatto
System::SharedPtr<MapiContact> contact = System::MakeObject<MapiContact>();

// Imposta le proprietà del contatto
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");

// Aggiungere una foto
{
    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));
}

// Salva il contatto in formato MSG
contact->Save(u"OutputDirectory\\MapiContact_out.msg", Aspose::Email::Mapi::ContactSaveFormat::Msg);

// Salva il contatto in formato VCF
contact->Save(u"OutputDirectory\\MapiContact_out.vcf", Aspose::Email::Mapi::ContactSaveFormat::VCard);
Contatto generato dal codice di esempio

Contatto generato dal codice di esempio

Leggi i contatti MSG e VCF

Aspose.Email per C++ supporta la lettura dei contatti nei formati MSG e VCF. Qui vedrai come aprire i contatti MSG e VCF usando C++.

Leggi MSG Contact

Di seguito sono riportati i passaggi per leggere un contatto MSG.

Di seguito è riportato il codice di esempio per leggere un contatto MSG utilizzando C++.

// Carica il file di contatto
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());

// Visualizza le informazioni di contatto
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());

Aprire il contatto VCF

Per leggere un contatto VCF, è sufficiente caricare il contatto utilizzando il metodo MapiContact::FromVCard. Il codice di esempio seguente mostra come leggere un contatto VCF usando C++.

// Carica il file di contatto
System::SharedPtr<MapiContact> mapiContact = MapiContact::FromVCard(u"SourceDirectory\\Contact.vcf");

// Visualizza le informazioni di contatto
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());

Modifica i contatti MSG e VCF

Per modificare un contatto MSG/VCF, aprire il contatto come illustrato nella sezione precedente e modificarne le proprietà. Di seguito sono riportati i passaggi per modificare i contatti.

Il codice di esempio seguente illustra come modificare i contatti MSG/VCF utilizzando C++.

// Carica il file di contatto
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());

// Modifica le proprietà del contatto
mapiContact->set_NameInfo(System::MakeObject<MapiContactNamePropertySet>(u"John", u"A.", u"Doe"));

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

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Dimostrazione dal vivo

Conclusione

In questo articolo hai imparato a lavorare con i contatti MSG e VCF usando C++. In particolare, hai imparato come creare, leggere e modificare i contatti utilizzando Aspose.Email per l’API C++. L’API fornisce una serie di funzionalità aggiuntive per automatizzare le attività relative alla posta elettronica. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.

Guarda anche