Το FOSS για το .NET είναι μια βιβλιοθήκη C# χωρίς εξάρτηση με άδεια MIT, που λειτουργεί με αρχεία Microsoft Outlook .msg , περιέκτες Compound File Binary (CFB) και μηνύματα EML. Προσθέστε ένα μόνο πακέτο NuGet και ξεκινήστε αμέσως την ανάγνωση, τη δημιουργία και επεξεργασία μηνυμάτων ηλεκτρονικού ταχυδρομείου χωρίς να εγκαταστήσετε το Microsoft Excel ή οποιοδήποτε ιδιόκτητο χρόνο εκτέλεσης.
Η βιβλιοθήκη παρέχει δύο επίπεδα πρόσβασης. Στο χαμηλό επίπεδο, το CfbReader και τοCfbWriter δίνουν πλήρη έλεγχο πάνω σε δυαδικά περιέκτες CFB διαδρομικές καταχωρίσεις κατάλογος, διαβάζουν και γράφουν σημεία αποθήκευσης και δεδομένα ροής, και επιθεωρούν την πρώτη διάταξη του τομέα. Το MsgReader και MsgWriter χειρίζονται τη μορφή MSG στην κορυφή της CF B, εκθέτοντας τις ροές ιδιοκτησίας MAPI, τα πίνακα παραλήπτη και τις υπο-θεματολογίες προσαρτήσεων. στο υψηλό livello, η MapiMessage σας επιτρέπει να δημιουργείτε νέα μηνύματα από την αρχή, να διαβάζετε, κείμενο, αποστολέα και λήπτες, διαχείριση συνημάτων, μετατροπή μεταξύ MS G και μορφότυπου EMLIME μέσω ενσωματωμένης εφαρμογής MIME.
Η βιβλιοθήκη στοχεύει σε .NET 8.0 ή νεότερη και δεν έχει εγγενείς εξαρτησίες, καθιστώντας την κατάλληλη για Windows, Linux, macOS, Docker containers και λειτουργίες χωρίς διακομιστή. Για πρόσθετα χαρακτηριστικά και εμπορική υποστήριξη, δείτε Aspose.Email for .NET.
CfbReader.FromFile(), CfbReader.FromStream() ή new CfbReader(data).IterStorages(), IterStreams(),IterChildren() και IterTree().ResolvePath(names) για να εντοπίσετε μια συγκεκριμένη ροή βάσει της αλυσίδας ονομάτων.CfbDocument και serialize σε bytes ή αρχείο μέσω CfbWriter.ToBytes() ή CfbWriter.WriteFile().CfbStorage και CfbStream σε οποιονδήποτε κόμμα αποθήκευσης πριν από τη σειριακή χρήση..msg Η άμεση πρόσβαση στο CF B επιτρέπει τη δικαστική εξέταση και επισκευή.MsgReader.FromFile() ή τοMsgReader.FromStream() και αποκτήστε πρόσβαση στις υποκείμενες ροές ιδιοτήτων MAPI, στα αρχικά των παραλήπτες και τις υπο αποθηκευτικές μονάδες συνημμάτων.MsgDocument με το MsgWriter.ToBytes() ή τοMsgWriter.WriteFile().MsgStorage, MsgStream και MsgStorage.FindStream().MsgStorage.FindStream() και MsgStorage.FindStorage() για να εντοπίσετε τις ονομασμένες υποεντολές..msg που διαβάζονται κατά μάζα από καταλόγους αρχείων και εκχύνονται μεταδεδομένα ή συνημμένα..msg αρχείων προγραμματικά και διαβίβαση τους σε συστήματα ταχυδρομείου με βάση το Outlook.MapiMessage.Create(subject, body), ορίστε τα settings 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 στο δίσκο.message.Subject, message.Body, message.SenderEmailAddress και message.Recipients χωρίς αυτοματοποίηση COM..eml (RFC 5322 / MIME) σε πλήρες αντικείμενο MapiMessage μέσω του MapiMessage.LoadFromEml(stream).MapiMessage πίσω στο μορφότυπο MIME με το message.SaveToEml() ή τοmessage.SaveToEml(stream)..eml και .msg σε μία ενιαία μορφή..eml σε δοκιμές και επαληθεύστε ότι επιβιώνουν από την MSG χωρίς απώλεια δεδομένων.Ανοίξτε ένα αρχείο MSG του Outlook από μια ροή και εκτυπώστε το θέμα δεν απαιτείται 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);
Δημιουργήστε ένα πλήρες 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 και αποθηκεύστε το ως αρχεία Outlook .msg χρησιμοποιώντας τον ενσωματωμένο αναλυτή 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);