تعد جهات الاتصال جزءًا أساسيًا من أي عميل بريد إلكتروني لأنها تسهل على المستخدم من خلال تذكر جميع جهات الاتصال الخاصة به ، على غرار جهات الاتصال الموجودة على هاتفك الذكي. تخزن جهات اتصال Outlook الكثير من المعلومات المتعلقة بشخص ما ، مثل الاسم والعنوان ورقم الاتصال وعنوان البريد الإلكتروني وما إلى ذلك. يمكن تخزين جهات الاتصال هذه في تنسيقات MSG و VCF. قد تجد نفسك في سيناريوهات تحتاج فيها إلى إنشاء أو تعديل جهات اتصال MSG أو VCF برمجيًا. لذلك ، ستعلمك هذه المقالة كيفية العمل مع جهات اتصال MSG و VCF باستخدام C ++.

واجهة برمجة تطبيقات C ++ للعمل مع جهات اتصال MSG و VCF

Aspose.Email for C ++ هي مكتبة C ++ أصلية لإنشاء ومعالجة وإرسال رسائل البريد الإلكتروني دون الحاجة إلى تثبيت Microsoft Outlook. تدعم واجهة برمجة التطبيقات أيضًا العمل مع جهات الاتصال والتقويمات. يمكنك إما تثبيت API من خلال NuGet أو تنزيلها مباشرة من قسم التنزيلات.

PM> Install-Package Aspose.Email.Cpp

إنشاء جهات اتصال MSG و VCF

في هذا القسم ، ستتعلم كيفية إنشاء جهة اتصال Outlook وحفظها بتنسيق MSG و VCF. فيما يلي الخطوات لتحقيق ذلك.

يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء جهة اتصال Outlook وحفظها بتنسيق MSG و VCF باستخدام C ++.

// قم بإنشاء مثيل لفئة MapiContact لتمثيل جهة الاتصال
System::SharedPtr<MapiContact> contact = System::MakeObject<MapiContact>();

// تعيين خصائص جهة الاتصال
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");

// إضافة صورة
{
    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));
}

// احفظ جهة الاتصال بتنسيق MSG
contact->Save(u"OutputDirectory\\MapiContact_out.msg", Aspose::Email::Mapi::ContactSaveFormat::Msg);

// احفظ جهة الاتصال بتنسيق VCF
contact->Save(u"OutputDirectory\\MapiContact_out.vcf", Aspose::Email::Mapi::ContactSaveFormat::VCard);
تم إنشاء جهة اتصال بواسطة نموذج التعليمات البرمجية

تم إنشاء جهة اتصال بواسطة نموذج التعليمات البرمجية

قراءة اتصالات MSG و VCF

Aspose.Email for C ++ يدعم قراءة جهات الاتصال بتنسيقات MSG و VCF. هنا ، سترى كيفية فتح جهات اتصال MSG و VCF باستخدام C ++.

قراءة جهة اتصال MSG

فيما يلي خطوات قراءة جهة اتصال MSG.

التالي هو نموذج التعليمات البرمجية لقراءة جهة اتصال MSG باستخدام C ++.

// قم بتحميل ملف جهة الاتصال
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());

// عرض معلومات الاتصال
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

لقراءة جهة اتصال VCF ، ما عليك سوى تحميل جهة الاتصال باستخدام طريقة MapiContact :: FromVCard. يُظهر نموذج التعليمات البرمجية التالي كيفية قراءة جهة اتصال VCF باستخدام C ++.

// قم بتحميل ملف جهة الاتصال
System::SharedPtr<MapiContact> mapiContact = MapiContact::FromVCard(u"SourceDirectory\\Contact.vcf");

// عرض معلومات الاتصال
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 و VCF

لتعديل جهة اتصال MSG / VCF ، افتح جهة الاتصال كما هو موضح في القسم السابق ثم قم بتغيير خصائصها. فيما يلي خطوات تعديل جهات الاتصال.

يوضح نموذج التعليمات البرمجية التالي كيفية تعديل جهات اتصال MSG / VCF باستخدام C ++.

// قم بتحميل ملف جهة الاتصال
System::SharedPtr<MapiMessage> msg = MapiMessage::FromFile(u"SourceDirectory\\Contact.msg");
System::SharedPtr<MapiContact> mapiContact = System::DynamicCast<Aspose::Email::Mapi::MapiContact>(msg->ToMapiMessageItem());

// تعديل خصائص جهة الاتصال
mapiContact->set_NameInfo(System::MakeObject<MapiContactNamePropertySet>(u"John", u"A.", u"Doe"));

// احفظ جهة الاتصال
mapiContact->Save(u"OutputDirectory\\MapiContact_out.msg", Aspose::Email::Mapi::ContactSaveFormat::Msg);

احصل على رخصة مجانية

يمكنك تجربة واجهة برمجة التطبيقات بدون قيود التقييم من خلال طلب ترخيص مجاني مؤقت.

عرض حي

استنتاج

في هذه المقالة ، تعلمت كيفية العمل مع جهات اتصال MSG و VCF باستخدام C ++. على وجه التحديد ، لقد تعلمت كيفية إنشاء جهات اتصال وقراءتها وتعديلها باستخدام Aspose.Email لـ C ++ API. توفر واجهة برمجة التطبيقات مجموعة من الميزات الإضافية لأتمتة المهام المتعلقة بالبريد الإلكتروني. يمكنك استكشاف API بالتفصيل من خلال زيارة الوثائق الرسمية. إذا كانت لديك أي أسئلة ، فلا تتردد في الاتصال بنا على منتدى الدعم المجاني.

أنظر أيضا