Estrazione dei contenuti dei messaggi dalle email

Visualizzazione delle informazioni email sullo schermo

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 diversi modi. Questo articolo spiega come visualizzare informazioni selezionate dell’intestazione email e il corpo dell’email sullo schermo.

  1. Crea un’istanza di MailMessage.
  2. Carica un messaggio email nell’istanza MailMessage.
  3. Visualizza il contenuto dell’email sullo schermo.

Il codice seguente dimostra come caricare un messaggio email e visualizzarne i contenuti - da, a, oggetto e corpo dell’email - sullo schermo.

Ottenere data e ora del messaggio

Il MailMessage la classe può essere usata per recuperare la data del messaggio in UTC o fuso orario locale. Queste informazioni possono essere riassunte come segue:

  1. MailMessage.getDate() - restituisce la data in UTC
  2. MailMessage.getLocalDate() - restituisce la data nel fuso orario locale
  3. MailMessage.isLocalDate Restituisce true, se MailMessage.getDate() è nel fuso orario locale

Estrazione delle 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 sigillata che funziona come una normale enumerazione.

Per estrarre le intestazioni da un’email, segui questi passaggi:

  1. Crea un’istanza della classe MailMessage.
  2. Carica un messaggio email nell’istanza della classe MailMessage.
  3. Dopo che un messaggio email è stato caricato, otterremo il suo contenuto grezzo. La classe MailMessage stessa contiene proprietà come From, To, Cc, Subject e così via. Queste proprietà possono essere estratte dalle intestazioni.
  4. Visualizza il contenuto grezzo.

Ottenere valori intestazione decodificati

Ottenere e modificare l’intestazione Disposition della risorsa collegata

La risorsa collegata può essere acceduta e manipolata programmaticamente nell’oggetto del messaggio email. La getContentDisposition() metodo del LinkedResource la classe ottiene l’intestazione Content-Disposition. Il campione di codice qui sotto dimostra come accedere e modificare il nome file della risorsa collegata:

MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");

Ottenere corpo HTML come testo semplice

Il MailMessage la classe fornisce la funzionalità di estrarre il corpo HTML del messaggio come testo semplice. La classe MailMessage fornisce un GetHtmlBodyText metodo che restituisce il corpo HTML in testo semplice. Il metodo GetHtmlBodyText 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 del metodo GetHtmlBodyText per estrarre il corpo HTML dell’email come testo semplice.

Recuperare indirizzi X.500 Exchange dalle email

Aspose.Email per Java consente di accedere direttamente agli indirizzi X.500 Exchange tramite il MailAddress classe. Con il X500Address proprietà, è possibile recuperare l’indirizzo email nel formato Exchange X.500 quando è disponibile. Il seguente esempio di codice mostra come caricare un messaggio email e ottenere l’indirizzo X.500 del mittente:

MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();

Se l’indirizzo X.500 esiste, verrà restituito come stringa e potrà essere usato per ulteriori elaborazioni o log in applicazioni che interagiscono con sistemi basati su Exchange.

Estrarre e incorporare immagini collegate come allegati nelle email HTML

Aspose.Email ExtractHTMLBodyResourcesAsAttachments metodo del HtmlSaveOption la classe definisce se estrarre le risorse del corpo HTML come allegati. Pertanto, è possibile estrarre contenuti collegati a immagini dal corpo HTML e includerli come allegato in un messaggio MIME. Le immagini collegate sono preservate e correttamente associate all’email, migliorando l’integrità del contenuto e l’accessibilità offline.

Il seguente esempio di codice dimostra come eseguire questa operazione:

MailMessage mailMessage = MailMessage.load("input.eml");
HtmlSaveOptions options = new HtmlSaveOptions();
options.setExtractHTMLBodyResourcesAsAttachments(true);
options.setResourceHtmlRenderingHandler(new ResourceHtmlRenderingHandler() {
    public void invoke(final Object sender, final ResourceHtmlRenderingEventArgs e) {
        System.out.println(e.getPathToResourceFile() + " " + ((Attachment)sender).getContentId());
    }
});