Outlook संदेशों का प्रबंधन

Contents
[ ]

ईमेल को HTML के रूप में सहेजें

Aspose.Email संदेशों को HTML फ़ॉर्मेट में एक्सपोर्ट करते समय ईमेल संसाधनों को रिलेटिव पाथ्स के साथ सहेजना संभव बनाता है। यह फीचर आउटपुट HTML फ़ाइल में संसाधनों को लिंक करने में अधिक लचीलापन प्रदान करता है, जिससे विभिन्न सिस्टमों पर सहेजे गए ईमेल को साझा और प्रदर्शित करना आसान होता है। रिसोर्सेज़ को रिलेटिव पाथ्स के साथ सहेजने के लिए, उपयोग करें HtmlSaveOptions.UseRelativePathToResources प्रॉपर्टी। डिफ़ॉल्ट प्रॉपर्टी मान false है (संसाधन एब्सोल्यूट पाथ्स के साथ सहेजे जाते हैं)। जब true सेट किया जाता है, तो संसाधन रिलेटिव पाथ्स के साथ सहेजे जाते हैं।

रिलेटिव पाथ वाले HTML फ़ाइलें अधिक पोर्टेबल होती हैं और होस्टिंग वातावरण की फ़ाइल संरचना से परे सही तरीके से देखी जा सकती हैं। आप आवश्यकताओं के अनुसार एब्सोल्यूट या रिलेटिव पाथ चुन सकते हैं। आप संसाधनों के लिए कस्टम पाथ्स को उपयोग करके परिभाषित कर सकते हैं। ResourceHtmlRendering इवेंट।

निम्नलिखित कोड नमूना दर्शाता है कि डिफ़ॉल्ट रिलेटिव पाथ के साथ ईमेल को संसाधनों के लिए कैसे सहेजें:

var msg = MapiMessage.Load(sourceFileName);

var htmlSaveOptions = new HtmlSaveOptions
{
    ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
    UseRelativePathToResources = true
};

msg.Save(Path.Combine("target_files"), htmlSaveOptions);

इस मामले में, संसाधन [html file name]_files फ़ोल्डर में सहेजे जाएंगे, .html फ़ाइल के समान पाथ में, और HTML संसाधनों को रिलेटिव पाथ्स के माध्यम से रेफ़र करेगा।

नीचे का कोड नमूना दर्शाता है कि संसाधनों के लिए एब्सोल्यूट पाथ के साथ कैसे सहेजें:

var msg = MapiMessage.Load(sourceFileName);

var htmlSaveOptions = new HtmlSaveOptions
{
    ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
    UseRelativePathToResources = false
};

msg.Save(Path.Combine("target_files"), htmlSaveOptions);

पहले केस की तरह, संसाधन डिफ़ॉल्ट रूप से [html file name]_files फ़ोल्डर में सहेजे जाएंगे, लेकिन HTML संसाधनों को एब्सोल्यूट पाथ्स के माध्यम से रेफ़र करेगा।

का उपयोग करके ResourceHtmlRendering इवेंट, आप संसाधनों के लिए कस्टम रिलेटिव या एब्सोल्यूट पाथ सेट कर सकते हैं। पाथ को कस्टमाइज़ करते समय ResourceHtmlRendering इवेंट हैंडलर, और चूँकि UseRelativePathToResources यदि true सेट किया गया है, तो आपको एक रिलेटिव पाथ असाइन करना चाहिए PathToResourceFile सही रेफ़रेंसिंग सुनिश्चित करने के लिए प्रॉपर्टी।

निम्नलिखित कोड नमूना दर्शाता है कि ResourceHtmlRendering इवेंट का उपयोग करके कस्टम रिलेटिव पाथ कैसे बनाएं

var msg = MapiMessage.Load(sourceFileName);

var htmlSaveOptions = new HtmlSaveOptions
{
    ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
    UseRelativePathToResources = true
};

htmlSaveOptions.ResourceHtmlRendering += (o, args) =>
{
    if (o is AttachmentBase attachment)
    {
	    // Since UseRelativePathToResources = true, you should assign a relative path to the PathToResourceFile property.
        args.PathToResourceFile = $@"images\{attachment.ContentType.Name}";
    }
};

msg.Save(Path.Combine(targetPath, "A Day in the Park.html"), htmlSaveOptions);

MSG को MIME संदेशों में परिवर्तित करें

Aspose.Email API MSG फ़ाइलों को MIME संदेशों में परिवर्तित करने की क्षमता प्रदान करता है, उपयोग करके ToMailMessage विधि।

संदेश रूपांतरण और लोडिंग के लिए टाइमआउट सेट करें

निम्नलिखित फीचर आपको कनवर्ज़न और लोडिंग प्रोसेस के लिए मिलिसेकंड में टाइमआउट सेट करने में सक्षम बनाते हैं:

  • MailConversionOptions.Timeout प्रॉपर्टी- संदेश को कनवर्ट करते समय मिलिसेकंड में समय सीमा निर्धारित करती है।

  • MailConversionOptions.TimeoutReached - MailMessage में रूपांतरण के दौरान समय समाप्त होने पर उठाया जाता है।

  • MsgLoadOptions.Timeout - संदेश को रूपांतरित करते समय समय को मिलीसेकंड में सीमित करता है।

  • MsgLoadOptions.TimeoutReached - MailMessage में रूपांतरण के दौरान समय समाप्त होने पर उठाया जाता है।

नीचे का कोड नमूना दिखाएगा कि संदेश को कनवर्ट करते समय टाइमआउट कैसे सेट किया जाए:

var options = new MailConversionOptions();
// Set the timeout to 5 seconds
options.Timeout = 5000;

options.TimeoutReached += (object sender, EventArgs args) =>
{
    string subj = (sender as MailMessage).Subject;
	 // Set a flag indicating the timeout was reached
    isTimedOut = true;
};

var mailMessage = mapiMessage.ToMailMessage(options);

MSG से EML में परिवर्तन (RTF बॉडी संरक्षित)

MSG फ़ाइल को RTF बॉडी संरक्षित रखते हुए EML में बदलने को दो तरीकों से किया जा सकता है:

दोनों प्रॉपर्टीज़ MailMessage में RTF बॉडी को रखने का संकेत देने वाला मान प्राप्त या सेट करती हैं।

निम्नलिखित कोड स्निपेट दिखाते हैं कि MSG फ़ाइल को EML में कैसे कनवर्ट करें और RTF बॉडी को संरक्षित रखें:

var loadOptions = new MsgLoadOptions
{
    PreserveRtfContent = true
};

var eml = MailMessage.Load("my.msg", loadOptions);
var conversionOptions = new MailConversionOptions
{
    PreserveRtfContent = true
};

var msg = MapiMessage.Load("my.msg");

var eml = msg.ToMailMessage(conversionOptions);

Outlook टेम्प्लेट फ़ाइलों (.OFT) को संभालना

Outlook टेम्प्लेट बहुत उपयोगी होते हैं जब आप समान ईमेल संदेश को बार-बार भेजना चाहते हैं। संदेश को हर बार शून्य से तैयार करने की बजाय, पहले Outlook में संदेश तैयार करके इसे Outlook टेम्प्लेट (OFT) के रूप में सहेजा जाता है। उसके बाद, जब भी आपको संदेश भेजना हो, आप टेम्प्लेट से इसे बना सकते हैं, जिससे बॉडी या सब्जेक्ट लाइन में वही टेक्स्ट लिखने, फ़ॉर्मेटिंग सेट करने आदि में समय बचता है। Aspose.Email की MailMessage class का उपयोग Outlook टेम्पलेट (OFT) फ़ाइल को लोड और पढ़ने के लिए किया जा सकता है। एक बार Outlook टेम्पलेट को एक instance में लोड किया जाने पर MailMessage class, आप प्रेषक, प्राप्तकर्ता, बॉडी, विषय और अन्य गुण अपडेट कर सकते हैं। गुणों को अपडेट करने के बाद:

  • ईमेल भेजें उपयोग करके SmtpClient class या
  • संदेश को MSG के रूप में सहेजें और Microsoft Outlook का उपयोग करके आगे के अपडेट/मान्यताएं करें।

नीचे दिए गए कोड नमूनों में, हम:

  1. टेम्पलेट को उपयोग करके लोड करें MailMessage क्लास।
  2. कुछ गुणों को अपडेट करें।
  3. संदेश को MSG प्रारूप में सहेजें।

निम्नलिखित कोड स्निपेट दिखाता है कि OFT फ़ाइल को कैसे लोड करें, संदेश को अपडेट करें और उसे MSG फ़ॉर्मेट में सहेजें।

MSG फ़ाइलों को टेम्प्लेट के रूप में सहेजें

निम्नलिखित कोड स्निपेट दिखाता है कि Outlook MSG फ़ाइल को टेम्पलेट के रूप में कैसे सहेजें।

MAPI संदेश प्रकार निर्धारित करें (OFT या MSG)

फ़ाइल से MapiMessage ऑब्जेक्ट को लोड करते समय, आपको यह निर्धारित करने की आवश्यकता हो सकती है कि लोड किया गया संदेश टेम्प्लेट फ़ाइल है या सामान्य ईमेल फ़ाइल। इसका उपयोग करके IsTemplate की प्रॉपर्टी MapiMessage क्लास, आप सटीक रूप से पता लगा सकते हैं कि कोई ईमेल टेम्प्लेट है या नहीं। यह कार्यक्षमता एप्लिकेशन और सिस्टम में विभिन्न प्रकार की ईमेल फ़ाइलों को संभालने और प्रोसेस करने में मूल्यवान हो सकती है।

नीचे दिया गया कोड उदाहरण दर्शाता है कि MapiMessage OFT है या MSG, यह कैसे निर्धारित किया जाए:

var msg = MapiMessage.Load("message.msg");
var isOft = msg.IsTemplate; // returns false

var msg = MapiMessage.Load("message.oft");
var isOft = msg.IsTemplate; // returns true

MapiMessage या MailMessage को OFT फ़ॉर्मेट में सहेजें

यह SaveOptions क्लास आपको MailMessage या MapiMessage को किसी विशिष्ट फ़ॉर्मेट में सहेजते समय अतिरिक्त विकल्प निर्दिष्ट करने की अनुमति देती है।

निम्नलिखित कोड उदाहरण दर्शाता है कि संदेश को OFT फ़ॉर्मेट में कैसे सहेजा जाए:

// Save the MailMessage to OFT format
using (var eml = MailMessage.Load("message.eml"))
{
    eml.Save("message.oft", SaveOptions.DefaultOft);
	
	// or alternative way #2
	var saveOptions = new MsgSaveOptions(MailMessageSaveType.OutlookTemplateFormat);
    eml.Save("message.oft", saveOptions);
	
	// or alternative  way #3
	saveOptions = SaveOptions.CreateSaveOptions(MailMessageSaveType.OutlookTemplateFormat);
    eml.Save("message.oft", saveOptions);

}

// Save the MapiMessage to OFT format
using (var msg = MapiMessage.Load("message.msg"))
{
    msg.Save("message.oft", SaveOptions.DefaultOft);
	
	// or alternative way #2
	var saveOptions = new MsgSaveOptions(MailMessageSaveType.OutlookTemplateFormat);
    msg.Save("message.oft", saveOptions);
	
	// or alternative  way #3
	saveOptions = SaveOptions.CreateSaveOptions(MailMessageSaveType.OutlookTemplateFormat);
    msg.Save("message.oft", saveOptions);
}

डिजिटल रूप से हस्तकृत संदेशों का प्रबंधन

Aspose.Email पूर्ण S/MIME ईमेल ऑब्जेक्ट एल्गोरिथ्म लागू करता है। यह API को संदेशों को विभिन्न फ़ॉर्मैट में रूपांतरित करते समय डिजिटल हस्ताक्षर को संरक्षित रखने की पूरी शक्ति देता है।

EML से MSG रूपांतरण के दौरान हस्ताक्षर को संरक्षित रखें

Aspose.Email EML से MSG में परिवर्तित करते समय डिजिटल हस्ताक्षर को संरक्षित करता है। निम्नलिखित कोड स्निपेट दिखाता है कि EML से MSG कैसे परिवर्तित करें।

MSG से EML में S/MIME संदेश परिवर्तित करें

Aspose.Email MSG को EML में परिवर्तित करते समय डिजिटल हस्ताक्षर को संरक्षित करता है, जैसा कि निम्नलिखित कोड स्निपेट में दिखाया गया है।

सुरक्षित ईमेल के हस्ताक्षर जाँचें

MapiMessage ऑब्जेक्ट्स के हस्ताक्षर की जाँच के लिए निम्नलिखित सुविधाएँ उपलब्ध हैं।

नीचे दिया गया कोड उदाहरण दिखाता है कि आपके प्रोजेक्ट में इन सुविधाओं को कैसे लागू किया जाए:

var msg = MapiMessage.Load(fileName, new EmlLoadOptions());
var result = new SecureEmailManager().CheckSignature(msg);

var certFileName = "cert.pfx";
var cert = new X509Certificate2(certFileName, "pass");
var eml = MapiMessage.Load(fileName);
var store = new X509Store();
store.Open(OpenFlags.ReadWrite);
store.Add(cert);
store.Close();

var result = new SecureEmailManager().CheckSignature(eml, cert, store);

MapiMessages से हस्ताक्षर हटाएँ

बेहतर संगतता के लिए, MapiMessage.RemoveSignature विधि और MapiMessage.IsSigned प्रॉपर्टी का उपयोग संदेश से डिजिटल हस्ताक्षर हटाने के लिए किया जाता है।

निम्नलिखित कोड स्निपेट दिखाता है कि इन सुविधाओं को आपके प्रोजेक्ट में कैसे लागू किया जाए:

var msg = MapiMessage.Load(fileName);

if (msg.IsSigned)
{
    var unsignedMsg = msg.RemoveSignature();
}

प्रमाणपत्रों के साथ MapiMessages को डिक्रिप्ट करें

यदि आपके पास एन्क्रिप्टेड MAPI संदेश हैं और आपको प्रमाणपत्र में संग्रहीत निजी कुंजी से उन्हें डिक्रिप्ट करने की आवश्यकता है, तो Aspose.Email की निम्नलिखित सुविधाएँ उपयोगी हो सकती हैं:

  • MapiMessage.IsEncrypted - एक मान प्राप्त करता है जो दर्शाता है कि संदेश एन्क्रिप्टेड है या नहीं।
  • MapiMessage.Decrypt() - इस संदेश को डिक्रिप्ट करता है (यह विधि वर्तमान उपयोगकर्ता और कंप्यूटर के My स्टोर्स में उपयुक्त प्रमाणपत्र और निजी कुंजी खोजती है)।
  • MapiMessage.Decrypt(X509Certificate2 certificate) - इस संदेश को प्रमाणपत्र के साथ डिक्रिप्ट करता है।

निम्नलिखित कोड स्निपेट दिखाता है कि एन्क्रिप्टेड MAPI संदेशों के साथ कैसे काम किया जाए:

var privateCert = new X509Certificate2(privateCertFile, "password");
var msg = MapiMessage.Load("encrypted.msg");

if (msg.IsEncrypted);
{
    var decryptedMsg = msg.Decrypt(privateCert);
}

MSG फ़ाइलों के लिए रंग श्रेणियों को सेट करें

एक रंग श्रेणी ईमेल संदेश को कुछ प्रकार के महत्व या वर्गीकरण के लिए चिह्नित करती है। Microsoft Outlook उपयोगकर्ताओं को ईमेल को अलग पहचानने के लिए रंग श्रेणियां सौंपने की अनुमति देता है। रंग श्रेणी को संभालने के लिए, उपयोग करें FollowUpManager. इसमें निम्नलिखित जैसे फ़ंक्शन शामिल हैं AddCategory, RemoveCategory, ClearCategories और GetCategories.

  • AddCategory लेता है MapiMessage और रंग श्रेणी स्ट्रिंग, उदाहरण के लिए, "Purple Category" या "Red Category" को तर्कों के रूप में।
  • RemoveCategory लेता है MapiMessage और वह रंग श्रेणी स्ट्रिंग जिसे संदेश से हटाया जाना है।
  • ClearCategories संदेश से सभी रंग श्रेणियों को हटाने के लिए उपयोग किया जाता है।
  • GetCategories किसी विशिष्ट संदेश से सभी रंग श्रेणियों को प्राप्त करने के लिए उपयोग किया जाता है।

निम्नलिखित उदाहरण नीचे दिए गए कार्यों को निष्पादित करता है:

  1. एक रंग श्रेणी जोड़ें।
  2. एक और रंग श्रेणी जोड़ें।
  3. सभी श्रेणियों की सूची प्राप्त करें।
  4. सभी श्रेणियां हटाएँ।

MSG फ़ाइलों में फ़ॉलो‑अप जानकारी तक पहुँचें

Aspose.Email API एक भेजे या प्राप्त संदेश से फॉलो‑अप जानकारी तक पहुँचने की क्षमता प्रदान करता है। यह संदेश फ़ाइल से पढ़ने, डिलीवरी पढ़ने रसीद और वोट परिणाम जानकारी प्राप्त कर सकता है।

पड़ने और डिलीवरी रसीद जानकारी प्राप्त करें

निम्नलिखित कोड स्निपेट दिखाता है कि कैसे पढ़ने और डिलीवरी रसीद जानकारी प्राप्त करें।

फ़ॉरवर्ड और उत्तर संदेश बनाएं

Aspose.Email API आगे और उत्तर संदेशों को बनाने और स्वरूपित करने की क्षमता प्रदान करती है। यह ReplyMessageBuilder और ForwardMessageBuilder API की क्लासें क्रमशः Reply और Forward संदेश बनाने के लिए उपयोग की जाती हैं। Reply या Forward संदेश को किसी भी मोड का उपयोग करके बनाया जा सकता है OriginalMessageAdditionMode enum। इस enum में निम्न मान हैं:

  • OriginalMessageAdditionMode.None - मूल संदेश को प्रतिक्रिया संदेश में शामिल नहीं किया जाता।
  • OriginalMessageAdditionMode.Attachment - मूल संदेश को प्रतिक्रिया संदेश में अटैचमेंट के रूप में शामिल किया जाता है
  • OriginalMessageAdditionMode.Textpart - मूल संदेश को उत्तर संदेश के बॉडी में पाठ के रूप में शामिल किया जाता है

उत्तर संदेश बनाएं

निम्नलिखित कोड स्निपेट दर्शाता है कि उत्तर संदेश कैसे बनाया जाए।

फ़ॉरवर्ड संदेश बनाएं

निम्न कोड स्निपेट दिखाता है कि फ़ॉरवर्ड संदेश कैसे बनाया जाए।