我有一个脚本生成的电子邮件,每小时发送一次。除非在某些情况下,我不需要看到它,所以我只想将它过滤到自己的邮箱中。该消息来自 cron,我要注意不要过滤掉其他 cron 消息,仅根据来源和内容过滤掉这一条。
我要匹配的正文行(消息的第一行以它开头)是:
/etc/cron.hourly/scriptrun:
这是我想出的不起作用的方法。我不确定我哪里出错了。
:0 HB
* ^From:.*[email protected]
* ^Subject: {Cron
* \/etc\/cron.hourly\/scriptrun
.Save/
任何想法将不胜感激。
目前尚不清楚您希望单个左大括号匹配什么;现在的样子,这是一个语法错误。我假设您只是希望它在字面上匹配。
你会注意到反斜杠从字面上匹配正则表达式元字符(但斜杠不是元字符,所以我们不反斜杠它们;实际上,
\/
在 Procmail 中具有特殊含义,并且不匹配文字斜杠!),以及B ??
to只匹配一个条件对身体。双锚^^
是一个 Procmail 构造,它在第一行的第一个字符之前(以及最后一行的最后一个字符之后)匹配。我还要注意,您在电子邮件客户端中看到的内容可能与 Procmail 处理的原始消息完全不同;例如,在多部分 MIME 消息中,第一个正文部分的第一行前面将有一个 MIME 前导和一个 MIME 边界。对于一个简单的 Cron 消息,这不太可能是一个问题,但我提到它以防万一。