Trabalhando com Contatos do Outlook usando a Biblioteca C++ Email Parser
Criando, Salvando e Lendo Contatos
Assim como o MapiMessage, a Aspose.Email permite criar contatos do Outlook. A classe MapiContact fornece todas as propriedades relacionadas a contatos necessárias para criar um contato do Outlook. Este artigo mostra como criar, salvar e ler um contato do Outlook usando a classe MapiContact.
Criar e Salvar Contato do Outlook
Para criar um contato e salvá-lo no disco:
- Instanciar um novo objeto da classe MapiContact.
- Inserir informações das propriedades do contato.
- Adicionar dados da foto (se houver).
- Salvar o contato no formato MSG ou VCard.
O seguinte trecho de código mostra como criar e salvar um contato do Outlook com a Biblioteca ou API C++ Email Parser.
For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C | |
// The path to the File directory. | |
System::String dataDir = RunExamples::GetDataDir_Outlook(); | |
System::SharedPtr<MapiContact> contact = System::MakeObject<MapiContact>(); | |
contact->set_NameInfo(System::MakeObject<MapiContactNamePropertySet>(L"Bertha", L"A.", L"Buell")); | |
contact->set_ProfessionalInfo(System::MakeObject<MapiContactProfessionalPropertySet>(L"Awthentikz", L"Social work assistant")); | |
contact->get_PersonalInfo()->set_PersonalHomePage(L"B2BTies.com"); | |
contact->get_PhysicalAddresses()->get_WorkAddress()->set_Address(L"Im Astenfeld 59 8580 EDELSCHROTT"); | |
contact->get_ElectronicAddresses()->set_Email1(System::MakeObject<MapiContactElectronicAddress>(L"Experwas", L"SMTP", L"BerthaABuell@armyspy.com")); | |
contact->set_Telephones(System::MakeObject<MapiContactTelephonePropertySet>(L"06605045265")); | |
contact->get_PersonalInfo()->set_Children(System::MakeArray<System::String>({L"child1", L"child2", L"child3"})); | |
contact->set_Categories(System::MakeArray<System::String>({L"category1", L"category2", L"category3"})); | |
contact->set_Mileage(L"Some test mileage"); | |
contact->set_Billing(L"Test billing information"); | |
contact->get_OtherFields()->set_Journal(true); | |
contact->get_OtherFields()->set_Private(true); | |
contact->get_OtherFields()->set_ReminderTime(System::DateTime(2014, 1, 1, 0, 0, 55)); | |
contact->get_OtherFields()->set_ReminderTopic(L"Test topic"); | |
contact->get_OtherFields()->set_UserField1(L"ContactUserField1"); | |
contact->get_OtherFields()->set_UserField2(L"ContactUserField2"); | |
contact->get_OtherFields()->set_UserField3(L"ContactUserField3"); | |
contact->get_OtherFields()->set_UserField4(L"ContactUserField4"); | |
// Add a photo | |
{ | |
System::SharedPtr<System::IO::FileStream> fs = System::IO::File::OpenRead(dataDir + L"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::Outlook::MapiContactPhotoImageFormat::Jpeg)); | |
} | |
// Save the Contact in MSG format | |
contact->Save(dataDir + L"MapiContact_out.msg", Aspose::Email::Outlook::ContactSaveFormat::Msg); | |
// Save the Contact in VCF format | |
contact->Save(dataDir + L"MapiContact_out.vcf", Aspose::Email::Outlook::ContactSaveFormat::VCard); |
Lendo um MapiContact
A classe MapiContact pode ser usada para carregar contatos do Outlook nos formatos MSG e VCard. O seguinte trecho de código mostra como carregar contatos do Outlook salvos como MSG e VCF em um MapiContact.
Carregando um Contato de MSG
O seguinte trecho de código mostra como carregar um contato de MSG.
For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C | |
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(dataDir + L"Contact.msg"); | |
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Outlook::MapiContact>(msg->ToMapiMessageItem()); |
Carregando um Contato de VCard
O seguinte trecho de código mostra como carregar um contato de vCard.
For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C | |
auto vcfTest = VCardContact::Load(dataDir + L"Contact.vcf"); | |
System::SharedPtr<MapiContact> contact = MapiContact::FromVCard(dataDir + L"Contact.vcf"); |