menace
Goto Top

Regex bei Exchange mail flow rule

Hallo zusammen,

ich versuche aktuell eine Exchange mail flow rule zu erstellen, welche auf ein bestimmtes Pattern im Betreff greift:

das Pattern im Betreff lautet [TempCRM#1111111111]
Die Ziffern nach dem # sind dynamisch; alles vor der ersten [ und nach der letzten ] soll nicht beachtet werden;

folgenden RegEx habe ich versucht: \s+\[TempCRM#[0-9]+]

Leider funktioniert der Filter nicht.
Kann man so einen RegEx Ausdruck überhaupt per ECP in einer Exchange rule hinterlegen?
Oder geht das nur per PowerShell?

in der GUI steht der Ausdruck dann so: '\s+\[TempCRM#[0-9]+]'
in der PS Konsole so: {\s+\[TempCRM#[0-9]+]}

Content-ID: 1719847670

Url: https://administrator.de/forum/regex-bei-exchange-mail-flow-rule-1719847670.html

Ausgedruckt am: 22.12.2024 um 15:12 Uhr

mbehrens
mbehrens 13.01.2022 um 18:25:08 Uhr
Goto Top
Zitat von @menace:

das Pattern im Betreff lautet [TempCRM#1111111111]
Die Ziffern nach dem # sind dynamisch; alles vor der ersten [ und nach der letzten ] soll nicht beachtet werden;

folgenden RegEx habe ich versucht: \s+\[TempCRM#[0-9]+]

Leider funktioniert der Filter nicht.

Steht denn vor der ersten [ auch mindest. ein Whitespace?
menace
menace 13.01.2022 um 20:08:41 Uhr
Goto Top
hmm, nicht zwingend, alle folgenden Fälle sollen abgefangen werden;

aw: [TempCRM#1111111111] bla bla
fwd: [TempCRM#1111111111] bla bla
[TempCRM#1111111111] bla bla
EliteHacker
EliteHacker 13.01.2022 um 20:37:55 Uhr
Goto Top
Probier mal:

[TempCRM#[0-9]+]

ohne \s+
149569
149569 13.01.2022, aktualisiert am 14.01.2022 um 00:25:48 Uhr
Goto Top
Zitat von @menace:

Hallo zusammen,

ich versuche aktuell eine Exchange mail flow rule zu erstellen, welche auf ein bestimmtes Pattern im Betreff greift:

das Pattern im Betreff lautet [TempCRM#1111111111]
Die Ziffern nach dem # sind dynamisch; alles vor der ersten [ und nach der letzten ] soll nicht beachtet werden;

folgenden RegEx habe ich versucht: \s+\[TempCRM#[0-9]+]

Kann ja auch nicht funktionieren denn du erzwingst einerseits mindestens einen Whitspace Character vor dem gesuchten String und zusätzlich was noch Schlimmer ist, du hast du die eckige Klammer am Schluss nicht escaped, sollte man aber da diese ja bekanntlich ein Set von Charactern starten und beenden. Im Endeffekt war dein Pattern je nach Exchange Alter also ungültig, also besser einheitlich machen.
\[TempCRM#\d+\]
mbehrens
mbehrens 13.01.2022 um 23:48:01 Uhr
Goto Top
Zitat von @149569:

Zitat von @menace:
folgenden RegEx habe ich versucht: \s+\[TempCRM#[0-9]+]
Kann ja auch nicht funktionieren denn du erzwingst einerseits mindestens einen Whitspace Character vor dem gesuchten String und zusätzlich was noch Schlimmer ist, du hast du die eckige Klammer am Schluss nicht escaped, muss man aber das diese ja bekanntlich ein Set von Charactern im Regen starten und beenden. Im Endeffekt war dein Pattwrn also ungültig.

Sollte man, muss man aber in .NET nicht unbedingt:

If a closing bracket or brace is not preceded by its corresponding opening character, the regular expression engine interprets it literally.
menace
menace 14.01.2022 um 07:11:06 Uhr
Goto Top
danke für die Tipps bisher!

\[TempCRM#\d+\] scheint die korrekt Syntax zu sein, der RegEx checker liefert so zumindest für die gegebenen Fälle korrekt Ergebnisse zurück.
Problem ist jetzt leider noch, dass der Wert vom Exchange leider noch als RegEx interpretiert wird.

Wenn ich \[TempCRM#\d+\] als Filter hinterlegt und eine Mail mit Betreff "aw: [TempCRM#1111111111] bla bla" sende wird nichts angewendet.
Wenn ich eine Mail mit "\[TempCRM#\d+\]" im Betreff sende, wird die Regel angewendet...

regex
149569
Lösung 149569 14.01.2022 aktualisiert um 07:57:59 Uhr
Goto Top
Ist ja auch logisch denn du verwendest die falsche Regel! Du musst eine Regel vom Typ Muster/Patternvergleich benutzen sonst interpretiert er den Wert natürlich als Literal wie du gerade selbst feststellst!

In der Powershell wäre das hier der richtige Parameter
-SubjectMatchesPatterns
Um Regex für den Vergleich im Subject verwenden zu können!

Guckst du
https://docs.microsoft.com/de-de/powershell/module/exchange/new-transpor ...

New-TransportRule -Name "Meine Regel" -SubjectMatchesPatterns '\[TempCRM#\d+\]' -BlindCopyTo 'user@domain.de'  

So wird ein Schuh draus.
menace
menace 14.01.2022 um 08:12:10 Uhr
Goto Top
perfekt, besten Dank!
genau das war des Rätsels Lösung!