Class MailProcessor

java.lang.Object
de.elo.mover.main.mail.MailProcessor
Direct Known Subclasses:
EMLProcessor, MSGProcessor

public abstract class MailProcessor extends Object

Überschrift: MailProcessor.

Beschreibung: Interface für die Komponente zum Auslesen des E-Mail Inhaltes.

Copyright: Copyright ELO Digital Office GmbH 2018 - 2021

  • Field Details

    • MAIL_CONTENT_START

      public static String MAIL_CONTENT_START
      Dient als Marker für den Anfang des E-Mail Inhaltes.
    • MAIL_CONTENT_END

      public static String MAIL_CONTENT_END
      Dient als Marker für das Ende des E-Mail Inhaltes.
  • Constructor Details

    • MailProcessor

      public MailProcessor()
  • Method Details

    • processFile

      public abstract void processFile(File file) throws Exception
      Extrahiert die Felder aus der angegebenen E-Mail Datei.
      Parameters:
      file - E-Mail Datei
      Throws:
      Exception
    • processStream

      public abstract void processStream(InputStream stream) throws Exception
      Extrahiert die Felder der angegebenen E-Mail im Stream. Der Stream wird geschlossen.
      Parameters:
      stream - E-Mail Datei als Stream
      Throws:
      Exception
    • getFields

      public abstract Map<String,String> getFields()
      Liefert die Felder zurück, die ausgewertet wurden. Die Methode "processFile" sollte vorher aufgerufen werden.
      Returns:
      Hashmap mit den ausgewerteten Feldern
    • getAttachments

      public abstract List<Attachment> getAttachments()
      Liefert die Attachments zurück. Die Methode "processFile" sollte vorher aufgerufen werden.
      Returns:
      Liste mit E-Mail Anhängen
    • writeEmbeddedPictures

      public void writeEmbeddedPictures(List<Attachment> attachments, boolean overwrite, File mailContentDir) throws Exception
      Schreibt die eingebetteten Bilder im temporären Verzeichnis.
      Parameters:
      attachments - Liste mit E-Mail Anhängen
      overwrite - Gibt an ob Daten überschrieben werden sollen oder unique Dateinamen generiert werden sollen
      mailContentDir - Tempverzeichnis für Maildaten
      Throws:
      Exception
    • writeToFile

      public void writeToFile(Attachment attachment, File outFile) throws Exception
      Schreibt den Anhanginhalt in die angegebene Datei.
      Parameters:
      attachment - E-Mail Anhang
      outFile - Datei, in der geschrieben wird
      Throws:
      Exception
    • writeToStream

      public void writeToStream(InputStream inputStream, OutputStream outputStream) throws Exception
      Schreibt den Inhalt des Anhangs in einen OutputStream.
      Parameters:
      inputStream - InputStream
      outputStream - OutputStream
      Throws:
      Exception
    • createMailContentFile

      public static File createMailContentFile(File mailContentDir, String fileName, String mailContent)
      Erzeugt eine HTM-Datei mit dem E-Mail Inhalt und liefert die Datei zurück.
      Parameters:
      mailContentDir - Temporäres Verzeichnis für Maildaten
      fileName - Dateinamen
      mailContent - E-Mail Inhalt
      Returns:
      HTML-Mail-Datei
    • makeValidHtml

      public static String makeValidHtml(String mailContent)
      Fügt dem übergegbenen HTML-Code, falls noch nicht vorhanden die entsprechenden HTML-Tags hinzu damit valides HTML entsteht.
      Parameters:
      mailContent - HTML-Code
      Returns:
      Gültiger HTML-Code
    • addCharset

      public static String addCharset(String text, String charset)
      Fügt dem HTML Code das angegebene Charset hinzu sofern nicht schon ein anderes Charset vorhanden ist.
      Parameters:
      text - HTML-Code
      charset - Charset, das hinzugefügt werden soll
      Returns:
      HTML Code mit Charset
    • cleanExternalLinks

      public static String cleanExternalLinks(String html)
      Ersetzt externe Links in E-Mails durch X.
      Parameters:
      html - HTML Code, der bereinigt werden soll
      Returns:
      bereinigter HTML Code
    • replaceCids

      public static String replaceCids(String html, List<Attachment> mailAttachments) throws Exception
      Ersetzt vorhandene Cids durch Dateinamen.
      Parameters:
      html - HTML Code
      mailAttachments - Liste mit E-Mail Anhängen
      Returns:
      bereinigter HTML Code
      Throws:
      Exception
    • isValidEMailAddress

      public static boolean isValidEMailAddress(String mailAddress)
      Rudimentärer Test ob die angegebene E-Mail Adresse gültig ist.
      Parameters:
      mailAddress - Zu testende E-Mail Adresse
      Returns:
      E-Mail Adresse ist gültig
    • formatDate

      protected static String formatDate(Date date)
      Formattiert das angegebene Datum für die Anzeige.
      Parameters:
      date - Datum
      Returns:
      Formattierter Datumsstring für die Anzeige