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'
我的问题是邮件会随机分类到 asdf
或 asdf.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;
以便筛选脚本的其他部分不会 运行。
我正在使用如下筛选规则对普通邮件中的日志进行排序:
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'
我的问题是邮件会随机分类到 asdf
或 asdf.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;
以便筛选脚本的其他部分不会 运行。