QUERO que o procmail adie o e-mail de um usuário por 10 segundos e continue processando

2

Eu uso o procmail. Eu escrevi meu próprio filtro de spam no procmail (junto com muitas receitas).

Eu sei que isso soa contra-intuitivo, mas eu quero atrasar intencionalmente um e-mail de um usuário por cerca de 5 ou 10 segundos enquanto uma receita dinâmica de procmail com filtro de spam pode ser preenchida.

Eu não quero que o processamento do procmail pare ou saia após o atraso. Eu quero que este e-mail seja atrasado no meio das receitas, depois prossiga pelo restante das receitas do procmail depois de ser atrasado. Eu quero que esse atraso aconteça em linha no meio da longa lista de receitas do procmail. Eu não quero parar ou retardar os e-mails de outros usuários através do filtro do procmail, apenas este usuário. Pode haver vários e-mails (provavelmente spam) passando pelo filtro de uma só vez e não quero atrasá-los, porque eu os uso para preencher uma receita.

Meu procmail está em uma máquina de hospedagem compartilhada. Este é um único domínio userID (eu) e eu uso vários endereços de e-mail para mim.

    
por MikeColley 11.11.2014 / 23:20

1 resposta

3

Apenas faça isso.

dummyvalue='sleep 10'

Se você quiser, como parte de uma receita, você pode facilmente executar qualquer comando de forma síncrona:

:0w
* ? sleep 10
{ }

(adicionei o sinal w como medida de segurança.)

Valores muito maiores são possíveis, mas se você exceder o valor padrão de TIMEOUT , o Procmail interromperá o sono. Embora você possa aumentar o valor de TIMEOUT para um valor maior (o padrão é 960 segundos).

    
por 12.11.2014 / 10:52