Extrahieren von Nachrichteninhalten aus E‑Mails
Anzeige von E‑Mail‑Informationen auf dem Bildschirm
Die MailMessage repräsentiert eine E‑Mail‑Nachricht und ermöglicht Entwicklern den Zugriff auf die Eigenschaften der Nachricht. Die Header‑Informationen (besprochen in Extrahieren von E‑Mail‑Headern) können auf verschiedene Weise extrahiert und bearbeitet werden. Dieser Artikel erklärt, wie ausgewählte E‑Mail‑Header‑Informationen und der E‑Mail‑Body auf dem Bildschirm angezeigt werden.
- Erstellen Sie eine Instanz der MailMessage.
- Laden Sie eine E‑Mail‑Nachricht in die MailMessage‑Instanz.
- Zeigen Sie den E‑Mail‑Inhalt auf dem Bildschirm an.
Der nachfolgende Code demonstriert, wie eine E‑Mail‑Nachricht geladen und ihr Inhalt – Absender, Empfänger, Betreff und E‑Mail‑Body – auf dem Bildschirm angezeigt wird.
Abrufen des Nachrichten‑Datums und der Zeit
Die MailMessage Klasse kann verwendet werden, um das Nachrichten‑Datum in UTC oder lokaler Zeitzone abzurufen. Diese Informationen können wie folgt zusammengefasst werden:
- MailMessage.getDate() - gibt das Datum in UTC zurück
- MailMessage.getLocalDate() - gibt das Datum in der lokalen Zeitzone zurück
- MailMessage.isLocalDate Gibt true zurück, wenn MailMessage.getDate() in der lokalen Zeitzone liegt
Extrahieren von E‑Mail‑Headern
Der E‑Mail‑Header stellt einen vom Internet und RFC definierten Standardsatz von Header‑Feldern dar, die in Internet‑E‑Mail‑Nachrichten enthalten sind. Ein E‑Mail‑Header kann mit dem MailMessage Klasse. Gängige Header‑Typen sind definiert in der HeaderType Klasse. Es ist eine versiegelte Klasse, die wie eine normale Enumeration funktioniert.
Um Header aus einer E‑Mail zu extrahieren, gehen Sie wie folgt vor:
- Erstellen Sie eine Instanz der MailMessage‑Klasse.
- Laden Sie eine E‑Mail‑Nachricht in die Instanz der MailMessage‑Klasse.
- Nachdem eine E‑Mail‑Nachricht geladen wurde, erhalten wir ihren Rohinhalt. Die Klasse MailMessage enthält selbst Eigenschaften wie From, To, Cc, Subject usw. Diese Eigenschaften können aus den Headern extrahiert werden.
- Zeigen Sie den Rohinhalt an.
Dekodierte Header‑Werte abrufen
Abrufen und Ändern des Disposition‑Headers verknüpfter Ressourcen
Auf die verknüpfte Ressource kann programmgesteuert im E‑Mail‑Objekt zugegriffen und sie manipuliert werden. Die getContentDisposition() Methode des LinkedResource Klasse liest den Content‑Disposition‑Header aus. Das nachfolgende Code‑Beispiel zeigt, wie man auf den Dateinamen der verknüpften Ressource zugreift und ihn ändert:
MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");
HTML‑Body als Klartext erhalten
Die MailMessage Klasse bietet die Möglichkeit, den HTML‑Body der Nachricht als Klartext zu extrahieren. Die Klasse MailMessage stellt ein GetHtmlBodyText Methode, die den HTML‑Body als Klartext zurückgibt. Die Methode GetHtmlBodyText akzeptiert einen booleschen Parameter, der angibt, ob der Body URLs enthalten soll oder nicht. Wird der Parameter auf true gesetzt, enthält der HTML‑Body URLs.
Das folgende Code‑Snippet demonstriert die Verwendung der Methode GetHtmlBodyText, um den HTML‑Body der E‑Mail als Klartext zu extrahieren.
X.500‑Exchange‑Adressen aus E‑Mails abrufen
Aspose.Email für Java ermöglicht den direkten Zugriff auf X.500‑Exchange‑Adressen über die MailAddress Klasse. Mit dem X500Address Durch diese Eigenschaft können Sie die E‑Mail‑Adresse im Exchange‑X.500‑Format abrufen, sofern sie verfügbar ist. Das folgende Code‑Beispiel zeigt, wie eine E‑Mail‑Nachricht geladen und die X.500‑Adresse des Absenders ermittelt wird:
MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();
Falls die X.500‑Adresse vorhanden ist, wird sie als Zeichenkette zurückgegeben und kann für weitere Verarbeitungen oder Protokollierungen in Anwendungen, die mit Exchange‑Systemen interagieren, verwendet werden.
Verknüpfte Bilder als Anhänge in HTML‑E‑Mails extrahieren und einbetten
Aspose.Email ExtractHTMLBodyResourcesAsAttachments Methode des HtmlSaveOption Klasse legt fest, ob HTML‑Body‑Ressourcen als Anhänge extrahiert werden sollen. Dadurch kann bildverknüpfter Inhalt aus dem HTML‑Body extrahiert und als Anhang in einer MIME‑Nachricht eingebettet werden. Die verknüpften Bilder bleiben erhalten und werden korrekt mit der E‑Mail assoziiert, was die Inhaltsintegrität und Offline‑Zugänglichkeit verbessert.
Das folgende Code‑Beispiel demonstriert, wie diese Aufgabe ausgeführt wird:
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());
}
});