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.