Aposto que isso se deve ao fato de seu aplicativo enviar algo como localhost
ou localhost.localdomain
no EHLO , ou não enviando um EHLO. O Thunderbird provavelmente enviará um valor mais apropriado.
Você pode por favor postar a saída de /var/log/maillog
para ambos quando você tenta enviar e-mails do seu aplicativo, e quando você envia e-mails do Thunderbird?
Uma solução rápida pode ser remover a diretiva reject_unknown_helo_hostname do smtpd_helo_restrictions configuration. Uma solução mais segura e provavelmente tão rápida seria configurar mynetworks e depois usar o permit_mynetworks directiva do smtpd_helo_restrictions .