Class MailProcessor

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

public abstract class MailProcessor
extends java.lang.Object

Überschrift: MailProcessor.

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

Copyright: Copyright ELO Digital Office GmbH 2018 - 2021

  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.lang.String MAIL_CONTENT_END
    Dient als Marker für das Ende des E-Mail Inhaltes.
    static java.lang.String MAIL_CONTENT_START
    Dient als Marker für den Anfang des E-Mail Inhaltes.
  • Constructor Summary

    Constructors
    Constructor Description
    MailProcessor()  
  • Method Summary

    Modifier and Type Method Description
    static java.lang.String addCharset​(java.lang.String text, java.lang.String charset)
    Fügt dem HTML Code das angegebene Charset hinzu sofern nicht schon ein anderes Charset vorhanden ist.
    static java.lang.String cleanExternalLinks​(java.lang.String html)
    Ersetzt externe Links in E-Mails durch X.
    static java.io.File createMailContentFile​(java.io.File mailContentDir, java.lang.String fileName, java.lang.String mailContent)
    Erzeugt eine HTM-Datei mit dem E-Mail Inhalt und liefert die Datei zurück.
    protected static java.lang.String formatDate​(java.util.Date date)
    Formattiert das angegebene Datum für die Anzeige.
    abstract java.util.List<Attachment> getAttachments()
    Liefert die Attachments zurück.
    abstract java.util.Map<java.lang.String,​java.lang.String> getFields()
    Liefert die Felder zurück, die ausgewertet wurden.
    static boolean isValidEMailAddress​(java.lang.String mailAddress)
    Rudimentärer Test ob die angegebene E-Mail Adresse gültig ist.
    static java.lang.String makeValidHtml​(java.lang.String mailContent)
    Fügt dem übergegbenen HTML-Code, falls noch nicht vorhanden die entsprechenden HTML-Tags hinzu damit valides HTML entsteht.
    abstract void processFile​(java.io.File file)
    Extrahiert die Felder aus der angegebenen E-Mail Datei.
    abstract void processStream​(java.io.InputStream stream)
    Extrahiert die Felder der angegebenen E-Mail im Stream.
    static java.lang.String replaceCids​(java.lang.String html, java.util.List<Attachment> mailAttachments)
    Ersetzt vorhandene Cids durch Dateinamen.
    void writeEmbeddedPictures​(java.util.List<Attachment> attachments, boolean overwrite, java.io.File mailContentDir)
    Schreibt die eingebetteten Bilder im temporären Verzeichnis.
    void writeToFile​(Attachment attachment, java.io.File outFile)
    Schreibt den Anhanginhalt in die angegebene Datei.
    void writeToStream​(java.io.InputStream inputStream, java.io.OutputStream outputStream)
    Schreibt den Inhalt des Anhangs in einen OutputStream.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • MAIL_CONTENT_START

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

      public static java.lang.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​(java.io.File file) throws java.lang.Exception
      Extrahiert die Felder aus der angegebenen E-Mail Datei.
      Parameters:
      file - E-Mail Datei
      Throws:
      java.lang.Exception
    • processStream

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

      public abstract java.util.Map<java.lang.String,​java.lang.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 java.util.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​(java.util.List<Attachment> attachments, boolean overwrite, java.io.File mailContentDir) throws java.lang.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:
      java.lang.Exception
    • writeToFile

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

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

      public static java.io.File createMailContentFile​(java.io.File mailContentDir, java.lang.String fileName, java.lang.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 java.lang.String makeValidHtml​(java.lang.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 java.lang.String addCharset​(java.lang.String text, java.lang.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 java.lang.String cleanExternalLinks​(java.lang.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 java.lang.String replaceCids​(java.lang.String html, java.util.List<Attachment> mailAttachments) throws java.lang.Exception
      Ersetzt vorhandene Cids durch Dateinamen.
      Parameters:
      html - HTML Code
      mailAttachments - Liste mit E-Mail Anhängen
      Returns:
      bereinigter HTML Code
      Throws:
      java.lang.Exception
    • isValidEMailAddress

      public static boolean isValidEMailAddress​(java.lang.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 java.lang.String formatDate​(java.util.Date date)
      Formattiert das angegebene Datum für die Anzeige.
      Parameters:
      date - Datum
      Returns:
      Formattierter Datumsstring für die Anzeige