
Há um comando no arquivo de regras chamado stop
, que interrompe o processamento. Não sei por que isso é necessário. Se for o último comando em uma lista de diretivas dentro de uma regra, então a regra já não foi processada? Ou significa não pular para a próxima regra da lista? Em outras palavras, digamos que meu arquivo Sieve tenha uma lista de regras:
Rule A
Rule B
Rule C
Rule D
Se a Regra B tiver um stop
comando no final, as regras C e D serão ignoradas? E estou assumindo que as regras são executadas na ordem em que aparecem no arquivo da peneira.
Responder1
Sim, se a regra B contiver o stop
comando no final, as regras C e D serão ignoradas.
A ação "parar" encerra todo o processamento. Se a manutenção implícita não tiver sido cancelada, ela será tomada.
-RFC 5228 seção 3.3 "Parada de controle"
Isso é útil ao detectar spam e usar uma mensagem de férias ou algumas fileinto
regras. Você pode discard
enviar spam seguido por stop
ignorar todas as regras a seguir, o que significa que você não responderá a eles por meio de sua regra de férias e eles não serão colocados em outra caixa de correio por meio de regras de fileinto.
Se você estiver usando if
e elsif
puder evitar esse problema.