Se stai trattando un semplice modulo di contatto non riesco a capire il modo di gestire gli errori in quel modo, uno dei problemi potrebbe essere questo : header('Content-Type: application/json');
Stai testando il tutto da remoto o locale ?