Office 365邮件流规则中的正则表达式

时间:2018-04-01 19:52:26

标签: regex office365 exchange-server

我正在尝试使用正则表达式邮件流规则来匹配入门电子邮件,假装是我公司的高管,在Office 365 Exchange中。但是,我正在努力寻找规则所接受的正则表达式,并使其足够广泛以捕获任何域。

我在测试规则上设置了以下项目:

  • 如果......发件人位于 - 组织外
  • ,则应用此规则
  • 生成事件报告并将其发送给 - me
  • 优先级= 1
  • 使用严重性级别审核此规则:低(已启用)
  • 此规则的模式:强制执行

关于正则表达式,我使用选项“发件人地址匹配...”并假设我的测试执行程序是“Foo Bar”,正则表达式是

foo\s*bar.*@.*\.\w*

我创建了一个gmail帐户“Foo Bar,foobar @ gmail.com”并将测试电子邮件发送到我的工作帐户,但我没有收到发送给我的事件报告。

我的正则表达式或Exchange规则中的其他设置是否存在问题?

1 个答案:

答案 0 :(得分:1)

我认为问题在于您正在检查电子邮件信封(来自电子邮件地址,例如foobar@gmail.com),其中包含“发件人地址匹配...”功能,而不是“发件人”标题。大多数(或所有)电子邮件伪造操纵此标题,因为其内容是将在邮件客户端中显示给接收者的值。

我已经在Exchange 2016服务器上测试了这个(ECP应该类似于Office 365),这是我的解决方案: ECP mail flow rule screenshot

大多数标题都像这些示例一样构建:

  1. Foo Bar <foo.bar@example.com>
  2. Foo, Bar <foo.bar@example.com>
  3. 这个正则表达式匹配这些例子:

    (?i)Foo.*Bar.*[a]*
    

    Regex101 live demo and explination

    我不得不在最后添加这个未使用的正则表达式部分([a] *),因为Exchange不接受以通配符结尾的正则表达式行。 (我不知道为什么......)