Extrahera meddelandeinnehåll från e‑post
Visa e‑postinformation på skärmen
Den MailMessage representerar ett e‑postmeddelande och låter utvecklare komma åt e‑postmeddelandets egenskaper. Headerinformationen (diskuterad i Extrahera e‑posthuvuden) kan extraheras och manipuleras på olika sätt. Denna artikel förklarar hur man visar vald e‑postheaderinformation och e‑postkroppen på skärmen.
- Skapa en instans av MailMessage.
- Läs in ett e‑postmeddelande i MailMessage‑instansen.
- Visa e‑postinnehållet på skärmen.
Koden nedan demonstrerar hur man läser in ett e‑postmeddelande och visar dess innehåll – från, till, ämne och e‑postkropp – på skärmen.
Hämta meddelandedatum och tid
Den MailMessage klassen kan användas för att hämta meddelandedatum i UTC eller lokal tidszon. Denna information kan sammanfattas enligt följande:
- MailMessage.getDate() - returnerar datum i UTC
- MailMessage.getLocalDate() - returnerar datum i lokal tidszon
- MailMessage.isLocalDate Returnerar true om MailMessage.getDate() är i den lokala tidszonen
Extrahera e‑posthuvuden
E‑postheadern representerar en internet- och RFC‑definierad standarduppsättning av headerfält som ingår i internet‑e‑postmeddelanden. En e‑postheader kan anges med hjälp av MailMessage klass. Vanliga huvudtyper definieras i HeaderType klass. Det är en förseglad klass som fungerar som en vanlig uppräkning.
För att extrahera headern från ett e‑postmeddelande, följ dessa steg:
- Skapa en instans av klassen MailMessage.
- Läs in ett e‑postmeddelande i en instans av klassen MailMessage.
- Efter att ett e‑postmeddelande har lästs in får vi dess råa innehåll. MailMessage‑klassen innehåller själv egenskaper som From, To, Cc, Subject med mera. Dessa egenskaper kan extraheras från headerna.
- Visa det råa innehållet.
Hämta avkodade rubrikvärden
Hämta och ändra den länkade resursens disposition‑rubrik
Den länkade resursen kan nås och manipuleras programatiskt i e‑postmeddelandeobjektet. getContentDisposition() metod för LinkedResource klassen hämtar Content‑Disposition‑rubriken. Koden nedan visar hur man får åtkomst till och ändrar filnamnet för den länkade resursen:
MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");
Hämta HTML‑kropp som vanlig text
Den MailMessage klassen ger möjlighet att extrahera meddelandets HTML‑kropp som vanlig text. MailMessage‑klassen tillhandahåller en GetHtmlBodyText metod som returnerar HTML‑kroppen i vanlig text. Metoden GetHtmlBodyText accepterar en boolesk parameter som anger om kroppen ska innehålla URL:er eller inte. Att skicka med parametern som true betyder att HTML‑kroppen ska innehålla URL:er.
Följande kodsnutt demonstrerar användningen av GetHtmlBodyText-metoden för att extrahera e‑postens HTML‑kropp som vanlig text.
Hämta X.500 Exchange‑adresser från e‑post
Aspose.Email för Java låter dig komma åt X.500 Exchange‑adresser direkt via MailAddress klass. Med X500Address egenskapen låter dig hämta e‑postadressen i Exchange X.500‑format när den är tillgänglig. Följande kodexempel visar hur man laddar ett e‑postmeddelande och får avsändarens X.500‑adress:
MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();
Om X.500‑adressen finns, returneras den som en sträng och kan användas för vidare bearbetning eller loggning i applikationer som interagerar med Exchange‑baserade system.
Extrahera och bädda in länkade bilder som bilagor i HTML‑e‑post
Aspose.Email ExtractHTMLBodyResourcesAsAttachments metod för HtmlSaveOption klassen definierar om HTML‑kroppsresurser ska extraheras som bilagor. På så sätt kan du extrahera bildlänkat innehåll från HTML‑kroppen och bädda in det som en bilaga i ett MIME‑meddelande. De länkade bilderna bevaras och associeras korrekt med e‑posten, vilket förbättrar innehållsintegritet och offline‑åtkomst.
Följande kodexempel visar hur man utför denna uppgift:
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());
}
});