Da quello che so io, un server SMTP da quell'errore se:

  • mancano dei dati fondamentali della email (mittente, destinatario, altro);
  • gli header non sono strutturati bene (ad esempio, non si chiudono con \r\n)
  • il server non è configurato a spedire email a domini diversi dal suo.


Il fatto che qualcosa non funzioni può derivare da:
  • sistema operativo differente tra server di sviluppo e produzione;
  • versione di PHP diversa (non dovrebbe centrarci nulla, ma non si sa mai);
  • SMTP non configurato o configurato diversamente.