我想设置一条规则,当主题包含 /####(例如 /1234)时执行某些操作。在 Outlook 或 OWA 上可以正常工作。但是,当我尝试在 Exchange ECP 邮件流上执行此操作时......无论我多么努力,仍然无法使其工作......:(
我试过了 /1234 - 不起作用 [/1234] - 不起作用 /1234 - 不起作用 “/1234” - 不起作用
我已经在 Google 上搜索了 3 天,仍然找不到解决方案。
提前致谢。
答案1
您可以通过谷歌搜索如何在 Exchange 传输规则中使用正则表达式来找到所需的信息。语法并不相同。
尝试:/\d\d\d\d
Exchange 传输规则中的模式匹配
\S
\S 模式字符串匹配任何非空格的单个字符。\s
\s 模式字符串匹配任意单个空格字符。\D
\D 模式字符串匹配任何非数字。\d
\d 模式字符串匹配任意单个数字。\w
\w 模式字符串与任何归类为字母或十进制数字的单个 Unicode 字符匹配。\W
\W 模式字符串与任何不属于字母或十进制数字的单个 Unicode 字符匹配。|
管道符 ( | ) 执行“或” (OR) 功能。*
星号 ( * ) 字符可匹配前一个字符的零个或多个实例。例如,ab*c 可匹配以下字符串:ac、abc、abbbbc。( )
括号充当分组分隔符。例如,a(bc)* 匹配以下字符串:a、abc、abcbc、abcbcbc 等等。\
反斜杠用作特殊字符前的转义字符。特殊字符是模式字符串中使用的字符:- 反斜杠
\
- 管道
|
- 星号
*
- 左括号
(
- 右括号
)
- 插入符号
^
- 美元符号
$
例如,如果您想匹配包含 (525) 的字符串,您可以输入\(525\)
。
- 反斜杠
^
插入符号 ( ^ ) 表示插入符号后面的模式字符串必须位于匹配的文本字符串的开头。例如,^fred@contoso 匹配[电子邮件保护]和[电子邮件保护]但不是[电子邮件保护]。$
美元符号 ( $ ) 字符表示前面的模式字符串必须位于匹配的文本字符串的末尾。例如,contoso.com$ 匹配[电子邮件保护]和[电子邮件保护],但不匹配[电子邮件保护]
http://blog.chrislehr.com/2014/11/using-regular-expressions-in-exchange.html?m=1
答案2
我在我的 Exchange 2013 实验室中进行了测试,得到了相同的结果。经过研究,我创建了一个名为“slash”的新文本文件并在其中输入/1234。然后我编写了一个如下脚本:
$Keywords=Import-Content "C:\temp\slash.txt" New-TransportRule -Name "redirect with slash" -SubjectOrBodyContainsWords $Keywords -RedirectMessageTo user004
通过 EMS 运行脚本。它会将关键字的内容读入变量,创建将邮件重定向到 user004 的邮件流规则,并将带有关键字的变量分配给邮件流规则条件。它可能会返回错误,请忽略。
我打开Outlook,给user003发送了一条包含'/1234'的邮件主题,结果如下:
由于我们不知道您要部署什么规则操作,您可以根据自己的情况修改脚本。供您参考的 KB:
设置传输规则
答案3
在规则中使用 _ 代替 / 可以解决这个问题。当我将邮件导出(拖放)到桌面,主题为“test/123/234”时,文件名将显示为“test_123_234”。因此,当您想在主题中查找“/123”时,请将规则设置为在主题中查找“_123”。