O problema não é que o postfix não esteja em execução, mas que ele deve estar escutando em uma porta mapeada 25 ou 587 no host. Mesmo se for esse o caso, com a não instalação do postfix no host, provavelmente não há instalação que envie o email (obtido dos parâmetros stdin ou commandline) para a porta.
Você instala os programas clientes sSMTP ou msmtp para isso, mas eu resolvi isso dentro de um pequeno programa wrapper para minhas entradas crontab que eu estava usando de qualquer maneira. O wrapper só envia e-mail se o programa (o "real" crontab etnry chamado) sai com valor de saída diferente de zero ou sua saída contém a string "error:". Isso reduz o tempo dos meus próprios sistemas, ou seja, nenhum email se o programa foi executado corretamente. O programa usa o módulo smtp
da biblioteca padrão do Python para enviar a saída capturada.
O wrapper executa o programa com subprocess.check_output(cmd, stderr=subprocess.STDOUT)
e envia o resultado com erro usando:
smtp = smtplib.SMTP(host="", port=0) # by default 'localhost' and 25
smtp.connect()
smtp.sendmail(
from_email, to_email_list,
email_header_and_body
)
Ao configurar o host e a porta, também uso isso para executar trabalhos de outros contêineres do docker.