1. उत्पादों
  2.   Aspose.Email
  3.   Aspose.Email FOSS for .NET

Aspose.Email FOSS के लिए .NET

Outlook MSG फ़ाइलों, CFB कंटेनरों और EML संदेशों को .NET से पढ़ें, बनाएं और प्रोसेस करें — मुफ्त और ओपन-सोर्स, Microsoft Outlook पर निर्भरता नहीं।

ओपन-सोर्स .NET लाइब्रेरी MSG, CFB, और EML फ़ाइलों के लिए

Aspose.Email FOSS for .NET एक MIT-लाइसेंस्ड, निर्भरता-रहित C# लाइब्रेरी है जो Microsoft Outlook .msg फ़ाइलों, Compound File Binary (CFB) कंटेनरों, और EML संदेशों के साथ काम करने के लिए है। एकल NuGet पैकेज जोड़ें और तुरंत ईमेल संदेशों को पढ़ना, बनाना और प्रोसेस करना शुरू करें, बिना Microsoft Outlook या किसी स्वामित्व वाले रनटाइम को स्थापित किए।

लाइब्रेरी दो स्तरों की पहुँच प्रदान करती है। निम्न स्तर पर, CfbReader और CfbWriter CFB बाइनरी कंटेनरों पर पूर्ण नियंत्रण देते हैं — निर्देशिका प्रविष्टियों को पार करना, स्टोरेज नोड्स और स्ट्रीम डेटा को पढ़ना और लिखना, और कच्चे सेक्टर लेआउट का निरीक्षण करना। MsgReader और MsgWriter CFB के ऊपर MSG फ़ॉर्मेट को संभालते हैं, MAPI प्रॉपर्टी स्ट्रीम, प्राप्तकर्ता तालिकाएँ, और अटैचमेंट सब-स्टोरेज को उजागर करते हैं। उच्च स्तर पर, MapiMessage आपको शून्य से नए संदेश बनाने, विषय, बॉडी, प्रेषक और प्राप्तकर्ताओं को पढ़ने, अटैचमेंट प्रबंधित करने, और निर्मित MIME कार्यान्वयन के माध्यम से MSG और EML फ़ॉर्मेट के बीच रूपांतरण करने की अनुमति देता है।

लाइब्रेरी .NET 8.0 या बाद के संस्करण को लक्षित करती है और इसमें कोई मूल निर्भरताएँ नहीं हैं, जिससे यह Windows, Linux, macOS, Docker कंटेनरों और सर्वरलेस फ़ंक्शन्स के लिए उपयुक्त बनती है। अतिरिक्त सुविधाओं और व्यावसायिक समर्थन के लिए, देखें Aspose.Email for .NET

CFB कंटेनर पढ़ना और लिखना

  • CFB फ़ाइलें खोलें: फ़ाइल पथ, स्ट्रीम, या बाइट एरे से मौजूदा CFB कंटेनर लोड करें CfbReader.FromFile(), CfbReader.FromStream(), या new CfbReader(data) के माध्यम से।
  • डायरेक्टरी ट्री को पार करें: स्टोरेज, स्ट्रीम और चाइल्ड को IterStorages(), IterStreams(), IterChildren() और IterTree() का उपयोग करके इटरेट करें।
  • पथों को हल करें: नेस्टेड स्टोरेज पदानुक्रमों को ResolvePath(names) के साथ नेविगेट करके नाम श्रृंखला द्वारा एक विशिष्ट स्ट्रीम को खोजें।
  • CFB कंटेनर लिखें: प्रोग्रामेटिक रूप से CfbDocument के साथ CFB दस्तावेज़ बनाएं और CfbWriter.ToBytes() या CfbWriter.WriteFile() के माध्यम से बाइट्स या फ़ाइल में सीरियलाइज़ करें।
  • स्टोरेज और स्ट्रीम जोड़ें: सीरियलाइज़ेशन से पहले किसी भी स्टोरेज नोड में CfbStorage और CfbStream नोड्स को संलग्न करें।

जहाँ CFB एक्सेस का उपयोग किया जाता है

  • MSG फ़ाइल निरीक्षण: CFB Outlook .msg फ़ाइलों के लिए कंटेनर फ़ॉर्मेट है — सीधे CFB एक्सेस से फॉरेंसिक निरीक्षण और मरम्मत संभव होती है।
  • कस्टम बाइनरी फ़ॉर्मेट्स: डेटा स्टोरेज के लिए CFB का उपयोग करने वाला कोई भी लेगेसी एप्लिकेशन COM निर्भरता के बिना पढ़ा या लिखा जा सकता है।
  • डेटा पुनर्प्राप्ति: पूर्ण निर्देशिका वृक्ष को पार करें और क्षतिग्रस्त या गैर-मानक CFB फ़ाइलों से कच्चे स्ट्रीम बाइट्स निकालें।
  • Binary round-trip testing: दस्तावेज़ को बाइट्स में सीरियलाइज़ करें और इसे पुनः लोड करें ताकि स्वचालित परीक्षणों में लॉसलेस सीरियलाइज़ेशन की पुष्टि हो सके।

MSG फ़ाइल पढ़ना और लिखना

  • MSG फ़ाइलें पढ़ें: Outlook MSG फ़ाइलें MsgReader.FromFile() या MsgReader.FromStream() के साथ खोलें और अंतर्निहित MAPI प्रॉपर्टी स्ट्रीम, प्राप्तकर्ता रिकॉर्ड, और अटैचमेंट सब-स्टोरेज तक पहुंचें।
  • MSG फ़ाइलें लिखें: एक MsgDocument से MSG फ़ाइलें उत्पन्न करें MsgWriter.ToBytes() या MsgWriter.WriteFile() के साथ।
  • निम्न-स्तरीय MAPI पहुंच: टॉप-लेवल प्रॉपर्टी स्ट्रीम्स, नामित प्रॉपर्टीज़, और अटैचमेंट डेटा को MsgStorage, MsgStream, और MsgStorage.FindStream() के माध्यम से पढ़ें।
  • MSG storage navigation: MsgStorage.FindStream() और MsgStorage.FindStorage() का उपयोग करके नामित उप‑एंट्रीज़ खोजें।

जहाँ MSG प्रोसेसिंग का उपयोग किया जाता है

  • Email archival pipelines: आर्काइव निर्देशिकाओं से .msg फ़ाइलों को बल्क-रीड करें और मेटाडेटा या अटैचमेंट निकालें।
  • Migration tools: MSG संग्रहों को मानक स्वरूपों में बदलें ताकि उन्हें गैर-आउटलुक सिस्टम में आयात किया जा सके।
  • Legal discovery: कच्चे MAPI प्रॉपर्टी स्ट्रीम्स को पार्स करके सभी संदेश फ़ील्ड्स को निकालें, जिसमें गैर-मानक प्रॉपर्टीज़ भी शामिल हैं।
  • स्वचालित रिपोर्ट डिलीवरी: प्रोग्रामेटिक रूप से .msg फ़ाइलें बनाएं और उन्हें Outlook-आधारित मेल सिस्टम्स में वितरित करें।

उच्च-स्तरीय संदेश API

  • संदेश बनाएं: एक पूर्ण ईमेल बनाएं MapiMessage.Create(subject, body) के साथ, SenderName, SenderEmailAddress, और HtmlBody सेट करें।
  • Add recipients: Attach To, Cc, and Bcc recipients via AddRecipient() with email address and display name.
  • संलग्नक प्रबंधित करें: फ़ाइल और स्ट्रीम संलग्नक AddAttachment() के साथ जोड़ें या MapiAttachment ऑब्जेक्ट सीधे Filename, MimeType, ContentId, और Data के साथ बनाएं।
  • सेव और रीलोड: message.Save() या message.Save(stream) के साथ सीरियलाइज़ करें और MapiMessage.FromFile() या MapiMessage.FromStream() के साथ रीलोड करें।

जहाँ हाई-लेवल API का उपयोग किया जाता है

  • स्वचालित ईमेल जनरेशन: बैच जॉब्स में डेटा रिकॉर्ड्स से हजारों व्यक्तिगत MSG फ़ाइलें उत्पन्न करें।
  • टेस्ट फ़िक्स्चर निर्माण: एकीकृत परीक्षण सूटों के लिए पूर्वानुमेय सामग्री के साथ ज्ञात-उत्तम MSG फ़ाइलें बनाएं।
  • संलग्नक निष्कर्षण: एक MSG फ़ाइल लोड करें, message.Attachments पर इटररेट करें, और प्रत्येक attachment.Data को डिस्क पर सहेजें।
  • संपत्ति निरीक्षण: COM automation के बिना message.Subject, message.Body, message.SenderEmailAddress, और message.Recipients तक पहुँचें।

EML और MIME रूपांतरण

  • EML को MapiMessage में लोड करें: एक मानक .eml फ़ाइल (RFC 5322 / MIME) को MapiMessage.LoadFromEml(stream) के माध्यम से पूर्ण MapiMessage ऑब्जेक्ट में पार्स करें।
  • Save MapiMessage as EML: एक MapiMessage को MIME फ़ॉर्मेट में message.SaveToEml() या message.SaveToEml(stream) के साथ सीरियलाइज़ करें।
  • राउंड-ट्रिप फिडेलिटी: विषय, बॉडी, HTML बॉडी, प्रेषक, प्राप्तकर्ता, और अटैचमेंट्स सभी EML → MSG → EML राउंड-ट्रिप्स के दौरान संरक्षित रहते हैं।
  • कोई बाहरी MIME पार्सर नहीं: EML पार्सिंग लाइब्रेरी के भीतर मूल रूप से लागू की गई है — कोई System.Net.Mail निर्भरता आवश्यक नहीं है।

जहाँ EML रूपांतरण का उपयोग किया जाता है

  • फ़ॉर्मेट ब्रिजिंग: मेल सर्वरों से EML के रूप में ईमेल प्राप्त करें और Outlook‑संगत संग्रहण के लिए MSG में परिवर्तित करें।
  • मानक अनुपालन: स्वामित्व वाले MSG फ़ाइलों को मानक MIME में परिवर्तित करें ताकि किसी भी मेल ट्रांसपोर्ट पर डिलीवरी की जा सके।
  • Archival normalization: मिश्रित अभिलेख को .eml और .msg फ़ाइलों का एकल फ़ॉर्मेट में सामान्यीकृत करें।
  • परीक्षण कार्यप्रवाह: परीक्षणों में .eml फ़िक्स्चर उत्पन्न करें और सत्यापित करें कि वे MSG राउंड-ट्रिप में डेटा हानि के बिना जीवित रहें।

MSG फ़ाइल से विषय पढ़ें

स्ट्रीम से एक Outlook MSG फ़ाइल खोलें और विषय प्रिंट करें — Microsoft Outlook की आवश्यकता नहीं।

using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

एक MSG संदेश बनाएं और सहेजें

भेजने वाला, प्राप्तकर्ता और संलग्नक के साथ एक पूर्ण ईमेल बनाएं, फिर इसे MSG फ़ाइल में लिखें।

using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.Create("Hello", "Body");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
using var attachmentStream = new MemoryStream("abc"u8.ToArray());
message.AddAttachment("note.txt", attachmentStream, "text/plain");
using var output = File.Create("hello.msg");
message.Save(output);

EML को MSG में बदलें

एक मानक .eml फ़ाइल लोड करें और इसे बिल्ट‑इन MIME पार्सर का उपयोग करके Outlook .msg फ़ाइल के रूप में सहेजें।

using System.IO;
using Aspose.Email.Foss.Msg;
using var input = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(input);
using var msgOutput = File.Create("message.msg");
message.Save(msgOutput);
using var emlOutput = File.Create("roundtrip.eml");
message.SaveToEml(emlOutput);
  

समर्थन और सीखने के संसाधन

 हिन्दी