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 είναι μια βιβλιοθήκη C# αδειοδοτημένη με MIT, χωρίς εξαρτήσεις, για εργασία με αρχεία Microsoft Outlook .msg, δοχεία Compound File Binary (CFB) και μηνύματα EML. Προσθέστε ένα μόνο πακέτο NuGet και ξεκινήστε αμέσως την ανάγνωση, δημιουργία και επεξεργασία μηνυμάτων ηλεκτρονικού ταχυδρομείου χωρίς την εγκατάσταση του Microsoft Outlook ή οποιουδήποτε ιδιόκτητου χρόνου εκτέλεσης.

Η βιβλιοθήκη παρέχει δύο επίπεδα πρόσβασης. Σε χαμηλό επίπεδο, CfbReader και CfbWriter δίνουν πλήρη έλεγχο πάνω σε δυαδικά κοντέινερ CFB — περιήγηση στις καταχωρήσεις καταλόγου, ανάγνωση και εγγραφή κόμβων αποθήκευσης και δεδομένων ροής, και επιθεώρηση της ακατέργαστης διάταξης τομέων. MsgReader και MsgWriter διαχειρίζονται τη μορφή MSG πάνω από CFB, εκθέτοντας ροές ιδιοτήτων MAPI, πίνακες παραληπτών και υπο‑αποθηκεύσεις συνημμένων. Σε υψηλό επίπεδο, MapiMessage σας επιτρέπει να δημιουργήσετε νέα μηνύματα από το μηδέν, να διαβάσετε το θέμα, το σώμα, τον αποστολέα και τους παραλήπτες, να διαχειριστείτε συνημμένα, και να μετατρέψετε μεταξύ μορφής MSG και EML μέσω ενσωματωμένης υλοποίησης MIME.

Η βιβλιοθήκη στοχεύει στο .NET 8.0 ή νεότερο και δεν έχει εγγενείς εξαρτήσεις, καθιστώντας την κατάλληλη για Windows, Linux, macOS, Docker containers και serverless functions. Για πρόσθετα χαρακτηριστικά και εμπορική υποστήριξη, δείτε Aspose.Email for .NET.

Ανάγνωση και εγγραφή δοχείου CFB

  • Άνοιγμα αρχείων CFB: Φορτώστε υπάρχοντα κοντέινερ CFB από διαδρομή αρχείου, ροή ή πίνακα byte μέσω CfbReader.FromFile(), CfbReader.FromStream() ή new CfbReader(data).
  • Περιηγηθείτε στο δέντρο καταλόγου: Επαναλάβετε τα αποθηκευτικά, τις ροές και τα παιδιά χρησιμοποιώντας IterStorages(), IterStreams(), IterChildren() και IterTree().
  • Επίλυση διαδρομών: Περιηγηθείτε σε ένθετες ιεραρχίες αποθήκευσης με ResolvePath(names) για να εντοπίσετε ένα συγκεκριμένο stream με αλυσίδα ονομάτων.
  • Γράψτε δοχεία CFB: Δημιουργήστε έγγραφα CFB προγραμματιστικά με CfbDocument και σειριοποιήστε σε bytes ή αρχείο μέσω CfbWriter.ToBytes() ή CfbWriter.WriteFile().
  • Προσθήκη αποθηκευτικών χώρων και ροών: Συνδέστε τους κόμβους CfbStorage και CfbStream σε οποιονδήποτε κόμβο αποθήκευσης πριν από τη σειριοποίηση.

Πού χρησιμοποιείται η πρόσβαση CFB

  • Έλεγχος αρχείου MSG: CFB είναι η μορφή δοχείου για αρχεία Outlook .msg — η άμεση πρόσβαση σε CFB επιτρέπει τη δικανική επιθεώρηση και επισκευή.
  • Προσαρμοσμένες δυαδικές μορφές: Οποιαδήποτε παλαιότερη εφαρμογή που χρησιμοποιεί CFB για αποθήκευση δεδομένων μπορεί να διαβαστεί ή να γραφτεί χωρίς εξάρτηση από COM.
  • Data recovery: Περιηγηθείτε σε όλο το δέντρο καταλόγου και εξάγετε τα ακατέργαστα bytes ροής από κατεστραμμένα ή μη‑τυπικά αρχεία CFB.
  • Δοκιμή κυκλικής μεταφοράς δυαδικών: Σειριοποιήστε ένα έγγραφο σε bytes και επαναφορτώστε το για να επαληθεύσετε τη σειριοποίηση χωρίς απώλειες σε αυτοματοποιημένες δοκιμές.

Ανάγνωση και εγγραφή αρχείου MSG

  • Διαβάστε αρχεία MSG: Ανοίξτε αρχεία MSG του Outlook με MsgReader.FromFile() ή MsgReader.FromStream() και αποκτήστε πρόσβαση στις υποκείμενες ροές ιδιοτήτων MAPI, στα αρχεία παραληπτών και στις υπο‑αποθηκεύσεις συνημμένων.
  • Write MSG files: Δημιουργήστε αρχεία MSG από ένα MsgDocument με MsgWriter.ToBytes() ή MsgWriter.WriteFile().
  • Πρόσβαση χαμηλού επιπέδου MAPI: Διαβάστε τα ρεύματα ιδιοτήτων ανώτερου επιπέδου, τις ονομαστικές ιδιότητες και τα δεδομένα συνημμένων μέσω MsgStorage, MsgStream και MsgStorage.FindStream().
  • Πλοήγηση αποθήκευσης MSG: Χρησιμοποιήστε MsgStorage.FindStream() και MsgStorage.FindStorage() για να εντοπίσετε ονομαστικές υποκαταχωρήσεις.

Πού χρησιμοποιείται η επεξεργασία MSG

  • Διαδρόμους αρχειοθέτησης email: Μαζική ανάγνωση αρχείων .msg από καταλόγους αρχείου και εξαγωγή μεταδεδομένων ή συνημμένων.
  • Εργαλεία μετεγκατάστασης: Μετατρέψτε τις συλλογές MSG σε τυπικές μορφές για εισαγωγή σε συστήματα που δεν είναι Outlook.
  • Νομική ανακάλυψη: Αναλύστε ακατέργαστες ροές ιδιοτήτων MAPI για να εξάγετε όλα τα πεδία μηνύματος, συμπεριλαμβανομένων των μη τυπικών ιδιοτήτων.
  • Αυτοματοποιημένη παράδοση αναφορών: Δημιουργήστε αρχεία .msg προγραμματιστικά και παραδώστε τα σε συστήματα αλληλογραφίας βασισμένα στο Outlook.

API μηνυμάτων υψηλού επιπέδου

  • Δημιουργία μηνυμάτων: Δημιουργήστε ένα πλήρες email με MapiMessage.Create(subject, body), ορίστε SenderName, SenderEmailAddress και HtmlBody.
  • Προσθήκη παραληπτών: Επισυνάψτε τους παραλήπτες To, Cc και Bcc μέσω AddRecipient() με διεύθυνση email και όνομα εμφάνισης.
  • Διαχείριση συνημμένων: Προσθέστε συνημμένα αρχείων και ροών με AddAttachment() ή δημιουργήστε αντικείμενα MapiAttachment απευθείας με Filename, MimeType, ContentId και Data.
  • Αποθήκευση και επαναφόρτωση: Σειριοποιήστε με message.Save() ή message.Save(stream) και επαναφορτώστε με MapiMessage.FromFile() ή MapiMessage.FromStream().

Πού χρησιμοποιείται το υψηλού επιπέδου API

  • Αυτοματοποιημένη δημιουργία email: Δημιουργήστε χιλιάδες εξατομικευμένα αρχεία MSG από εγγραφές δεδομένων σε εργασίες δέσμης.
  • Δημιουργία fixture δοκιμής: Κατασκευή γνωστών-καλών αρχείων MSG με προβλέψιμο περιεχόμενο για σύνολα δοκιμών ενσωμάτωσης.
  • Εξαγωγή συνημμένων: Φορτώστε ένα αρχείο MSG, επαναλάβετε message.Attachments, και αποθηκεύστε κάθε attachment.Data στο δίσκο.
  • Έλεγχος ιδιοτήτων: Πρόσβαση message.Subject, message.Body, message.SenderEmailAddress και message.Recipients χωρίς αυτοματοποίηση COM.

Μετατροπή EML και MIME

  • Φόρτωση EML σε MapiMessage: Ανάλυση ενός τυπικού .eml αρχείου (RFC 5322 / MIME) σε ένα πλήρες MapiMessage αντικείμενο μέσω MapiMessage.LoadFromEml(stream).
  • Αποθήκευση MapiMessage ως EML: Σειριοποιήστε ένα MapiMessage σε μορφή MIME με message.SaveToEml() ή message.SaveToEml(stream).
  • Ακρίβεια κυκλικής μετατροπής: Θέμα, σώμα, HTML σώμα, αποστολέας, παραλήπτες και συνημμένα διατηρούνται όλα μέσω των κυκλικών μετατροπών EML → MSG → EML.
  • Χωρίς εξωτερικό MIME parser: Η ανάλυση EML υλοποιείται εγγενώς στη βιβλιοθήκη — δεν απαιτείται εξάρτηση από το System.Net.Mail.

Πού χρησιμοποιείται η μετατροπή EML

  • Διασύνδεση μορφών: Λάβετε email ως EML από διακομιστές αλληλογραφίας και μετατρέψτε τα σε MSG για αποθήκευση συμβατή με το Outlook.
  • Συμμόρφωση με πρότυπα: Μετατρέψτε ιδιόκτητα αρχεία MSG σε τυπικό MIME για παράδοση σε οποιοδήποτε σύστημα μεταφοράς αλληλογραφίας.
  • Κανονικοποίηση αρχείου: Κανονικοποιήστε ένα μεικτό αρχείο .eml και .msg σε μια ενιαία μορφή.
  • Δοκιμή ροών εργασίας: Δημιουργήστε .eml fixtures στα τεστ και επαληθεύστε ότι επιβιώνουν το MSG round‑trip χωρίς απώλεια δεδομένων.

Ανάγνωση θέματος από αρχείο 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

Δημιουργήστε ένα πλήρες email με αποστολέα, παραλήπτη και συνημμένο, στη συνέχεια γράψτε το σε αρχείο 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 και αποθηκεύστε το ως αρχείο Outlook .msg χρησιμοποιώντας τον ενσωματωμένο parser MIME.

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);
  

Υποστήριξη και Πόροι Μάθησης

 Ελληνικά