Du musst im $_POST-Array natürlich den Namen des Feldes in Hochkommata angeben, sonst denkt er es sei eine Konstante, dh $_POST['nachricht'] und nicht $_POST[nachricht].
Außerdem setzt du die Namen der Felder Vorname, Nachname und Email jeweils auf "name", ändere dies, sonst hast du Probleme mit der Mehrdeutigkeit.
Außerdem blocken manche Hostingfirmen den Mailversand über diese PHP-Funktion, verwende SMTP zum Versand, Tutorials findest du über Google.
Edit:
Mir fällt grade noch auf, dass du den Wert des $_POST-Arrays an Stelle der Nachricht auf den boolschen Wert true überprüfst, das ist natürlich Schwachsinn, weil es kein Boolean sondern ein String ist. Verwende zum überprüfen, ob die Variable gesetzt ist lieber isset(), also if(isset($_POST['nachricht'])) anstatt if($_POST['nachricht'])
Lern erstmal die Sprache, bevor du hier nach den tausenden Fehlern suchen lässt, das was du da produziert hast ist echt mehr als erbärmlich und kann niemanden passieren, der sich länger als 10 Minuten ernsthaft mit der Sprache beschäftigt hat und passende Fachliteratur gelesen hat.