Ciao,

al 90% il problema è proprio quello, nel senso che molti server rifiutano email che non hanno un return-path effettivo considerandolo sintomo di spam.

Ci sono tre possibilità:

1- se la configurazione di sendmail lo consente puoi settera il return-path direttamente dallo script, inserendo:

open (MAIL "|/$path/sendmail -t -i");
print MAIL "Return-Path: quello@giusto";
...
close MAIL:

2- settare corretamante sendmail, ma lo può fare solo l'amministratore.

3- bypassare sendmail usando direttamente il protocollo SMTP tramite gli appositi moduli Net::SMTP, ma per fare ciò deve essere attivo il server apposito.