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

Aspose.Email FOSS for .NET

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

एमएसजी, सीएफबी और ईएमएल फ़ाइलों के लिए ओपन-सोर्स .नेट लाइब्रेरी

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

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

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

सीएफबी कंटेनर पढ़ना और लिखना

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

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

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

एमएसजी फ़ाइल पढ़ना और लिखना

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

जहाँ एमएसजी प्रसंस्करण का उपयोग किया जाता है

  • ईमेल अभिलेखीय पाइपलाइनें: पुरालेख निर्देशिकाओं से बल्क-रीड .msg फ़ाइलों और मेटाडेटा या संलग्नकों को निकालें.
  • प्रवास उपकरण: एमएसजी संग्रह को मानक स्वरूपों में परिवर्तित करें ताकि उन्हें आउटलुक प्रणाली के बाहर आयात किया जा सके।
  • कानूनी खोज: गैर-मानक गुणों सहित सभी संदेश फ़ील्ड निकालने के लिए कच्चे MAPI संपत्ति धाराओं का विश्लेषण करें.
  • स्वचालित रिपोर्ट वितरण: .msg फ़ाइलों को प्रोग्रामेटिक रूप से बनाएं और उन्हें आउटलुक-आधारित मेल सिस्टम में वितरित करें.

उच्च-स्तरीय संदेश एपीआई

  • ** संदेश बनाएं:** MapiMessage.Create(subject, body), सेट SenderName, SenderEmailAddress और HtmlBody. के साथ एक पूरा ईमेल बनाएँ।
  • ** प्राप्तकर्ता जोड़ें:** ईमेल पते और प्रदर्शन नाम के साथ To, Cc और Bcc प्राप्तकर्ताओं को AddRecipient() के माध्यम से संलग्न करें.
  • ** संलग्नक प्रबंधित करें:** AddAttachment() के साथ फ़ाइल और स्ट्रीम अनुलग्नकों को जोड़ें या MapiAttachment वस्तुओं का निर्माण सीधे Filename, MimeType , ContentId और Data के द्वारा करें।
  • ** सहेजें और पुनः लोड करें:** message.Save() या message.Save(stream) के साथ क्रमबद्ध करें तथा MapiMessage.FromFile() अथवा MapiMessage.FromStream() से पुनःलोड करें।

उच्च-स्तरीय एपीआई का उपयोग कहाँ किया जाता है?

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

ईएमएल और एमआईएम रूपांतरण

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

जहां ईएमएल रूपांतरण का उपयोग किया जाता है

  • ** स्वरूपण ब्रिजिंग:** मेल सर्वर से ईएमएल के रूप में ईमेल प्राप्त करें और आउटलुक-संगत भंडारण के लिए एमएसजी में परिवर्तित करें.
  • मानकों का अनुपालन: किसी भी मेल परिवहन के लिए वितरण के लिये मानक एमआईएमई में स्वामित्व वाली एमएसजी फ़ाइलों को परिवर्तित करें।
  • आर्काइवल सामान्यीकरण: .eml और .msg फ़ाइलों के मिश्रित संग्रह को एक ही प्रारूप में सामान्य करें.
  • परीक्षण कार्यप्रवाह: परीक्षणों में .eml फिक्स्चर उत्पन्न करें और सत्यापित करें कि वे डेटा हानि के बिना एमएसजी दौरे-यात्रा को जीवित रखते हैं।

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 संदेश बनाएं और सहेजें

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

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 फ़ाइल लोड करें और इसे अंतर्निहित 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);
  

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

 हिन्दी