FOSS pour .NET est une bibliothèque C# sans dépendance sous licence MIT, permettant de travailler avec les fichiers Microsoft Outlook .msg , les conteneurs Compound File Binary (CFB) et les messages EML. Ajoutez un seul paquet NuGet et commencez immédiatement à lire, créer et traiter des e-mails sans installer Microsoft Excel ou tout temps d’exécution propriétaire.
La bibliothèque fournit deux niveaux d’accès. Au niveau inférieur, CfbReader et CfbWriter donnent un contrôle complet sur les conteneurs binaires CFB entrées de répertoire transversales, lecture et écriture des nœuds de stockage et flux de données, et inspecter la mise en page du secteur brut. MsgReader Et MsgWriter gèrent le format MSG au-dessus de CF B, exposant les flux propriétés MAPI, les tables destinataires et sous-stockages d’attachements. À haut niveau,MapiMessage vous permet de créer de nouveaux messages à partir de zéro, lire, corps, expéditeur et sujet, gérer les pièces jointes, ainsi que convertir entre le formats MS G et EMLIME via une implémentation intégrée de MIME.
La bibliothèque cible .NET 8.0 ou plus récent et n’a pas de dépendances natives, ce qui la rend adaptée à Windows, Linux, macOS, Docker containers et aux fonctions sans serveur. Pour des fonctionnalités supplémentaires et un support commercial, voir Aspose.Email for .NET.
CfbReader.FromFile(), CfbReader.FromStream() ou new CfbReader(data).IterStorages(), IterStreams(),IterChildren() et IterTree().ResolvePath(names) pour localiser un flux spécifique par chaîne nominale.CfbDocument et sérialiser en octets ou fichiers via CfbWriter.ToBytes() ou CfbWriter.WriteFile().CfbStorage et CfbStream à tout nœud de stockage avant la sérialisation..msg l’accès direct à CF B permet une inspection et réparation médico-légales.MsgReader.FromFile() ou MsgReader.FromStream() et accédez aux flux de propriétés MAPI sous-jacents, aux enregistrements du destinataire et aux sous - stockages d’attachement.MsgDocument avec MsgWriter.ToBytes() ou MsgWriter.WriteFile().MsgStorage, MsgStream et MsgStorage.FindStream().MsgStorage.FindStream() et MsgStorage.FindStorage() pour localiser les sous-entrées nommées..msg fichiers à partir des répertoires d"archive et extraire les métadonnées ou pièces jointes..msg de manière programmatique et les livrer aux systèmes de messagerie basés sur Outlook.MapiMessage.Create(subject, body), définissez les paramètres SenderName, SenderEmailAddress et HtmlBody.To, Cc et Bcc par l’intermédiaire de AddRecipient() avec une adresse e-mail et un nom d’affichage.AddAttachment() ou construire directement des objets MapiAttachment avecFilename, MimeType , ContentId et Data.message.Save() ou message.Save(stream) et charger à nouveau avecMapiMessage.FromFile() or MapiMessage.FromStream().message.Attachments, et enregistrer chaque attachment.Data sur le disque.message.Subject, message.Body, message.SenderEmailAddress et message.Recipients sans automatisation COM..eml (RFC 5322 / MIME) en un objet complet MapiMessage par l’intermédiaire de MapiMessage.LoadFromEml(stream).MapiMessage vers le format MIME avec message.SaveToEml() ou message.SaveToEml(stream)..eml et .msg dans un seul format..eml dans les essais et vérifier qu’elles survivent à l’aller-retour sans perte de données.Ouvrez un fichier Outlook MSG à partir d’un flux et imprimez le sujet aucun Microsoft Outlook requis.
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Créez un e-mail complet avec l’expéditeur, le destinataire et la pièce jointe, puis écrivez-le dans un fichier 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);
Chargez un fichier standard .eml et enregistrez-le sous forme de fixier Outlook .msg à l’aide du parseur MIME intégré.
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);