Eu desisti de usar o postfix para resolver esse problema. Em vez disso, encontrei uma maneira relativamente limpa de resolver o problema usando o MH, que é o programa de envio que uso há mais de 15 anos:
-
Um email de saída que deve ser atrasado por N horas é composto na "pasta de rascunho" do MH%
+delayN
. -
Quando terminar de compor o email, para garantir que deixo o email na pasta em vez de enviá-lo, tenho um programa
whatnow
modificado que tratasend
como sinônimo dequit
if a mensagem é armazenada em uma pasta cujo nome tem o formatodelayNNN
, em queNNN
é uma seqüência não vazia de dígitos. -
Meu trabalho cron horário verifica todas as pastas relevantes e envia arquivos com idade suficiente (detalhes elididos):
for path in $MAIL/delay*[0-9] do minutes=... for outgoing in $(find $path -mmin +$minutes -name '[0-9]*') do folder=... msg=... send -draftfolder +$folder -draftmessage $msg done done