Les contacts sont une partie essentielle de tout client de messagerie car ils facilitent l’utilisateur en se souvenant de tous leurs contacts, similaires aux contacts sur votre smartphone. Les contacts Outlook stockent de nombreuses informations concernant une personne, telles que son nom, son adresse, son numéro de contact, son adresse e-mail, etc. Ces contacts peuvent être stockés aux formats MSG et VCF. Vous pouvez vous retrouver dans des scénarios où vous devez créer ou modifier des contacts MSG ou VCF par programmation. Pour cela, cet article vous apprendra comment travailler avec les contacts MSG et VCF en utilisant C++.
- API C++ pour travailler avec les contacts MSG et VCF
- Créer des contacts MSG et VCF
- Lire les contacts MSG et VCF
- Modifier les contacts MSG et VCF
- Obtenez une licence gratuite
API C++ pour travailler avec les contacts MSG et VCF
Aspose.Email for C++ est une bibliothèque C++ native pour créer, manipuler et envoyer des e-mails sans nécessiter l’installation de Microsoft Outlook. L’API prend également en charge l’utilisation des contacts et des calendriers. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section Téléchargements.
PM> Install-Package Aspose.Email.Cpp
Créer des contacts MSG et VCF
Dans cette section, vous apprendrez à créer un contact Outlook et à l’enregistrer au format MSG et VCF. Voici les étapes pour y parvenir.
- Créez une instance de la classe MapiContact.
- Définissez les propriétés du contact telles que le nom, l’adresse, le téléphone, etc.
- Enregistrez le contact en utilisant la méthode MapiContact->Save(System::String filePath, Aspose::Email::Mapi::ContactSaveFormat saveFormat).
L’exemple de code suivant montre comment créer un contact Outlook et l’enregistrer au format MSG et VCF à l’aide de C++.
// Créer une instance de la classe MapiContact pour représenter le contact
System::SharedPtr<MapiContact> contact = System::MakeObject<MapiContact>();
// Définir les propriétés du contact
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");
// Ajouter une photo
{
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));
}
// Enregistrer le contact au format MSG
contact->Save(u"OutputDirectory\\MapiContact_out.msg", Aspose::Email::Mapi::ContactSaveFormat::Msg);
// Enregistrer le contact au format VCF
contact->Save(u"OutputDirectory\\MapiContact_out.vcf", Aspose::Email::Mapi::ContactSaveFormat::VCard);
Lire les contacts MSG et VCF
Aspose.Email for C++ prend en charge la lecture des contacts aux formats MSG et VCF. Ici, vous verrez comment ouvrir des contacts MSG et VCF en utilisant C++.
Lire le contact MSG
Voici les étapes pour lire un contact MSG.
- Chargez le contact à l’aide de la classe MapiMessage.
- Convertissez MapiMessage en IMapiMessageItem en utilisant la méthode MapiMessage->ToMapiMessageItem() et convertissez-le en MapiContact.
- Lisez les propriétés du contact.
Voici un exemple de code pour lire un contact MSG à l’aide de C++.
// Charger le fichier de contact
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());
// Afficher les coordonnées
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());
Ouvrir le contact VCF
Pour lire un contact VCF, chargez simplement le contact en utilisant la méthode MapiContact::FromVCard. L’exemple de code suivant montre comment lire un contact VCF à l’aide de C++.
// Charger le fichier de contact
System::SharedPtr<MapiContact> mapiContact = MapiContact::FromVCard(u"SourceDirectory\\Contact.vcf");
// Afficher les coordonnées
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());
Modifier les contacts MSG et VCF
Pour modifier un contact MSG/VCF, ouvrez le contact comme illustré dans la section précédente, puis modifiez ses propriétés. Voici les étapes pour modifier les contacts.
- Chargez le contact MSG/VCF comme indiqué dans la section Lire les contacts MSG et VCF.
- Modifiez les propriétés souhaitées du contact.
- Enregistrez le contact en utilisant la méthode MapiContact->Save(System::String filePath, Aspose::Email::Mapi::ContactSaveFormat saveFormat).
L’exemple de code suivant montre comment modifier des contacts MSG/VCF à l’aide de C++.
// Charger le fichier de contact
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());
// Modifier les propriétés des contacts
mapiContact->set_NameInfo(System::MakeObject<MapiContactNamePropertySet>(u"John", u"A.", u"Doe"));
// Enregistrer le contact
mapiContact->Save(u"OutputDirectory\\MapiContact_out.msg", Aspose::Email::Mapi::ContactSaveFormat::Msg);
Obtenez une licence gratuite
Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.
Démo en direct
Conclusion
Dans cet article, vous avez appris à travailler avec des contacts MSG et VCF à l’aide de C++. Plus précisément, vous avez appris à créer, lire et modifier des contacts à l’aide de l’API Aspose.Email for C++. L’API fournit un ensemble de fonctionnalités supplémentaires pour automatiser vos tâches liées aux e-mails. Vous pouvez explorer l’API en détail en visitant la documentation officielle. Si vous avez des questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.