Outlook संपर्क प्रबंधन
MapiMessage की तरह, Aspose.Email आपको Outlook संपर्क बनाने की अनुमति देता है। MapiContact क्लास Outlook संपर्क बनाने के लिए आवश्यक सभी संपर्क-संबंधी प्रॉपर्टीज़ प्रदान करता है। यह लेख दर्शाता है कि Outlook संपर्क को कैसे बनाएँ, सहेजें और पढ़ें। MapiContact क्लास।
Outlook संपर्क बनाएं और सहेजें
संपर्क बनाने और इसे डिस्क पर सेव करने के लिए:
- के नए ऑब्जेक्ट का उदाहरण बनाएं MapiContact क्लास।
- संपर्क प्रॉपर्टी जानकारी दर्ज करें।
- फ़ोटो डेटा जोड़ें (यदि कोई हो)।
- संपर्क को MSG या VCard स्वरूप में सहेजें।
निम्नलिखित कोड स्निपेट दिखाता है कि Outlook संपर्क कैसे बनाएं और सहेजें।
MAPI वितरण सूचियों को VCF फ़ाइलों में सहेजें
निम्न कोड नमूना दर्शाता है कि वितरण सूची को मल्टी-कॉन्टैक्ट VCF फ़ाइल में कैसे सहेजा जाए:
// convert the `msg` object to a `MapiMessage` object
var dlist = (MapiDistributionList)msg.ToMapiMessageItem();
//save the distribution list
var options = new MapiDistributionListSaveOptions(ContactSaveFormat.VCard);
dlist.Save("distribution_list.vcf", options);
मल्टी-कॉन्टैक्ट VCF फ़ाइलों को MapiDistributionList में परिवर्तित करें
Aspose.Email मल्टी-कॉन्टैक्ट VCF फ़ाइलों को रूपान्तरण का समर्थन करता है MapiDistributionList ऑब्जेक्ट्स, जिससे कई संपर्कों को सीधे आपके अनुप्रयोगों में प्रबंधित और आयात करना आसान हो जाता है। यह सुविधा निम्न स्थैतिक विधियों के माध्यम से सुलभ है MapiDistributionList क्लास:
- static MapiDistributionList FromVCF(string filePath)
- static MapiDistributionList FromVCF(Stream stream)
निम्न कोड नमूना दर्शाता है कि इस सुविधा का उपयोग कैसे करें:
// Convert a multi-contact VCF file to a MapiDistributionList
MapiDistributionList dlist = MapiDistributionList.FromVCF(fileName);
संपर्कों को VCF फ़ॉर्मेट में सहेजें
संपर्क को संस्करण 3 VCF स्वरूप में सहेजने के लिए, उपयोग करें VCardVersion enumerable को सेट करने के लिए VCardSaveOptions.Version प्रॉपर्टी। निम्नलिखित नमूना कोड उपयोग को दर्शाता है VCardVersion संपर्क को VCF संस्करण 3 फ़ॉर्मेट में सहेजने के लिए enumerable:
var options = new MapiDistributionListSaveOptions(ContactSaveFormat.VCard);
options.Version = VCardVersion.V30;
dlist.Save("distribution_list.vcf", options);
MAPI संपर्क पढ़ना
यह MapiContact क्लास का उपयोग दोनों Outlook MSG और VCard प्रारूप के संपर्क लोड करने के लिए किया जा सकता है। निम्न कोड स्निपेट दर्शाता है कि MSG और VCF के रूप में सहेजे गए Outlook संपर्क को कैसे लोड किया जाए। MapiContact.
MSG फ़ाइलों से संपर्क लोड करें
निम्न कोड स्निपेट दर्शाता है कि MSG से संपर्क कैसे लोड किए जाएं।
VCard से संपर्क लोड करें
निम्न कोड स्निपेट दर्शाता है कि VCard से संपर्क कैसे लोड किए जाएं।
कस्टम विकल्पों के साथ vCard से MAPI संपर्क लोड करें
vCard (.vcf) फ़ाइलों को MAPI संपर्कों में बदलते समय अधिक लचीलापन प्रदान करने के लिए, Aspose.Email for .NET एक अधिभार प्रदान करता है MapiContact.FromVCard(string filePath, VCardLoadOptions options) विधि जो स्वीकार करती है एक VCardLoadOptions ऑब्जेक्ट। यह vCard फ़ाइलों की व्याख्या पर बेहतर नियंत्रण प्रदान करता है - विशेष रूप से विभिन्न vCard फ़ॉर्मेट, एन्कोडिंग, या उन्नत पार्सिंग परिदृश्यों के साथ काम करते समय।
निम्न कोड नमूना दर्शाता है कि .vcf संपर्क फ़ाइल को कैसे लोड किया जाए MapiContact ऑब्जेक्ट का उपयोग करके अधिभार जिसे स्वीकार करता है VCardLoadOptions. लोड किया गया संपर्क फिर PST फ़ाइलों, MSG निर्यात, या अन्य Outlook-अनुकूल प्रारूपों में उपयोग किया जा सकता है।
var mapiContact = MapiContact.FromVCard("contact.vcf", new VCardLoadOptions());
Console.WriteLine(mapiContact.NameInfo.DisplayName);
निर्दिष्ट एन्कोडिंग के साथ VCard से संपर्क लोड करें
निम्न कोड स्निपेट दर्शाता है कि निर्दिष्ट एन्कोडिंग के साथ VCard से संपर्क कैसे लोड किए जाएं।
निर्दिष्ट एन्कोडिंग के साथ VCard संपर्क आइटम्स सहेजें
VCard फ़ाइलों के साथ काम करते समय सहेजने के व्यवहार को अनुकूलित करें उपयोग करके VCardSaveOptions class। यह PreferredTextEncoding क्लास की यह प्रॉपर्टी VCard संपर्क आइटम्स को सहेजते समय उपयोग किए जाने वाले एन्कोडिंग को निर्दिष्ट करेगी।
निम्न कोड नमूना दर्शाता है कि इस प्रॉपर्टी को अपने प्रोजेक्ट में कैसे लागू करें:
var cont = VCardContact.Load(fileName, Encoding.UTF8);
var opt = new VCardSaveOptions();
opt.PreferredTextEncoding = Encoding.UTF8;
cont.Save("my.vcard", opt);
विस्तारित फ़ील्ड्स के साथ VCard फ़ाइलें सहेजें
यह UseExtensions प्रॉपर्टी आपको नियंत्रित करने देती है कि vCard फ़ाइलों को सहेजते समय विस्तारित फ़ील्ड्स का उपयोग किया जाए या नहीं। जब true (डिफ़ॉल्ट) पर सेट किया जाता है, तो एक्सटेंशन की अनुमति होती है, जिससे कस्टम फ़ील्ड्स और अतिरिक्त संपर्क जानकारी के साथ संगतता मिलती है।
VCard फ़ॉर्मेट में कई संपर्क पढ़ें
हमारी लाइब्रेरी VCard से सभी संपर्कों की सूची प्राप्त करना संभव बनाती है। यह निम्न विधियों और चरणों का उपयोग करके किया जा सकता है:
// Checks whether VCard source stream contains multiple contacts.
VCardContact.IsMultiContacts(Stream stream)
// Loads list of all contacts from VCard file.
VCardContact.LoadAsMultiple(string filePath, Encoding encoding)
// Loads list of all contacts from VCard stream.
VCardContact.LoadAsMultiple(Stream stream, Encoding encoding)
निम्न कोड स्निपेट दर्शाता है कि कई संपर्कों वाली VCard फ़ाइलों को कैसे संभालें:
using (FileStream stream = new FileStream("test.vcf", FileMode.Open, FileAccess.Read))
{
if(VCardContact.IsMultiContacts(stream))
{
List<VCardContact> contacts = VCardContact.LoadAsMultiple(stream, Encoding.UTF8);
}
}
vCard संपर्कों को असिंक्रोनस रूप से लोड करें
यह VCardContact Aspose.Email for .NET की क्लास vCard फ़ाइलों को असिंक्रोनस रूप से लोड करने का समर्थन करती है। यह एप्लिकेशन को प्रभावी रूप से .vcf फ़ाइलों या स्ट्रीम से एकल या कई संपर्कों को मुख्य थ्रेड को ब्लॉक किए बिना पढ़ने की सुविधा देती है - बड़े संपर्क सूची वाले आधुनिक डेस्कटॉप, वेब या मोबाइल अनुप्रयोगों के लिए आदर्श। इस क्लास की निम्न विधियां इस कार्य को कर सकती हैं:
-
LoadAsync -
LoadAsMultipleAsync
निम्न कोड नमूना दर्शाता है कि कैसे VCardContact.LoadAsMultipleAsync का उपयोग करके .vcf फ़ाइल से असिंक्रोनस रूप से कई vCard संपर्क लोड किए जाएं। लोड किए गए संपर्कों को एक लूप में प्रोसेस किया जाता है, प्रत्येक संपर्क का डिस्प्ले नाम कंसोल पर प्रिंट किया जाता है। असिंक्रोनस दृष्टिकोण सुनिश्चित करता है कि बड़े फ़ाइलों को पढ़ते समय भी एप्लिकेशन उत्तरदायी बना रहे।
var contacts = await VCardContact.LoadAsMultipleAsync("contacts.vcf", new VCardLoadOptions(), CancellationToken.None);
foreach (var contact in contacts)
{
Console.WriteLine(contact.IdentificationInfo.DisplayName);
}
संपर्क जानकारी को MHTML में रेंडर करें
Outlook संपर्क को Aspose.Email API का उपयोग करके MHTML में परिवर्तित किया जा सकता है। यह उदाहरण दर्शाता है कि VCard को कैसे लोड किया जाता है MapiContact और फिर MHTML में परिवर्तित किया गया … की मदद से MailMessage API।
//Load VCF Contact and convert to MailMessage for rendering to MHTML
var contact = MapiContact.FromVCard("Contact.vcf");
MemoryStream ms = new MemoryStream();
contact.Save(ms, ContactSaveFormat.Msg);
ms.Position = 0;
MapiMessage msg = MapiMessage.Load(ms, new MsgLoadOptions());
MailConversionOptions op = new MailConversionOptions();
MailMessage eml = msg.ToMailMessage(op);
//Prepare the MHT format options
MhtSaveOptions mhtSaveOptions = new MhtSaveOptions();
mhtSaveOptions.CheckBodyContentEncoding = true;
mhtSaveOptions.PreserveOriginalBoundaries = true;
MhtFormatOptions formatOp = MhtFormatOptions.WriteHeader | MhtFormatOptions.RenderVCardInfo;
mhtSaveOptions.RenderedContactFields = ContactFieldsSet.NameInfo | ContactFieldsSet.PersonalInfo | ContactFieldsSet.Telephones | ContactFieldsSet.Events;
mhtSaveOptions.MhtFormatOptions = formatOp;
eml.Save("ContactMhtml_out.mhtml", mhtSaveOptions);