Sieve 将邮件随机分配到文件夹

Sieve randomly assigns mails to folders

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

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 发送到 my@mail.com,可能会出现以下两种结果:

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

我的问题是邮件会随机分类到 asdfasdf.logs。 我该如何解决?

您正在查找“stop”命令。

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

大多数命令,包括 "fileinto",不会固有地停止处理。除非您明确执行 "stop" 命令,否则将处理和匹配更多规则。一般来说,一旦您确定将消息归档到您想要的位置,您可能想要 运行 stop; 以便筛选脚本的其他部分不会 运行。