Caricamento e parsing di file MSG
Usando Aspose.Email per .NET, gli sviluppatori possono caricare e analizzare i contenuti dei file di messaggi Outlook.
- Per caricare file MSG dal disco, usa il statico MapiMessage.Load metodo del MapiMessage classe. La classe fornisce diverse funzioni statiche di caricamento per diversi scenari.
- Per analizzare il contenuto di un file MSG, il MapiMessage espose numerosi metodi e proprietà.
In questo articolo imparerai come caricare e analizzare un file MSG per visualizzarne il contenuto. I campioni di codice con i passaggi ti daranno una chiara comprensione di come implementare la funzionalità di caricamento e parsing dei file Outlook MSG nel tuo progetto.
Prima, impara a caricare file MSG da file o dallo stream.
Carica file MSG
Il frammento di codice seguente mostra come caricare file 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);
}
Il seguente esempio di codice mostra come utilizzare MailMessage per caricare un messaggio in formato MSG.
var eml = MailMessage.Load("message.msg");
Va notato che il messaggio risultante viene convertito in formato EML, inclusi gli allegati di messaggi incorporati. Non utilizzare questo metodo di caricamento se desideri preservare alcune proprietà specifiche del formato msg del messaggio originale.
Per preservare il formato originale degli allegati di messaggi incorporati, usa il msgLoadOptions.PreserveEmbeddedMessageFormat proprietà.
var msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.PreserveEmbeddedMessageFormat = true;
var msg = MailMessage.Load(stream, msgLoadOptions);
Carica dallo stream
Il frammento di codice seguente mostra come caricare un file da stream.
// 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);
}
Converti EML in MSG preservando il formato EML incorporato
I file EML possono essere caricati in MapiMessage classe istanziando un MailMessage oggetto e passandolo a MapiMessage.FromMailMessage metodo. Se il file EML contiene file EML incorporati, usa MapiConversionOptions.PreserveEmbeddedMessageFormat per mantenere il formato dei file EML incorporati. Il frammento di codice seguente mostra come caricare file EML in MapiMessage preservando il formato dei file EML incorporati.
// 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);
Provalo!
Converti email e archivi di messaggi online con il gratuito Applicazione di Conversione Aspose.Email.
Analizza file di messaggi Outlook
Aspose.Email per .NET fornisce il MapiMessage classe utilizzata per aprire e analizzare un file MSG. Poiché possono esserci molti destinatari in un file MSG, il MapiMessage la classe espone il Destinatari proprietà che restituisce un MapiRecipientCollection che rappresenta una collezione di MapiRecipient oggetti. Il MapiRecipient l’oggetto espone inoltre metodi per lavorare con gli attributi dei destinatari.
La seguente sequenza di passaggi serve a questo scopo:
- Crea un’istanza di MapiMessage classe utilizzando il MapiMessage.Load metodo statico.
- Visualizza il nome del mittente, l’oggetto e il corpo dal file MSG utilizzando SenderName, Subject e Body proprietà.
- Usa il Destinatari proprietà per ottenere un riferimento alla collezione di MapiRecipient oggetti associati al file MSG.
- Itera attraverso il MapiRecipientCollection collezione per visualizzare i contenuti per ciascuno MapiRecipient oggetto tramite i suoi metodi pubblici.
//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);
}
Provalo!
Analizza i file email online gratuitamente App Aspose.Email Parser.