Package de.elo.mover.main.mail
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 - 2020
-
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 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.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, int objId, 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.
-
Field Details
-
MAIL_CONTENT_START
public static java.lang.String MAIL_CONTENT_STARTDient als Marker für den Anfang des E-Mail Inhaltes. -
MAIL_CONTENT_END
public static java.lang.String MAIL_CONTENT_ENDDient 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.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
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.ExceptionSchreibt 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
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
-