Package de.elo.mover.main.mail
Class MailProcessor
- java.lang.Object
-
- de.elo.mover.main.mail.MailProcessor
-
- Direct Known Subclasses:
EMLProcessor
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
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringMAIL_CONTENT_ENDDient als Marker für das Ende des E-Mail Inhaltes.static java.lang.StringMAIL_CONTENT_STARTDient als Marker für den Anfang des E-Mail Inhaltes.
-
Constructor Summary
Constructors Constructor Description MailProcessor()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static java.lang.StringaddCharset(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.StringcleanExternalLinks(java.lang.String html)Ersetzt externe Links in E-Mails durch X.static java.io.FilecreateMailContentFile(java.io.File tempDir, int objId, 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.StringformatDate(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 booleanisValidEMailAddress(java.lang.String mailAddress)Rudimentärer Test ob die angegebene E-Mail Adresse gültig ist.static java.lang.StringmakeValidHtml(java.lang.String mailContent)Fügt dem übergegbenen HTML Code, falls noch nicht vorhanden die entsprechenden HTML Tags hinzu damit valides HTML entsteht.abstract voidprocessFile(java.io.File file)Extrahiert die Felder aus der angegebenen E-Mail Datei.abstract voidprocessStream(java.io.InputStream stream)Extrahiert die Felder der angegebenen E-Mail im Stream.static java.lang.StringreplaceCids(java.lang.String html, java.util.List<Attachment> mailAttachments)Ersetzt vorhandene Cids durch Dateinamen.voidwriteEmbeddedPictures(java.util.List<Attachment> attachments, int objId, boolean overwrite, java.io.File mailContentDir)Schreibt die eingebetteten Bilder im temporären Verzeichnis.voidwriteToFile(Attachment attachment, java.io.File outFile)Schreibt den Anhanginhalt in die angegebene Datei.voidwriteToStream(java.io.InputStream inputStream, java.io.OutputStream outputStream)Schreibt den Inhalt des Anhangs in einen OutputStream.
-
-
-
Method Detail
-
processFile
public abstract void processFile(java.io.File file) throws java.lang.ExceptionExtrahiert 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.ExceptionExtrahiert 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, int objId, 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ängenobjId- Object ID der E-Mailoverwrite- Gibt an ob Daten überschrieben werden sollen oder unique Dateinamen generiert werden sollenmailContentDir- 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 AnhangoutFile- Datei, in der geschrieben wird- Throws:
java.lang.Exception
-
writeToStream
public void writeToStream(java.io.InputStream inputStream, java.io.OutputStream outputStream) throws java.lang.ExceptionSchreibt den Inhalt des Anhangs in einen OutputStream.- Parameters:
inputStream- InputStreamoutputStream- OutputStream- Throws:
java.lang.Exception
-
createMailContentFile
public static java.io.File createMailContentFile(java.io.File tempDir, int objId, java.lang.String fileName, java.lang.String mailContent)Erzeugt eine HTM-Datei mit dem E-Mail Inhalt und liefert die Datei zurück.- Parameters:
tempDir- Aktueller ArbeitsbereichobjId- Id des angezeigten DokumentesfileName- DateinamenmailContent- 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 Codecharset- 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.ExceptionErsetzt vorhandene Cids durch Dateinamen.- Parameters:
html- HTML CodemailAttachments- 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
-
-