Erweiterung der Spam-Prüfung

Ü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. Dafür müssen die Spam-Prüfung und die Formaterkennung erweitert werden.

Vorgehensweise bei der Erweiterung der Spam-Prüfung

IAllowedFormat-Implementierung

Eine Implementierung des IAllowedFormat führt die Spam-Prüfung aus. Es existieren mehrere Implementierungen und es können neue erstellt werden.

Wenn für die Prüfung nur die erste Zeile des Anhangs benutzt wird, kann die Klasse org.b2bbp.service.inbound.formats.AllowedFormatByRegex benutzt werden. Damit kann man einen regulären Ausdruck angeben, der auf die erste Zeile passen muss. Der Regex-Ausdruck wird in der GlobalProperty B3P_ALLOWED_FORMAT_REGEX abgelegt.

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.

Mailservice konfigurieren

Die IAllowedFormat-Implementierungen müssen dem Mailservice bekannt gegeben werden. Dies geschieht beim Customizing über die Service-Property B3P_ALLOWED_FORMAT_CLASSES. Sie soll erstellt oder erweitert werden. Hier werden die Klassennamen mit Semikolon getrennt angegeben, z. B. „org.b2bbp.service.inbound.formats.AllowedFormatWetterDWD;org.b2bbp.service.inbound.formats.AllowedFormatTSOReply“

Vorgehensweise bei der Erweiterung der Formaterkennung

Siehe Erweiterung der Formaterkennung

AllowedFormatGenericRegex

Diese Klasse vergleicht Teile einer E-Mail mit Regulären Ausdrücken (Regex).

Einrichtung

  1. Dem Mail-Crawler-Service die Property B3P_ALLOWED_FORMAT_CLASSES mit dem Wert org.b2bbp.service.inbound.formats.AllowedFormatGenericRegex hinzufügen. Mehrere Klassen können per Semikolon getrennt werden.
  2. 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 wird ALLOWED_FORMAT_GENERIC_REGEX verwendet. Der Name ist jedoch frei wählbar.
  3. 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
View Me   Edit Me