Outlook:如何过滤在正文

时间:2015-08-28 18:38:24

标签: regex vba email outlook

我正在尝试过滤直接在电子邮件正文中提及我的名字的电子邮件。

例如,以下电子邮件

  

约翰,请完成报告。

应该过滤。

然而,问题是我在很多与我无关的电子邮件链上都是CC,当有人点击全部回复时,我的名字总是与Outlook规则相匹配,因为引用的回复邮件包含To:和CC:我的名字出现的字段。

例如,以下电子邮件

  

每个人,请完成报告。

           

来自:Test,Jane Sent:2015年8月28日星期五下午12:51 To:Test,Joe   Cc:Test,Bill; Doe,John主题:报告

     

此处有原始电子邮件文字。

与我无关,但仍然会使用与我相关的电子邮件进行过滤,因为我在CC:字段中匹配。

到目前为止,我设置了一个例外规则,如果“John”出现在正文中,则会过滤消息,除非“Doe,John”出现在正文中。但是,问题在于,它会过滤掉最初可能与我无关的电子邮件,但在回复链中与我相关。

例如,以下电子邮件

  

来自:Test,Jane Sent:2015年8月28日星期五下午12:51 To:Test,Joe   Cc:Test,Bill; Doe,John主题:报告

     

John,请将此报告标记为已完成。

           

来自:Test,Jane Sent:2015年8月28日星期五下午12:51 To:Test,Joe   Cc:Test,Bill; Doe,John主题:报告

     

每个人,请完成报告。

           

来自:Test,Jane Sent:2015年8月28日星期五下午12:51 To:Test,Joe   Cc:Test,Bill; Doe,John主题:报告

     

此处有原始电子邮件文字。

最初与我无关,但现在与我有关。但是,它没有被过滤,因为我的异常与“Doe,John”进一步匹配。由于很少是我在To:字段中的电子邮件地址这一事实,这个问题更加严重。

使用Outlook规则是否有解决方法?如果没有,有没有一种方便的方法来使用VBA?

谢谢!

1 个答案:

答案 0 :(得分:1)

这个简单的正则表达式可以帮助你

^From:.*\n.*(John).*

解释

^From::从From:开始,

.*:关注任何文字,

\n:按换行符(此处为电子邮件标题的结尾),

.*(John).*:正文中包含John的任何文字。

DEMO