公司有员工离职前给全公司人群发一份离职邮件,近日老板比较不爽,认为这样的负能量会影响士气,要求禁止此类邮件发生。部门领导给的办法是根据关键字禁止。先按领导的意思办咯,马上开始测试。

        刚开始以为那不是很简单么,就跟OUTLOOK内设置就行了。于是按下面的步骤处理:

  1. 找到“组织配置”->“集线器传输”->"传输规则"页面,在页面内右键“新建传输规则”。

  2. 在起好规则名字后,选择条件窗口内,勾选“主题字段包含特定词语时”,并添加要检查的词语,然后下一步设置好处理操作措施。


    exchange2010结合正则表达式添加规则_第1张图片

    exchange2010结合正则表达式添加规则_第2张图片

    建完后的结果如下:

    exchange2010结合正则表达式添加规则_第3张图片

    用命令行执行:New-TransportRule -Name '测试规则' -Comments '' -Priority '0' -Enabled $true -SubjectContainsWords '告别' -DeleteMessage $true

    设置完测试时,傻眼了,只能精确匹配。关键字前或后随便加一个字规则就不能生效了。不是写的“包含”吗?微软你在玩什么?官方网站上居然这么写:精确匹配!而且*号什么的都不能用!那还用个卵!

    exchange2010结合正则表达式添加规则_第4张图片

    只有换一种思路,找其他方法了。经过艰苦卓绝地努力,在官方文档内(https://technet.microsoft.com/zh-cn/library/dd638183(v=exchg.141).aspx)  的表3“传输规则谓词中使用的属性类型”中发现了这个玩意儿:

    wKioL1f4pWGiKPbFAAA5DwufJ-o683.jpg

    就是嘛,正则表达式是可以用的嘛。这就好办了。赶紧点击那个“传输规则中的正则表达式”,打开网页:https://technet.microsoft.com/zh-cn/library/aa997187(v=exchg.141).aspx  哈哈,一目了然了。原来上面那种精确匹配的是“简单表达式”,我应该用的是(而且正常情况也是用这个多点吧)“正则表达式”。

  3. 用正则表达式实现:

    在选择条件时,应该勾选“主题字段与文本模式匹配时”,而不是“包含特定词语”!

    exchange2010结合正则表达式添加规则_第5张图片

  4. 然后在“指定文本模式”窗口内,只需要输入计划过滤的词语,就可以实现非精确匹配了。

    exchange2010结合正则表达式添加规则_第6张图片

    exchange2010结合正则表达式添加规则_第7张图片

    用命令行实现:New-TransportRule -Name '禁止离职群发邮件' -Comments '' -Priority '0' -Enabled $true -SubjectMatchesPatterns '告别' -DeleteMessage $true

    添加多个词语:

    Set-TransportRule -Identity '禁止离职群发邮件' -Name '禁止离职群发邮件' -Comments '' -SubjectMatchesPatterns '告别','离职','分别','离开'

  5. 设置过程中,还有一个比较有趣的玩意儿,就是关于“*”通配符的作用。刚开始以为前后都要加了*才能实现模糊匹配。后来才发现什么都不加就可以了。那么加了是什么个意思呢?经过测试,原来*加到前面是不允许的

    exchange2010结合正则表达式添加规则_第8张图片

    如果词语是两个汉字,“*”加到词语的后面和加到词语中间都是一样的效果,都表示这两个字前面后面中间都可以加其他字符而模糊匹配。

    exchange2010结合正则表达式添加规则_第9张图片

    如果是三个以上的汉字,情况很复杂,经过一天测试,仍没法找到规律。

    查询状态:

    第一种:

    C:\Windows\system32>get-transportrule "测试规则" |format-list

    SubjectContainsWords                         : {告别}

    第二种:

    C:\Windows\system32>Get-TransportRule  "禁止离职群发邮件" | format-list

    SubjectMatchesPatterns                       : {告别, 离职, 分别, 离开}