我正在尝试过滤在电子邮件正文中直接提及我的名字的电子邮件。
例如下面的邮件
John, please finish the report.
应该被过滤。
但是,问题是我在很多与我无关的电子邮件链上被抄送,当有人点击全部回复时,我的名字总是与 Outlook 规则匹配,因为引用的回复消息包含收件人:和CC:显示我名字的字段。
例如下面的邮件
Everyone, please finish the report.
From: Test, Jane Sent: Friday, August 28, 2015 12:51 PM To: Test, Joe Cc: Test, Bill; Doe, John Subject: Report
Original email text here.
与我无关,但仍会被与我相关的电子邮件过滤,因为我在 CC: 字段中匹配。
到目前为止,我设置了一个异常(exception)规则,如果“John”出现在正文中,消息将被过滤,除非“Doe, John”出现在正文中。然而,这样做的问题是它会过滤掉最初可能与我不相关,但在回复链中与我相关的电子邮件。
例如下面的邮件
From: Test, Jane Sent: Friday, August 28, 2015 12:51 PM To: Test, Joe Cc: Test, Bill; Doe, John Subject: Report
John, please mark this report as finished.
From: Test, Jane Sent: Friday, August 28, 2015 12:51 PM To: Test, Joe Cc: Test, Bill; Doe, John Subject: Report
Everyone, please finish the report.
From: Test, Jane Sent: Friday, August 28, 2015 12:51 PM To: Test, Joe Cc: Test, Bill; Doe, John Subject: Report
Original email text here.
最初与我无关,但现在与我相关。但是,它没有被过滤,因为我的异常与更下方的“Doe, John”相匹配。由于我的电子邮件地址很少出现在“收件人:”字段中这一事实加剧了这个问题。
使用 Outlook 规则是否有任何解决方法?如果没有,是否有使用 VBA 执行此操作的简便方法?
谢谢!
最佳答案
这个简单的正则表达式应该能帮到你
^From:.*\n.*(John).*
解释
^From:
: 行首 From:
,
.*
:后跟任何文本,
\n
:后跟一个换行符(这里是电子邮件标题的结尾),
.*(John).*
:正文中包含 John
的任何文本。
关于regex - Outlook:如何过滤在正文中明确提到我名字的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32277731/