Aus historischen Gründen existiert mitunter noch eine alte Mail-Domain die eigentlich gar nicht mehr genutzt wird, aber selbst Jahre später noch Lieferanten und Kunden an alte Adressen Nachrichten versenden.

Existiert im MDaemon Messaging Server die alte Mail-Domain nicht mehr, sondern diese gibt es nur noch beim Mail-Provider und sollen alle dort ankommenden Nachrichten in einen bestimmten (Unter-)Ordner eines Postfaches der aktuellen Mail-Domain lässt sich das mit Hilfe des Inhaltfilters umsetzen.

Die Ausgangslage für diesen Beitrag ist ein entsprechendes Live-Szenario. Beim Mail-Provider werden alle Nachrichten die an die alte Mail-Domain gesendet werden mittels Weiterleitungs-Regel(n) an ein Postfach der aktuellen, wenn man so möchte neuen, Mail-Domain weitergereicht. Soweit, sogut.

Allerdings ist so nicht unbedingt leicht erkennbar, ob an die alte oder neue Mail-Domain gesendet wurde. Da man allerdings genau das Wissen möchte um den betreffenden Absender einen entsprechenden Hinweis geben zu können, sollten diese Nachrichten in einen eigens dafür vorgesehenen Ordner einsortiert werden.

Die einfachste Regel dazu sieht folgendermaßen aus:

Kurzum: Enthält der “TO Header” eine bestimmte E-Mail-Adresse bzw. -Domain wird die Nachricht in einen bestimmten Ordner verschoben.

Damit das Ganze auch mit beim Mail-Provider weitergeleiteten Nachrichten klappt muss die Regel so aussehen:

Man muss einen benutzerdefinierten Header “X-Original-To” verwenden, denn bei weitergeleiteten Nachrichten wird der “TO Header” umgeschrieben.

Das funktioniert, hat allerdings den Nachteil, das auch als spam-markierte Mails (der Betreff beginnt z.B. mit “[***SPAM***”) ebenfalls in den Ordner verschoben werden.

Das Ganze lässt sich mit einer kleiner Erweiterung der Regel(n) lösen. An dieser Stelle kommen reguläre Ausdrücke zum Einsatz. Eine sehr gute Hilfe- sowie Testseite finden sich hier:

MDaemon – Hilfe – Sicherheit – Inhaltsfilter und AntiVirus – Der Editor für den Inhaltsfilter – Regeln: Nutzung Regulärer Ausdrücke in den Filterregeln

FREEFORMATER.COM – Regular Expression Tester

Man legt eine Text-Datei, z.B. mit Notepad, an und fügt folgendes ein:

REGEX:^\[\*\*\*SPAM\*\*\*

Nun editiert man die Regel(n), aktiviert

If the Subject HEADER does NOT contain any words from text file

und verweisst auf die zuvor erstellte Datei. Wichtig ist, das die Regeln via “und” verarbeitet werden, denn es soll ja nur Greifen wenn die entsprechende Domain UND NICHT die Spam-Markierung zutreffen. Rein in Textform sieht so eine Regel dann so aus:

Apply this rule to messages in the LOCAL & REMOTE queue

If the userdef1:X-Original-To HEADER contains 'old-domain.de'
and If the Subject HEADER does NOT contain any words from text file 'C:\Scripts\MDaemon\Filter.txt'
...then copy message to folder "C:\MDaemon\Users\new-domain.de\support\INBOX.IMAP\old-domain.IMAP\"...
and delete this message

Übrigens: Im MDaemon in der Live-/Protokoll-Ansicht auf der Registerkarte “Sicherheit – Inhaltsfilter” kann man gut erkennen, ob die Regeln greifen und welche auf die jeweilige Nachricht “matchen”:

Mon 2020-06-08 02:49:58.185: Content Filter processing c:\mdaemon\queues\local\md50000171489.msg...
Mon 2020-06-08 02:49:58.185: * Message return-path: <Absender>
Mon 2020-06-08 02:49:58.185: * Message from: <Absender>
Mon 2020-06-08 02:49:58.185: * Message to: <Epfänger>
Mon 2020-06-08 02:49:58.185: * Message subject: Ich konnte nicht widerstehen und vorbeigehen!
Mon 2020-06-08 02:49:58.185: * Message ID: <ID>
Mon 2020-06-08 02:49:58.185: Start Content Filter results
Mon 2020-06-08 02:49:58.187: * Message matched rule: 3 "Journal" (Hits: 109757)
Mon 2020-06-08 02:49:58.196: * Action: Message copied to directory
Mon 2020-06-08 02:49:58.214: * Message matched rule: 6 "ALT umleiten - X-Original-To" (Hits: 4405)
Mon 2020-06-08 02:49:58.214: * Condition: X-Original-To header contains [old-domain.de]
Mon 2020-06-08 02:49:58.214: * Condition: Did not match any words from C:\Scripts\MDaemon\Filter.txt
Mon 2020-06-08 02:49:58.222: * Action: Message copied to directory
Mon 2020-06-08 02:49:58.222: * Action: Message deleted (this action ends further rule processing)
Mon 2020-06-08 02:49:58.231: * Matched 2 of 14 active rules
Mon 2020-06-08 02:49:58.231: End of Content Filter results