परिचय
Aspose.Email FOSS for .NET एक मुफ्त, ओपन-सोर्स C# लाइब्रेरी है जो आपको Outlook
MSG फ़ाइलों, Compound File Binary (CFB) कंटेनरों, और EML संदेशों के साथ सीधे आपके .NET
एप्लिकेशन में काम करने देती है — कोई Microsoft Outlook नहीं, कोई COM इंटरऑप नहीं, और कोई नेटिव लाइब्रेरी आवश्यक नहीं। वितरित
इसे एकल NuGet पैकेज के रूप में और यह Windows, Linux, macOS, Docker कंटेनरों पर समान रूप से चलता है,
और सर्वरलेस फ़ंक्शन्स।
यह लाइब्रेरी एंटरप्राइज़ और इंटीग्रेशन कार्य में एक बार‑बार आने वाली समस्या को हल करती है: Outlook .msg फ़ाइलें लाखों व्यावसायिक उपयोगकर्ताओं द्वारा बनाई जाती हैं, लेकिन Outlook के बिना उनका पार्स करना ऐतिहासिक रूप से COM ऑटोमेशन या महंगी व्यावसायिक लाइब्रेरीज़ की आवश्यकता होती थी। Aspose.Email FOSS for .NET MSG, अंतर्निहित CFB बाइनरी कंटेनर, और EML/MIME फ़ॉर्मेट के लिए पूर्ण पढ़ने/लिखने का समर्थन प्रदान करता है — सभी MIT लाइसेंस के तहत, बिना किसी उपयोग प्रतिबंध के।
चाहे आप एक ईमेल अभिलेखीय पाइपलाइन, एक माइग्रेशन टूल, या एक अटैचमेंट एक्सट्रैक्टर बना रहे हों,
या एक स्वचालित MSG जेनरेटर, यह लाइब्रेरी आपको ईमेल फ़ॉर्मेट के प्रत्येक बाइट तक सीधे, लो‑लेवल एक्सेस देती है
ईमेल फ़ॉर्मेट के साथ एक हाई‑लेवल MapiMessage API जो आपको मिनटों में शुरू करने देती है।
मुख्य विशेषताएँ
Outlook MSG फ़ाइलें पढ़ें
किसी भी .msg फ़ाइल को पथ या स्ट्रीम से MsgReader.FromFile() या MsgReader.FromStream() के साथ खोलें।
पूर्ण MAPI प्रॉपर्टी स्ट्रीम, प्राप्तकर्ता रिकॉर्ड, और अटैचमेंट सब‑स्टोरेज तक पहुँचें
कच्चे बाइट स्तर पर MsgStorage और MsgStream के माध्यम से।
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 फ़ाइलें बनाएं
MapiMessage.Create() का उपयोग करके प्रोग्रामेटिक रूप से एक पूर्ण ईमेल बनाएं।
विषय, प्लेन-टेक्स्ट सेट करें
बॉडी, HTML बॉडी, प्रेषक का नाम, प्रेषक ईमेल पता, डिलीवरी समय, और इंटरनेट संदेश ID, फिरAddRecipient() के साथ प्राप्तकर्ताओं को जोड़ें और AddAttachment() के साथ अटैचमेंट जोड़ें। Serialize करेंmessage.Save().
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 में बदलें (और वापस)
एक मानक RFC 5322 .eml फ़ाइल को MapiMessage में MapiMessage.LoadFromEml() के साथ लोड करें, फिर इसे Outlook .msg फ़ाइल के रूप में सहेजें — या प्रक्रिया को MapiMessage.SaveToEml() के साथ उल्टा करें।
निर्मित‑इन MIME पार्सर विषय, बॉडी, HTML बॉडी, प्रेषक, प्राप्तकर्ता और अटैचमेंट्स को पूर्ण EML ↔ 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);
निम्न-स्तरीय CFB कंटेनर एक्सेस
Outlook MSG फ़ाइलें Compound File Binary (CFB) फ़ॉर्मेट पर निर्मित होती हैं — एक पदानुक्रमित बाइनरी कंटेनर जो फ़ाइल सिस्टम के समान है। CfbReader पूरी डायरेक्टरी ट्री को उजागर करता है: IterStorages(), IterStreams() और IterChildren() के साथ स्टोरेज और स्ट्रीम को इटरेट करें, ResolvePath() के साथ पथ द्वारा विशिष्ट एंट्रीज़ पर नेविगेट करें, और GetStreamData() के साथ कच्चे स्ट्रीम बाइट्स पढ़ें।
CfbWriter आपको शून्य से एक CFB दस्तावेज़ बनाने और उसे क्रमबद्ध करने की अनुमति देता है। एक CfbDocument बनाएं, CfbStorage और CfbStream नोड्स को संलग्न करें, और क्रमबद्ध करने के लिए CfbWriter.ToBytes() या CfbWriter.WriteFile() को कॉल करें।
MAPI प्रॉपर्टी और अटैचमेंट एक्सेस
MapiPropertyCollection क्लास किसी भी MSG या स्टोरेज ऑब्जेक्ट के लिए टाइप्ड MAPI प्रॉपर्टी एक्सेस प्रदान करती है: मानक CommonMessagePropertyId या PropertyTypeCode enum मानों के साथ Get(), Set(), Add() और Remove() का उपयोग करें। MapiAttachment प्रॉपर्टीज़ के माध्यम से अटैचमेंट मेटाडाटा और बाइनरी डेटा तक पहुँचें: Filename, MimeType, ContentId और Data।
त्वरित प्रारंभ
पैकेज स्थापित करें:
dotnet add package Aspose.Email.Foss
एक MSG फ़ाइल से विषय पढ़ें:
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
foreach (var recipient in message.Recipients)
Console.WriteLine($"To: {recipient.EmailAddress}");
foreach (var attachment in message.Attachments)
Console.WriteLine($"Attachment: {attachment.Filename} ({attachment.MimeType})");
समर्थित फ़ॉर्मेट
| फ़ॉर्मेट | एक्सटेंशन | पढ़ें | लिखें |
|---|---|---|---|
| Compound File Binary | .cfb | ✓ | ✓ |
| Outlook Message | .msg | ✓ | ✓ |
| MIME / EML | .eml | ✓ | ✓ |
ओपन सोर्स और लाइसेंसिंग
Aspose.Email FOSS for .NET MIT लाइसेंस के तहत जारी किया गया है। आप इसे व्यक्तिगत, व्यावसायिक और ओपन‑सोर्स प्रोजेक्ट्स में बिना किसी उपयोग प्रतिबंध के स्वतंत्र रूप से उपयोग कर सकते हैं। स्रोत कोड उपलब्ध है github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.