Não sou especialista em bash, mas depois de algum rápido pesquisa Acho que isso vai fazer o que você quer:
while [ 'find /var/spool/postfix/{deferred,active,maildrop}/ -type f | wc -l' -gt 0 ]; do
sleep 5
done
Isso deve fazer um loop a cada 5 segundos até que as filas do postfix estejam vazias. Ajuste seu caminho para os arquivos postfix de acordo.
Você pode querer deixar a parte deferred
fora do comando find
, caso contrário, qualquer erro de envio temporário que faça com que um e-mail seja adiado manterá a conexão do modem aberta até que ele tente novamente.