Berichtinhoud Extracten uit E‑mails
E‑mailinformatie op het Scherm Weergeven
De MailMessage vertegenwoordigt een e‑mailbericht en stelt ontwikkelaars in staat om de eigenschappen van het bericht te benaderen. De header‑informatie (besproken in E‑mailheaders Extracten) kan op verschillende manieren worden geëxtraheerd en gemanipuleerd. Dit artikel legt uit hoe geselecteerde e‑mailheaderinformatie en de e‑mailtekst op het scherm kunnen worden weergegeven.
- Maak een instantie van de MailMessage.
- Laad een e‑mailbericht in de MailMessage‑instantie.
- Geef de e‑mailinhoud weer op het scherm.
De onderstaande code toont hoe een e‑mailbericht kan worden geladen en de inhoud ervan – van, aan, onderwerp en e‑mailtekst – op het scherm kan worden weergegeven.
Berichtdatum en -tijd ophalen
De MailMessage klasse kan worden gebruikt om de berichtdatum op te halen in UTC of lokale tijdzone. Deze informatie kan als volgt worden samengevat:
- MailMessage.getDate() - retourneert datum in UTC
- MailMessage.getLocalDate() - geeft datum terug in lokale tijdzone
- MailMessage.isLocalDate Geeft true terug, als MailMessage.getDate() in de lokale tijdzone is
E‑mailheaders Extracten
De e‑mailheader vertegenwoordigt een door internet en RFC gedefinieerde standaardset van header‑velden die in internet‑e‑mailberichten zijn opgenomen. Een e‑mailheader kan worden gespecificeerd met behulp van de MailMessage klasse. Veelvoorkomende headertypen worden gedefinieerd in de HeaderType klasse. Het is een sealed‑klasse die werkt als een normale enumeratie.
Volg deze stappen om headers uit een e‑mail te extraheren:
- Maak een instantie van de MailMessage‑klasse.
- Laad een e‑mailbericht in de instantie van de MailMessage‑klasse.
- Nadat een e‑mailbericht is geladen, halen we de ruwe inhoud op. De MailMessage‑klasse bevat zelf eigenschappen zoals From, To, Cc, Subject enzovoort. Deze eigenschappen kunnen uit de headers worden geëxtraheerd.
- Geef de ruwe inhoud weer.
Gedecodeerde headerwaarden ophalen
De disposition-header van gekoppelde bron ophalen en wijzigen
De gekoppelde bron kan programmatisch worden benaderd en gemanipuleerd in het e-mailberichtobject. De getContentDisposition() methode van de LinkedResource klasse haalt de Content‑Disposition-header op. Het onderstaande codevoorbeeld toont hoe de bestandsnaam van de gekoppelde bron kan worden benaderd en aangepast:
MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");
HTML-body als platte tekst ophalen
De MailMessage klasse biedt de mogelijkheid om de HTML-body van het bericht als platte tekst te extraheren. De MailMessage-klasse biedt een GetHtmlBodyText methode die de HTML-body als platte tekst retourneert. De GetHtmlBodyText-methode accepteert een boolean‑parameter die aangeeft of de body URL’s moet bevatten of niet. Het doorgeven van de parameter als true geeft aan dat de HTML-body URL’s moet bevatten.
De volgende codefragment toont het gebruik van de GetHtmlBodyText-methode om de HTML-body van de e-mail als platte tekst te extraheren.
X.500 Exchange-adressen ophalen uit e‑mails
Aspose.Email voor Java stelt je in staat om X.500 Exchange-adressen rechtstreeks te benaderen via de MailAddress klasse. Met de X500Address eigenschap, kun je het e-mailadres in het Exchange X.500-formaat ophalen wanneer het beschikbaar is. Het volgende codevoorbeeld toont hoe een e‑mailbericht te laden en het X.500-adres van de afzender te verkrijgen:
MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();
Als het X.500-adres bestaat, wordt dit als een string geretourneerd en kan het worden gebruikt voor verdere verwerking of logging in toepassingen die communiceren met op Exchange gebaseerde systemen.
Gekoppelde afbeeldingen extraheren en insluiten als bijlagen in HTML‑e‑mails
Aspose.Email ExtractHTMLBodyResourcesAsAttachments methode van de HtmlSaveOption klasse bepaalt of HTML-body‑bronnen als bijlagen moeten worden uitgehaald. Zo kun je afbeelding‑gekoppelde inhoud uit de HTML-body extraheren en als een bijlage in een MIME‑bericht insluiten. De gekoppelde afbeeldingen worden bewaard en correct aan de e-mail gekoppeld, waardoor de inhoudsintegriteit en offline toegankelijkheid verbeteren.
Het volgende codevoorbeeld toont hoe deze taak kan worden uitgevoerd:
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());
}
});