Konvertera e-post till HTML i Java

HTML är ett allmänt använt och lättillgängligt format som kan ses av ett brett utbud av plattformar, webbläsare, inklusive stationära datorer och mobila enheter. Däremot kan EML- och MSG-filer kräva att specifik programvara eller e-postklienter visas, vilket kan göra dem svårare att komma åt och se över tid. Så att konvertera MSG- eller EML-filer till HTML gör dem lättare att se, särskilt för mottagare som kanske inte har kompatibla e-postklienter eller programvara.

Dessutom är HTML-filer lättare att arkivera och förblir i ett sökbart, indexerat format.

Den här artikeln presenterar en algoritm för att snabbt och enkelt konvertera MSG- eller EML-filer till HTML-format med Java, oavsett det underliggande syftet. Vår pålitliga metod garanterar att innehållet i e-postmeddelandet, inklusive inbäddade bilder, bevaras helt utan förlust. Detta säkerställer att e-postmeddelandets integritet bibehålls under hela konverteringsprocessen.

Artikeln täcker följande ämnen:

Java API för att konvertera EML/MSG-filer till HTML

För att utföra uppgiften att konvertera EML/MSG-filer till HTML kommer vi att använda Aspose.Email for Java. Detta e-postbearbetnings-API gör det möjligt för användare att hantera e-post och arbeta med filformat för populära e-postklienter som Thunderbird, Outlook och andra. För att skaffa API:t är det möjligt att antingen ladda ner eller installera det från vårt arkiv.

Konvertera EML/MSG-filer till HTML och spara bilder separat

En typisk MSG-fil har följande vy:

MSG-filvy

Med vårt API kan du ställa in vilken katalog som helst på din enhet och spara HTML-målfilen med bilder i en separat mapp:

HTML-filvy

Kodavsnittet nedan visar omvandlingsprocessen av ett e-postmeddelande i MSG- eller EML-format till en HTML-fil med bilder, som sparas i en målkatalog. Koden utför följande steg:

  1. Anger först käll- och målsökvägarna för käll-MSG/EML-filen respektive HTML-filen, samt målkatalogen för resurserna.
  2. Laddar MSG- eller EML-filen med metoden MailMessage.load.
  3. Skapar objektet HtmlSaveOptions och ställer in egenskapen ResourceRenderingMode till SaveToFile.
  4. Definierar en invoke-metod för SaveResourceHandler i HtmlSaveOptions.
  5. Skapar en målkatalog för resurserna i invoke-metoden om den inte redan finns.
  6. Sparar varje resurs till en fil med ett filnamn i invoke-metoden baserat på innehållstypen för resursen.
  7. Anropar metoden save för instansen MailMessage och skickar in mål-HTML-filnamnet och HtmlSaveOptions-instansen för att spara e-postmeddelandet i HTML-format.
// MSG- eller EML-filnamn
String msgFileName = pathCombine(sourcePath, "A Day in the Park.msg");

// mål HTML
String htmlFileName = pathCombine(targetPath, "A Day in the Park.html");

// målkatalog för att spara bilder
String resourceDir = pathCombine(targetPath, "A Day in the Park");

// Ladda MSG eller EML
MailMessage msg = MailMessage.load(msgFileName);

// Skapa HTML-sparalternativ
HtmlSaveOptions htmlSaveOptions = new HtmlSaveOptions();
htmlSaveOptions.setResourceRenderingMode(ResourceRenderingMode.SaveToFile);
htmlSaveOptions.setSaveResourceHandler(new SaveResourceHandler() {

    @Override
    public void invoke(AttachmentBase attachment, String[] resourceFileName) {
        resourceFileName[0] = pathCombine(resourceDir, attachment.getContentType().getName());
        attachment.save(resourceFileName[0]);
    }
});

msg.save(htmlFileName, htmlSaveOptions);

Konvertera EML/MSG-filer till HTML och spara bilder i HTML

Ibland kanske du föredrar att konvertera EML/MSG-filer till HTML som behåller inbäddade bilder i HTML.

Bild inuti HTML i en textredigerare

The code snippet below demonstrates how to convert an MSG or EML file to HTML format in Java and save the images inside HTML. Koden utför följande steg:

  1. Definierar käll- och målsökvägarna för e-postfilen och HTML-utdata.
  2. Laddar MSG- eller EML-filen med metoden MailMessage.load.
  3. Skapar en ny instans av klassen HtmlSaveOptions, som låter dig konfigurera hur e-postmeddelandet sparas som HTML.
  4. Konfigurerar instansen HtmlSaveOptions för att bädda in resurserna, inklusive bilder, direkt i HTML.
  5. Anropar metoden save för instansen MailMessage och skickar in mål-HTML-filnamnet och HtmlSaveOptions-instansen för att spara e-postmeddelandet i HTML-format.
// MSG- eller EML-filnamn
String msgFileName = pathCombine(sourcePath, "A Day in the Park.msg");

// mål HTML
String htmlFileName = pathCombine(targetPath, "A Day in the Park.html");

// Ladda MSG eller EML
MailMessage msg = MailMessage.load(msgFileName);

// Skapa HTML-sparalternativ
HtmlSaveOptions htmlSaveOptions = new HtmlSaveOptions();
htmlSaveOptions.setResourceRenderingMode(ResourceRenderingMode.EmbedIntoHtml);

msg.save(htmlFileName, htmlSaveOptions);

Spara HTML med en Header

Som en valfri variant kan du spara en HTML med en rubrik. Följande kodavsnitt visar hur man sparar en HTML med en rubrik i Java:

// Skapa HTML-sparalternativ
HtmlSaveOptions htmlSaveOptions = new HtmlSaveOptions();
htmlSaveOptions.setResourceRenderingMode(ResourceRenderingMode.EmbedIntoHtml);
htmlSaveOptions.setHtmlFormatOptions(HtmlFormatOptions.WriteHeader);

Som ett resultat kommer en textrubrik att läggas till i mål-HTML:

Texthuvud

Slutsats

För att sammanfatta, från den här artikeln har du precis lärt dig om bekvämligheten med HTML-format för arkivering och hantering av dina filer och hur du utför konvertering från EML- eller MSG-format till HTML i Java med Aspose.Email för Java-biblioteket. Du kan se hur snabb och enkel konverteringsprocessen är bara med några rader kod. Sammantaget är vårt API en utmärkt lösning för e-posthantering och bearbetning i Java-baserade applikationer.

Om du har några frågor är du välkommen att skriva till vårt gratis supportforum. Du kan också lära dig mer om Aspose.Email för Java, dess funktioner och faciliteter från vår dokumentation.

Se även