Сито случайным образом назначает письма в папки
Я использую ситовые правила, подобные следующим, чтобы сортировать логи из обычной почты:
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
, Как я могу решить это?
1 ответ
Решение
Вы ищете команду " стоп".
if anyof (address "From" "nagios@mail.com", address "From" "root@mail.com", address "To" "root@mail.com")
{
fileinto "INBOX.asdf.logs";
stop;
}
Большинство команд, включая fileinto, по своей сути не останавливают обработку. Дальнейшие правила будут обработаны и сопоставлены, если вы явно не выполните команду "стоп". В общем, если вы уверены, что у вас есть сообщение, куда вы хотите его отправить, вы, вероятно, захотите запустить stop;
так что дальнейшие части сценария сита не запускаются.