Danh bạ là một phần thiết yếu của bất kỳ ứng dụng email nào vì chúng tạo điều kiện cho người dùng bằng cách ghi nhớ tất cả các số liên lạc của họ, tương tự như các số liên lạc trên điện thoại thông minh của bạn. Danh bạ Outlook lưu trữ nhiều thông tin liên quan đến một người, chẳng hạn như tên, địa chỉ, số liên lạc, địa chỉ email, v.v. Những liên hệ này có thể được lưu trữ ở định dạng MSGVCF. Bạn có thể thấy mình trong các tình huống mà bạn cần tạo hoặc thay đổi các liên hệ MSG hoặc VCF theo lập trình. Vì vậy, bài viết này sẽ hướng dẫn bạn cách làm việc với các liên hệ MSG và VCF bằng C ++.

API C ++ để làm việc với Liên hệ MSG và VCF

Aspose.Email for C ++ là một thư viện C ++ gốc để tạo, thao tác và gửi email mà không yêu cầu cài đặt Microsoft Outlook. API cũng hỗ trợ làm việc với danh bạ và lịch. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.

PM> Install-Package Aspose.Email.Cpp

Tạo Liên hệ MSG và VCF

Trong phần này, bạn sẽ học cách tạo một liên hệ Outlook và lưu nó ở định dạng MSG và VCF. Sau đây là các bước để đạt được điều đó.

Mã mẫu sau đây trình bày cách tạo liên hệ Outlook và lưu nó ở định dạng MSG và VCF bằng C ++.

// Tạo một phiên bản của lớp MapiContact để đại diện cho liên hệ
System::SharedPtr<MapiContact> contact = System::MakeObject<MapiContact>();

// Đặt thuộc tính của liên hệ
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");

// Thêm ảnh
{
    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));
}

// Lưu địa chỉ liên hệ ở định dạng MSG
contact->Save(u"OutputDirectory\\MapiContact_out.msg", Aspose::Email::Mapi::ContactSaveFormat::Msg);

// Lưu địa chỉ liên hệ ở định dạng VCF
contact->Save(u"OutputDirectory\\MapiContact_out.vcf", Aspose::Email::Mapi::ContactSaveFormat::VCard);
Liên hệ được tạo bởi mã mẫu

Liên hệ được tạo bởi mã mẫu

Đọc Danh bạ MSG và VCF

Aspose.Email for C ++ hỗ trợ đọc danh bạ ở cả hai định dạng MSG và VCF. Tại đây, bạn sẽ thấy cách mở danh bạ MSG và VCF bằng C ++.

Đọc liên hệ MSG

Sau đây là các bước để đọc một liên hệ MSG.

Sau đây là mã mẫu để đọc một liên hệ MSG bằng C ++.

// Tải tệp liên hệ
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());

// Hiển thị thông tin liên hệ
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());

Mở liên hệ VCF

Để đọc liên hệ VCF, chỉ cần tải liên hệ bằng phương thức MapiContact :: FromVCard. Mã mẫu sau đây cho thấy cách đọc liên hệ VCF bằng C ++.

// Tải tệp liên hệ
System::SharedPtr<MapiContact> mapiContact = MapiContact::FromVCard(u"SourceDirectory\\Contact.vcf");

// Hiển thị thông tin liên hệ
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());

Sửa đổi Danh bạ MSG và VCF

Để sửa đổi liên hệ MSG / VCF, hãy mở liên hệ như đã trình bày trong phần trước và sau đó thay đổi các thuộc tính của nó. Sau đây là các bước để sửa đổi danh bạ.

Mã mẫu sau đây trình bày cách sửa đổi các liên hệ MSG / VCF bằng C ++.

// Tải tệp liên hệ
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());

// Sửa đổi thuộc tính liên hệ
mapiContact->set_NameInfo(System::MakeObject<MapiContactNamePropertySet>(u"John", u"A.", u"Doe"));

// Lưu số liên lạc
mapiContact->Save(u"OutputDirectory\\MapiContact_out.msg", Aspose::Email::Mapi::ContactSaveFormat::Msg);

Nhận giấy phép miễn phí

Bạn có thể dùng thử API mà không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.

Bản thử trực tiếp

Sự kết luận

Trong bài viết này, bạn đã học cách làm việc với các liên hệ MSG và VCF bằng C ++. Cụ thể, bạn đã học cách tạo, đọc và sửa đổi danh bạ bằng Aspose.Email for C ++ API. API cung cấp một loạt các tính năng bổ sung để tự động hóa các tác vụ liên quan đến email của bạn. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Nếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm