É possível liberar um e-mail específico, em vez de toda a fila. Se você fizer isso para cada mensagem, com um intervalo de dois segundos entre as mensagens, isso deve fazer o que você pede.
Primeiro, você precisa encontrar os IDs de fila dos e-mails na fila. Você pode obter isso usando o comando postqueue -p
. Aqui está um exemplo de saída:
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
6777D6E1E 3517 Mon Jan 25 03:03:02 [email protected]
[email protected]
69F6471CA 2820 Tue Jan 26 03:24:17 [email protected]
[email protected]
O que você precisa está na primeira coluna. Você pode obter todos os IDs por meio de algumas linhas através de grep e cut, assim:
[jenny@sameen ~]$ postqueue -p | grep -v ^- | grep -v "(" | cut -d' ' -f1 |grep -e [[:alnum:]]
6777D6E1E
69F6471CA
Agora que você sabe como chegar aos IDs, você pode jogá-los em um loop bash com um pouco de sono:
[jenny@sameen ~]$ for ID in 'postqueue -p | grep -v ^- | grep -v "(" | cut -d' ' -f1 |grep -e [[:alnum:]] '; do postqueue -i $ID; sleep 2; done