Estrai contenuto del messaggio email in C#
Visualizza informazioni email
Il MailMessage rappresenta un messaggio email e consente agli sviluppatori di accedere alle proprietà del messaggio email. Le informazioni dell’intestazione (discusso in Estrazione delle intestazioni email) può essere estratto e manipolato in vari modi. Questo articolo spiega come visualizzare le informazioni selezionate dell’intestazione email e il corpo dell’email sullo schermo. Per visualizzare le informazioni email sullo schermo, segui questi passaggi:
- Crea un’istanza di MailMessage classe.
- Carica un messaggio email in MailMessage istanza.
- Visualizza il contenuto dell’email sullo schermo.
Il seguente frammento di codice mostra come visualizzare le informazioni email sullo schermo.
// Create MailMessage instance by loading an Eml file
var message = MailMessage.Load("test.eml", new EmlLoadOptions());
// Gets the sender info, recipient info, Subject, htmlbody and textbody
Console.Write("From:");
Console.WriteLine(message.From);
Console.Write("To:");
Console.WriteLine(message.To);
Console.Write("Subject:");
Console.WriteLine(message.Subject);
Console.WriteLine("HtmlBody:");
Console.WriteLine(message.HtmlBody);
Console.WriteLine("TextBody");
Console.WriteLine(message.Body);
Estrai intestazioni email
L’intestazione email rappresenta un insieme di campi di intestazione standard definito da Internet e RFC inclusi nei messaggi email Internet. Un’intestazione email può essere specificata usando il MailMessage classe. I tipi di intestazione comuni sono definiti in HeaderType classe. È una classe sealed che funziona come una normale enumerazione. Per estrarre le intestazioni da un’email, segui questi passaggi:
- Crea un’istanza di MailMessage classe.
- Carica un messaggio email nell’istanza di MailMessage classe.
- Dopo che un messaggio email è stato caricato, otterremo il suo contenuto grezzo.
Il MailMessage class stessa contiene proprietà come From, To, Cc, Subject e così via. Queste proprietà possono essere estratte dalle intestazioni.
Il seguente frammento di codice mostra come estrarre le intestazioni email.
Ottenere valori intestazione decodificati
Il seguente frammento di codice mostra come ottenere i valori delle intestazioni decodificate.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
MailMessage mailMessage = MailMessage.Load(dataDir + "emlWithHeaders.eml");
string decodedValue = mailMessage.Headers.GetDecodedValue("Thread-Topic");
Console.WriteLine(decodedValue);
Estrai corpo email
Ottieni corpo in testo semplice
Il Body la proprietà restituisce una rappresentazione di testo semplice del corpo di un messaggio.
string plainTextBody = mailMessage.Body;
Nota: Se la parte MIME text/plain è presente in un messaggio, la proprietà restituisce i suoi dati testuali. Altrimenti, restituisce il contenuto di testo separato dal HtmlBody proprietà senza markup HTML.
Ottieni il corpo HTML come testo semplice
Il MailMessage classe fornisce la funzionalità di estrarre il corpo HTML del messaggio come testo semplice. Il MailMessage la classe fornisce un GetHtmlBodyText metodo che restituisce il corpo HTML in testo semplice. Questo metodo analizza il HtmlBody proprietà e restituisce contenuto di testo semplice separato ignorando il markup HTML. Il GetHtmlBodyText il metodo accetta un parametro booleano che indica se il corpo deve contenere URL o meno. Passare il parametro come true indica che il corpo HTML deve contenere URL.
Il seguente frammento di codice dimostra l’uso di GetHtmlBodyText metodo per estrarre il corpo HTML dell’email come testo semplice.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Email();
MailMessage mail = MailMessage.Load(dataDir + "HtmlWithUrlSample.eml");
string body_with_url = mail.GetHtmlBodyText(true);// body will contain URL
string body_without_url = mail.GetHtmlBodyText(false);// body will not contain URL
Console.WriteLine("Body with URL: " + body_with_url);
Console.WriteLine("Body without URL: " + body_without_url);
Accedi all’indirizzo X.500 Exchange
Il MailAddress classe ha il X500Address proprietà costruita per esporre gli indirizzi formattati X.500 di Exchange se presenti in un messaggio. Fornisce accesso in sola lettura alla stringa di indirizzo X.500 (Exchange) per MailAddress istanze e restituisce l’indirizzo X.500 se è incluso nei metadati del messaggio, altrimenti restituisce null o vuoto. Nessuna analisi richiesta — la proprietà restituisce la stringa X.500 grezza.
var mailMessage = MailMessage.Load(fileName);
string exaddr = mailMessage.From.X500Address;