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-Key: 1719847670

Url: https://administrator.de/contentid/1719847670

Printed on: April 19, 2024 at 00:04 o'clock

Member: mbehrens
mbehrens Jan 13, 2022 at 17:25:08 (UTC)
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?
Member: menace
menace Jan 13, 2022 at 19:08:41 (UTC)
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
Member: EliteHacker
EliteHacker Jan 13, 2022 at 19:37:55 (UTC)
Goto Top
Probier mal:

[TempCRM#[0-9]+]

ohne \s+
Mitglied: 149569
149569 Jan 13, 2022 updated at 23:25:48 (UTC)
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+\]
Member: mbehrens
mbehrens Jan 13, 2022 at 22:48:01 (UTC)
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.
Member: menace
menace Jan 14, 2022 at 06:11:06 (UTC)
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
Mitglied: 149569
Solution 149569 Jan 14, 2022 updated at 06:57:59 (UTC)
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.
Member: menace
menace Jan 14, 2022 at 07:12:10 (UTC)
Goto Top
perfekt, besten Dank!
genau das war des Rätsels Lösung!