2

我正在使用如下筛选规则对普通邮件中的日志进行排序:

require ["fileinto", "envelope", "subaddress", "variables", "mailbox"];
# rule:[asdf-logs]
if anyof (address "From" "nagios@mail.com", address "From" "root@mail.com", address "To" "root@mail.com")
{
    fileinto "INBOX.asdf.logs";
}
# rule:[asdf]
if anyof (header :contains "Delivered-To" "my@mail.com", header :contains "cc" "asdf@mail.com", header :contains "to" "asdf@mail.com")
{
    fileinto "INBOX.asdf";
}

nagios@mail.com现在,如果从to发送一些邮件my@mail.com,可能会出现以下两种结果:

filing message into 'INBOX.asdf.logs'
filing message into 'INBOX.asdf'

我的问题是邮件将被随机分类为asdfor asdf.logs。我该如何解决这个问题?

4

1 回答 1

2

您正在寻找“停止”命令。

if anyof (address "From" "nagios@mail.com", address "From" "root@mail.com", address "To" "root@mail.com")
{
    fileinto "INBOX.asdf.logs";
    stop;
}

大多数命令,包括“fileinto”,不会固有地停止处理。除非您明确执行“停止”命令,否则将处理和匹配更多规则。通常,一旦您确定将消息归档到您希望它去的地方,您可能想要运行stop;,以便不再运行筛子脚本的其他部分。

于 2018-04-03T13:12:51.343 回答