$header="from: $a <$data['email']>";
ou
$header='from:'.$a.'<'.$data['email'].'>';
Bien qu'un peu plus compliqué, je préfère la deuxième solution, plus lisible. Le point (.) permet de concaténer tes variables entre elles où avec des chaines de caractères.
Dans ton cas, le écho ne sert à rien, puisque tu ne veut pas afficher la variable, seulement envoyer son contenu dans une autre variable. C'est là ton erreur ! Et elle se reproduit de la ligne 2 à la ligne 12.
Si ce n'est pas clair dans ta tête, regarde la partie explicative sur les variables dans le
tuto du site du zéro