Chargement et analyse des fichiers MSG
Avec Aspose.Email pour .NET, les développeurs peuvent charger ainsi que analyser le contenu des fichiers de messages Outlook.
- Pour charger des fichiers MSG depuis le disque, utilisez le statique MapiMessage.Load méthode du MapiMessage classe. La classe fournit plusieurs fonctions de chargement statiques pour différents scénarios.
- Pour analyser le contenu d’un fichier MSG, le MapiMessage expose un certain nombre de méthodes et de propriétés.
Dans cet article, vous apprendrez comment charger et analyser un fichier MSG afin d’afficher son contenu. Les exemples de code avec étapes vous donneront une compréhension claire de la façon d’implémenter la fonctionnalité de chargement et d’analyse des fichiers Outlook MSG dans votre projet.
Tout d’abord, apprenez à charger des fichiers MSG depuis un fichier ou depuis un flux.
Charger des fichiers MSG
Le fragment de code suivant montre comment charger des fichiers MSG.
// Create an instance of MapiMessage from file
var msg = MapiMessage.Load(@"message.msg");
// Get subject
Console.WriteLine("Subject:" + msg.Subject);
// Get from address
Console.WriteLine("From:" + msg.SenderEmailAddress);
// Get body
Console.WriteLine("Body" + msg.Body);
// Get recipients information
Console.WriteLine("Recipient: " + msg.Recipients);
// Get attachments
foreach (var att in msg.Attachments)
{
Console.Write("Attachment Name: " + att.FileName);
Console.Write("Attachment Display Name: " + att.DisplayName);
}
L’exemple de code suivant montre comment utiliser MailMessage pour charger un message au format MSG.
var eml = MailMessage.Load("message.msg");
Il convient de noter qu’un message résultant est converti au format EML, y compris les pièces jointes de messages intégrés. N’utilisez pas cette méthode de chargement si vous souhaitez conserver certaines propriétés spécifiques du format msg du message original.
Pour préserver le format original des pièces jointes de messages intégrés, utilisez le msgLoadOptions.PreserveEmbeddedMessageFormat propriété.
var msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.PreserveEmbeddedMessageFormat = true;
var msg = MailMessage.Load(stream, msgLoadOptions);
Charger depuis un flux
Le code suivant montre comment charger un fichier depuis un flux.
// Create an instance of MapiMessage from file
byte[] bytes = File.ReadAllBytes(@"message.msg");
using (MemoryStream stream = new MemoryStream(bytes))
{
stream.Seek(0, SeekOrigin.Begin);
// Create an instance of MapiMessage from file
MapiMessage msg = MapiMessage.Load(stream);
// Get subject
Console.WriteLine("Subject:" + msg.Subject);
// Get from address
Console.WriteLine("From:" + msg.SenderEmailAddress);
// Get body
Console.WriteLine("Body" + msg.Body);
}
Convertir EML en MSG tout en préservant le format EML intégré
Les fichiers EML peuvent être chargés dans MapiMessage classe en instanciant un MailMessage objet et le passer à MapiMessage.FromMailMessage méthode. Si le fichier EML contient des fichiers EML intégrés, utilisez MapiConversionOptions.PreserveEmbeddedMessageFormat pour conserver le format des fichiers EML intégrés. Le fragment de code ci‑dé dessous montre comment charger des fichiers EML dans MapiMessage tout en préservant le format des fichiers EML intégrés.
// Load the EML file into a MailMessage object
var mailMessage = MailMessage.Load(emlFilePath);
// Set conversion options to preserve the format of embedded EML messages
var options = new MapiConversionOptions
{
PreserveEmbeddedMessageFormat = true
};
// Convert MailMessage to MapiMessage, preserving embedded EML files
var mapiMessage = MapiMessage.FromMailMessage(mailMessage, options);
// Save the converted message in MSG format
mapiMessage.Save(msgFilePath);
Essayez-le !
Convertissez les courriels et les archives de messages en ligne avec le gratuit Application de conversion Aspose.Email.
Analyser les fichiers de messages Outlook
Aspose.Email pour .NET fournit le MapiMessage classe utilisée pour ouvrir et analyser un fichier MSG. Comme il peut y avoir de nombreux destinataires dans un fichier MSG, le MapiMessage La classe expose le Destinataires propriété qui renvoie un MapiRecipientCollection qui représente une collection de MapiRecipient objets. Le MapiRecipient l’objet expose en outre des méthodes pour travailler avec les attributs des destinataires.
La séquence d’étapes suivante remplit cet objectif :
- Créez une instance de la MapiMessage classe utilisant le MapiMessage.Load méthode statique.
- Affichez le nom de l’expéditeur, l’objet et le corps du fichier MSG en utilisant SenderName, Subject et Corps propriétés.
- Utilisez le Destinataires propriété pour obtenir une référence à la collection de MapiRecipient objets associés au fichier MSG.
- Parcourez le MapiRecipientCollection collection pour afficher le contenu de chaque MapiRecipient objet via ses méthodes publiques.
//Instantiate an MSG file to load an MSG file from disk
var outlookMessageFile = MapiMessage.Load(dataDir + "message.msg");
//Display sender's name
Console.WriteLine("Sender Name : " + outlookMessageFile.SenderName);
//Display Subject
Console.WriteLine("Subject : " + outlookMessageFile.Subject);
//Display Body
Console.WriteLine("Body : " + outlookMessageFile.Body);
//Display Recipient's info
Console.WriteLine("Recipients : \n");
//Loop through the recipients collection associated with the MapiMessage object
foreach (var rcp in outlookMessageFile.Recipients)
{
//Display recipient email address
Console.WriteLine("Email : " + rcp.EmailAddress);
//Display recipient name
Console.WriteLine("Name : " + rcp.DisplayName);
//Display recipient type
Console.WriteLine("Recipient Type : " + rcp.RecipientType);
}
Essayez-le !
Analysez les fichiers email en ligne gratuitement avec le Application Aspose.Email Parser.