MSG फ़ाइलों का लोडिंग और पार्सिंग

Aspose.Email for .NET का उपयोग करके, डेवलपर्स Outlook संदेश फ़ाइलों की सामग्री को लोड और पार्स कर सकते हैं।

  • डिस्क से MSG फ़ाइलें लोड करने के लिए, स्टेटिक का उपयोग करें MapiMessage.Load विधि MapiMessage क्लास। यह क्लास विभिन्न परिदृश्यों के लिए कई स्टेटिक लोडिंग फंक्शन्स प्रदान करती है।
  • MSG फ़ाइल की सामग्री को पार्स करने के लिए, MapiMessage कई मेथड्स और प्रॉपर्टीज़ को उजागर करता है।

इस लेख में आप सीखेंगे कि MSG फ़ाइल को लोड और पार्स करके उसकी सामग्री कैसे प्रदर्शित की जाए। चरणों के साथ कोड नमूने आपको आपके प्रोजेक्ट में Outlook MSG फ़ाइलों को लोड और पार्स करने की कार्यक्षमता लागू करने की स्पष्ट समझ देंगे।

पहले, फ़ाइल या स्ट्रीम से MSG फ़ाइलें लोड करना सीखें।

MSG फ़ाइलें लोड करें

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

// Create an instance of MapiMessage from file
var msg = MapiMessage.Load(@"message.msg");

// Get subject
Console.WriteLine("Subject:" + msg.Subject);

// Get from address
Console.WriteLine("From:" + msg.SenderEmailAddress);

// Get body
Console.WriteLine("Body" + msg.Body);

// Get recipients information
Console.WriteLine("Recipient: " + msg.Recipients);

// Get attachments
foreach (var att in msg.Attachments)
{
    Console.Write("Attachment Name: " + att.FileName);
    Console.Write("Attachment Display Name: " + att.DisplayName);
}

निम्नलिखित कोड उदाहरण दर्शाता है कि MailMessage का उपयोग करके MSG फ़ॉर्मैट में संदेश कैसे लोड किया जाए।


var eml = MailMessage.Load("message.msg");

ध्यान देने योग्य है कि परिणामी संदेश को EML प्रारूप में परिवर्तित किया जाता है, जिसमें एंबेडेड संदेश अटैचमेंट शामिल होते हैं। यदि आप मूल संदेश के कुछ विशिष्ट MSG फ़ॉर्मेट गुणों को संरक्षित रखना चाहते हैं, तो इस लोडिंग विधि का उपयोग न करें।

एंबेडेड संदेश अटैचमेंट्स के मूल स्वरूप को संरक्षित रखने के लिए, उपयोग करें msgLoadOptions.PreserveEmbeddedMessageFormat प्रॉपर्टी।


var msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.PreserveEmbeddedMessageFormat = true;
var msg = MailMessage.Load(stream, msgLoadOptions);

स्ट्रीम से लोड करें

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

// Create an instance of MapiMessage from file
byte[] bytes = File.ReadAllBytes(@"message.msg");

using (MemoryStream stream = new MemoryStream(bytes))
{
    stream.Seek(0, SeekOrigin.Begin);
    // Create an instance of MapiMessage from file
    MapiMessage msg = MapiMessage.Load(stream);

    // Get subject
    Console.WriteLine("Subject:" + msg.Subject);

    // Get from address
    Console.WriteLine("From:" + msg.SenderEmailAddress);

    // Get body
    Console.WriteLine("Body" + msg.Body);

}

एम्बेडेड EML फ़ॉर्मैट को संरक्षित रखते हुए EML को MSG में बदलें

EML फ़ाइलें लोड की जा सकती हैं MapiMessage क्लास को एक … इंस्टैंसिएट करके MailMessage ऑब्जेक्ट और इसे पास करके MapiMessage.FromMailMessage विधि। यदि EML फ़ाइल में एंबेडेड EML फ़ाइलें हैं, तो उपयोग करें MapiConversionOptions.PreserveEmbeddedMessageFormat एंबेडेड EML फ़ाइलों का स्वरूप बनाए रखने के लिए। नीचे कोड स्निपेट दर्शाता है कि EML फ़ाइलों को कैसे लोड किया जाए MapiMessage एंबेडेड EML फ़ाइलों के स्वरूप को संरक्षित रखते हुए।

// Load the EML file into a MailMessage object
var mailMessage = MailMessage.Load(emlFilePath);

// Set conversion options to preserve the format of embedded EML messages
var options = new MapiConversionOptions
    {
        PreserveEmbeddedMessageFormat = true
    };

// Convert MailMessage to MapiMessage, preserving embedded EML files
var mapiMessage = MapiMessage.FromMailMessage(mailMessage, options);

// Save the converted message in MSG format
mapiMessage.Save(msgFilePath);

Outlook संदेश फ़ाइलों को पार्स करें

Aspose.Email for .NET प्रदान करता है MapiMessage class जिसका उपयोग MSG फ़ाइल को खोलने और पार्स करने के लिए किया जाता है। चूँकि MSG फ़ाइल में कई प्राप्तकर्ता हो सकते हैं, तो MapiMessage क्लास एक्सपोज़ करती है प्राप्तकर्ता प्रॉपर्टी जो एक MapiRecipientCollection जो … का संग्रह दर्शाता है MapiRecipient ऑब्जेक्ट्स। The MapiRecipient ऑब्जेक्ट आगे प्राप्तकर्ता गुणों के साथ काम करने के लिए मेथड्स उजागर करता है।

निम्नलिखित चरणों का क्रम इस उद्देश्य को पूरा करता है:

  1. का एक इंस्टेंस बनाएं MapiMessage क्लास का उपयोग करके MapiMessage.Load स्थैतिक मेथड।
  2. MSG फ़ाइल से प्रेषक का नाम, विषय और बॉडी प्रदर्शित करने के लिए उपयोग करें SenderName, Subject और बॉडी प्रॉपर्टीज़।
  3. उपयोग करें प्राप्तकर्ता कलेक्शन की रेफ़रेंस प्राप्त करने के लिए प्रॉपर्टी MapiRecipient MSG फ़ाइल से जुड़े ऑब्जेक्ट्स।
  4. के माध्यम से लूप करें MapiRecipientCollection संग्रह प्रत्येक के लिए सामग्री प्रदर्शित करने के लिए MapiRecipient अपने सार्वजनिक मेथड्स के माध्यम से ऑब्जेक्ट।
//Instantiate an MSG file to load an MSG file from disk
var outlookMessageFile = MapiMessage.Load(dataDir + "message.msg");
//Display sender's name
Console.WriteLine("Sender Name : " + outlookMessageFile.SenderName);
//Display Subject
Console.WriteLine("Subject : " + outlookMessageFile.Subject);
//Display Body
Console.WriteLine("Body : " + outlookMessageFile.Body);
//Display Recipient's info
Console.WriteLine("Recipients : \n");

//Loop through the recipients collection associated with the MapiMessage object
foreach (var rcp in outlookMessageFile.Recipients)
{
	//Display recipient email address
	Console.WriteLine("Email : " + rcp.EmailAddress);
	//Display recipient name
	Console.WriteLine("Name : " + rcp.DisplayName);
	//Display recipient type
	Console.WriteLine("Recipient Type : " + rcp.RecipientType);
}