Überblick
Mit Standard-Einstellungen kann der MailService nur EDIFACT-Nachrichten verarbeiten. Alle Weiteren E-Mail-Anhänge werden als Spam aussortiert. Dieses Dokument beschreibt die Vorgehensweise, um die Verarbeitung weiterer Formate zuzulassen.
Konfiguration des Mailservices
Am MailService (oder CryptoMailService) muss die Service-Property B3P_ALLOWED_FORMAT_CLASSES
gesetzt werden. Hier werden die Filter-Namen mit Semikolon getrennt
angegeben, z. B.
„org.b2bbp.service.inbound.formats.AllowedFormatGenericRegex;org.b2bbp.service.inbound.formats.AllowedFormatXML“
Filter
Es gibt viele Spam-Filter, die unterschiedliche Arten von Nachrichten durchlassen können. Manche brauchen eine extra Konfiguration.
AllowedFormatAllowAll
Filter-Name: org.b2bbp.service.inbound.formats.AllowedFormatAllowAll
Alle Emails, die einen Anhang haben und einen Punkt im Anhang-Namen haben, werden durchgelassen.
AllowedFormatXML
Filter-Name: org.b2bbp.service.inbound.formats.AllowedFormatXML
Nachrichten, die “<?xml” enthalten, werden durchgelassen.
AllowedFormatByRegex
Filter-Name: org.b2bbp.service.inbound.formats.AllowedFormatByRegex
Für die Prüfung wird nur die erste Zeile des Anhangs benutzt. In der Global Property B3P_ALLOWED_FORMAT_REGEX
wird ein
regulärer Ausdruck angegeben, der auf die erste Zeile passen muss.
Zum Beispiel mit dem Regulären Ausdruck “Vorname;Name.*” wird die Nachricht “Vorname;Name;Nummer\nHugo;Brown;12345” durchgelassen. Die Nachricht “Typ;Vorname;Name;Nummer\nHugo;Brown;12345” wird nicht durchgelassen.
AllowedFormatGenericRegex
Filter-Name: org.b2bbp.service.inbound.formats.AllowedFormatGenericRegex
Dieser Filter vergleicht verschiedene Teile einer E-Mail mit Regulären Ausdrücken (Regex). Neben dem Anhang können auch die Emailadresse, Betreff und andere Eigenschaften geprüft werden.
Einrichtung
- Dem Mail-Crawler-Service die Property
B3P_ALLOWED_FORMAT_CLASSES
mit dem Wertorg.b2bbp.service.inbound.formats.AllowedFormatGenericRegex
hinzufügen. - Die Service-Property
GENERIC_REGEX_EXTENSION_NAME
am Mail-Crawler-Service setzen. Als Wert wird der Name der Extension eingetragen, in der sich die Regex befinden, nach denen die E-Mails überprüft werden sollen. In diesem Beispiel wirdALLOWED_FORMAT_GENERIC_REGEX
verwendet. Der Name ist jedoch frei wählbar. - Die Extension erstellen, die in der eben angelegten Property angegeben wurde. In diesem Beispiel wäre das
ALLOWED_FORMAT_GENERIC_REGEX
.
Aufbau der Extension, die die Regex enthält
In dieser Extension können einem Mail-Crawler-Service beliebig viele Regeln zugeteilt werden. Eine Regel kann einen Regex pro Teil einer E-Mail enthalten.
Die Zuweisung der Regeln erfolgt per Service-ID. In diesem Beispiel wird der Mail-Crawler-Service mit der ID MAIL_IN
verwendet. Mehrere Regeln werden per Semicolon getrennt. Die Namen der Regeln sind frei wählbar.
<Service-ID>.RULES = <Per Semikolon getrennte Regelnamen>
Beispiel:
MAIL_IN.RULES = Regel1;Regel2
Um einen Regex in einer Regel für einen bestimmten Teil der E-Mail zu hinterlegen, wird die Service-ID des Mail-Crawler-Service, der Name der Regel und der Teil der E-Mail, der überprüft werden soll benötigt. Der Regex muss als Java Regex vorliegen.
<Service-ID>.<Regelname>.<Teil der E-Mail> = <Regex>
Beispiel:
MAIL_IN.Regel1.attachmentName = (test)\\.(png)
Folgende Teile einer E-Mail können überprüft werden:
Name in der Extension | Beschreibung |
---|---|
content |
Der Anhang als String |
mailFrom |
Die E-Mail-Adresse des Versenders |
mailTo |
Die E-Mail-Adresse des Empfängers |
bodyContent |
Der Mailtext |
subject |
Der Betreff |
attachmentName |
Der Dateiname des Anhangs |
received |
Der Empfangszeitpunkt als String im Format Fri May 07 01:23:45 CEST 2021 |
Sonderbehandlung für CSV und Excel-Dokumente
Für CSV und Excel-Dokumente muss unter Umständen für den MailService die Property B3P_STORE_EXCEL_RAW_DATA_IN_MESSAGE_CONTENT erstellt und auf “true” gesetzt werden.
Hintergrund: Das E-Mail-Programm des Absenders stuft in manchen Fällen die Anhänge mit .CSV-Dateien als Excel-Dokumente ein. Bei deren Verarbeitung wird im MailService der Inhalt durch “Excel Content can’t show in B2B” ersetzt. Somit scheitert jede weitere Prüfung in der IAllowedFormat-Implementierung.
Erweiterung der Formaterkennung
Mit der hier beschriebenen Konfiguration der Spamerkennung können beliebige Nachrichten in die B2B eingelesen werden. Damit sie aber weiter verarbeitet werden, muss unter Umständen besondere Formaterkennung durchgeführt werden.
Siehe Erweiterung der Formaterkennung
View Me Edit Me