FAQ — Aspose.Email FOSS pour .NET

FAQ — Aspose.Email FOSS pour .NET

Licence

Quelle licence utilise Aspose.Email.Foss ?

Licence MIT. Aucune clé de licence n’est requise. Utilisez librement dans des projets personnels, commerciaux et open source.


Installation

Comment installer Aspose.Email.Foss ?

dotnet add package Aspose.Email.Foss

Quelle version de .NET est requise ?

.NET 8.0 ou version ultérieure. La bibliothèque ne prend pas en charge .NET Framework ou .NET Standard.

Y a-t-il des dépendances natives ?

Non. La bibliothèque est purement gérée en C# sans dépendances natives. Elle s’exécute de manière identique sur
Windows, Linux, macOS, Docker et les environnements sans serveur.


Prise en charge des formats

Quels formats d’e‑mail sont pris en charge ?

FormatLireÉcrire
MSG (Outlook)
CFB (Compound File Binary)
EML (MIME / RFC 5322)

Puis-je lire les fichiers EML ?

Oui. Utilisez MapiMessage.LoadFromEml(stream) pour charger un fichier .eml standard dans un MapiMessage. L’analyseur MIME intégré gère les en‑têtes pliés, le contenu base64 et les messages multipart.

Puis-je convertir MSG en EML ?

Oui. Appelez message.SaveToEml() pour une sortie byte[] en mémoire, ou
message.SaveToEml(stream) pour écrire dans un fichier. Sujet, corps, corps HTML, expéditeur,
destinataires, et toutes les pièces jointes sont conservés.

Le TNEF (winmail.dat) est‑il pris en charge ?

Non. Seuls les formats standard MSG (CFB) et EML (MIME) sont pris en charge.

Le protocole IMAP/SMTP/POP3 est‑il pris en charge ?

Non. La bibliothèque gère directement les fichiers MSG et n’inclut aucune couche réseau/protocole.


Utilisation de l’API

Comment charger un fichier MSG ?

using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("message.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

Comment créer un nouveau message ?

var message = MapiMessage.Create("Subject", "Body");
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
message.Save("output.msg");

Comment ajouter des pièces jointes ?

// From byte array
message.AddAttachment("file.pdf", pdfBytes, "application/pdf");

// From stream
using var stream = File.OpenRead("photo.png");
message.AddAttachment("photo.png", stream, "image/png");

Comment convertir EML en MSG ?

using var eml = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(eml);
message.Save("message.msg");

Comment accéder à la structure CFB brute ?

using Aspose.Email.Foss.Cfb;
using var reader = CfbReader.FromFile("message.msg");
foreach (var entry in reader.IterChildren(CfbConstants.RootStreamId))
    Console.WriteLine(entry.Name);

Limitations connues

Y a-t-il des méthodes non implémentées ?

Aucun stub intentionnellement non implémenté n’existe dans la version actuelle.

Le support du calendrier/rendez-vous est‑il disponible ?

La bibliothèque gère les fichiers MSG de manière générique. Les propriétés spécifiques au calendrier peuvent être accessibles via SetProperty() / GetPropertyValue() avec les identifiants de propriété MAPI provenant de CommonMessagePropertyId, mais il n’existe aucune API dédiée au calendrier ou aux rendez‑vous.

La sécurité des threads est‑elle garantie ?

Chaque instance MapiMessage et CfbReader est indépendante. L’accès concurrent à des instances distinctes depuis des threads distincts est sûr. Ne partagez pas une même instance entre des threads sans synchronisation externe.

 Français