Существует :считать
тип соответствия (например, :является
и :содержит
и др.) в разделе "относительныйрасширение, которое вы можете использовать с расширением : компаратор
компаратор для этого, и на самом деле ваш вариант использования стандартный пример для этого!
Если вы используете Dovecot Pigeonhole (используется многими пакетными решениями и поставщиками, такими как RoundCube, FastMail и другими), с ним поставляется «реляционное» расширение, вам просто нужно потребовать его (и его компаратор; см. ниже) вверху вашего ситового файла с вашими другими. Сито-фильтр должен выглядеть одинаково независимо от того, какую реализацию вы используете, если поддерживаются расширения.
IANA поддерживает основной список официальных расширений. Если вы используете сито Dovecot Pigeonhole Sieve, прокрутите вниз до «Статус внедрения» на его Гитхаб посмотреть какие из них там поддерживаются (все есть, наиболее полно). Это означает, что вам не нужно искать «реляционное» расширение.
Обратите внимание, что пока : компаратор
поддерживается базовой установкой (реализации Dovecot), она не включает численное сравнение по умолчанию, а сама сортировка является расширением, которое требуется специально.
требуют [..., "относительный", "компаратор-i;ascii-числовой"]
# ...
# отклонить, если количество адресов получателей больше 1
если все(
адрес :domain ["to","cc"] "example.com",
адрес :count "gt" :comparator "i;ascii-numeric" ["to","cc"] "1"){
# если вы действительно хотите его уничтожить
# отказаться;
fileinto :создать «Корзину»; останавливаться;
}
Я провел несколько тестов, и фильтр объединил количество TO и CC (но не BCC) для сравнения, поэтому он применяется к общему количеству (видимых) адресов получателей.
RFC 5228: Сито
RFC 5231: Реляционное расширение