Laden und Parsen von MSG‑Dateien
Mit Aspose.Email für .NET können Entwickler Inhalte aus Outlook‑Nachrichtendateien laden und analysieren.
- Um MSG‑Dateien von der Festplatte zu laden, verwenden Sie die statische MapiMessage.Load Methode des MapiMessage Klasse. Die Klasse bietet mehrere statische Lademethoden für unterschiedliche Szenarien.
- Um den Inhalt einer MSG‑Datei zu parsen, verwendet man die MapiMessage stellt eine Reihe von Methoden und Eigenschaften bereit.
In diesem Artikel erfahren Sie, wie Sie eine MSG‑Datei laden und analysieren, um deren Inhalt anzuzeigen. Die Code‑Beispiele mit Schritten geben Ihnen ein klares Verständnis dafür, wie Sie die Funktionalität zum Laden und Parsen von Outlook‑MSG‑Dateien in Ihrem Projekt implementieren.
Zuerst lernen Sie, MSG‑Dateien aus einer Datei oder aus einem Stream zu laden.
MSG‑Dateien laden
Das folgende Code‑Snippet zeigt, wie man MSG‑Dateien lädt.
// 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);
}
Das folgende Code‑Beispiel zeigt, wie MailMessage verwendet wird, um eine Nachricht im MSG‑Format zu laden.
var eml = MailMessage.Load("message.msg");
Es sollte beachtet werden, dass die resultierende Nachricht in das EML‑Format konvertiert wird, einschließlich eingebetteter Nachrichtenanhänge. Verwenden Sie diese Lademethode nicht, wenn Sie bestimmte MSG‑Formateigenschaften der Originalnachricht beibehalten wollen.
Um das Originalformat eingebetteter Nachrichtenanhänge beizubehalten, verwenden Sie die msgLoadOptions.PreserveEmbeddedMessageFormat Eigenschaft.
var msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.PreserveEmbeddedMessageFormat = true;
var msg = MailMessage.Load(stream, msgLoadOptions);
Aus Stream laden
Das folgende Code‑Snippet zeigt, wie Sie eine Datei aus einem Stream laden.
// 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);
}
EML in MSG konvertieren und dabei eingebettetes EML‑Format beibehalten
EML‑Dateien können geladen werden in MapiMessage Klasse, indem man ein MailMessage Objekt und übergeben es an MapiMessage.FromMailMessage Methode. Wenn die EML‑Datei eingebettete EML‑Dateien enthält, verwenden Sie MapiConversionOptions.PreserveEmbeddedMessageFormat um das Format eingebetteter EML‑Dateien beizubehalten. Das nachstehende Code‑Snippet zeigt, wie EML‑Dateien in MapiMessage unter Beibehaltung des Formats eingebetteter EML‑Dateien.
// 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);
Probieren Sie es aus!
E‑Mails & Nachrichtenarchive online mit dem kostenlosen Aspose.Email Konvertierungs‑App.
Outlook‑Nachrichtendateien parsen
Aspose.Email für .NET bietet die MapiMessage Klasse, die zum Öffnen und Parsen einer MSG‑Datei verwendet wird. Da es in einer MSG‑Datei viele Empfänger geben kann, die MapiMessage Klasse stellt das Empfänger Eigenschaft, die ein MapiRecipientCollection die eine Sammlung von MapiRecipient Objekte. Die MapiRecipient Objekt bietet weitere Methoden zum Arbeiten mit Empfänger‑Attributen.
Die folgende Schrittfolge dient diesem Zweck:
- Erstellen Sie eine Instanz von dem MapiMessage Klasse unter Verwendung des MapiMessage.Load statische Methode.
- Den Absendernamen, Betreff und Body aus der MSG‑Datei anzeigen mit SenderName, Subject und Body Eigenschaften.
- Verwenden Sie die Empfänger Eigenschaft, um eine Referenz auf die Sammlung von MapiRecipient Objekten, die mit der MSG‑Datei verknüpft sind.
- Durchlaufen Sie die MapiRecipientCollection Sammlung, um Inhalte für jeden MapiRecipient Objekt über seine öffentlichen Methoden.
//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);
}
Probieren Sie es aus!
E‑Mail‑Dateien online mit dem kostenlosen Aspose.Email Parser‑App.