La redirección te recomendaría que hicieras:
Código PHP:
header("Location: gracias.html");
exit;
En lugar de usar tu echo "gracias .. bla bla"; y, en tu página HTML "gracias.html" ahi muestras tu mensajito de grácias y colocas un link hacia el index.html ...
Si quieres que sea automático a X tiempo .. usa las cabeceras de refresh <META ...> y avisa algo tipo (como estos foros) ..
"Gracias .. su mensaje fué enviado. En unos segundos se redireccionará hacia el la página principal .. si no sucede esto o no quiere esperar .. clickee aquí (y tu link hacia el index) .."
Código:
<head>
<meta http-equiv="refresh" content="20;url=index.html">
</head>
(en el head de tu HTML ..)
el cual trabaja
Así evitaras que si te "recargan" tu página donde muestras el mensaje de "gracias" .. provoque envios sucesivos de e-mails (con los mismos datos) como así sucede en tu script original .. o si sólo usases el "meta de refresh" en tu script original (sin página "gracias" como te comento hacerlo).
-------
Los saltos de línea que estás dando .. son válidos para Texto plano .. pero no para HTML como así lo estás enviando por las cabeceras que usas ..
Una forma rápida de solventar ese problema de "todo me sale junto" .. es usar antes de mail() y despues de tu últmo $cuerpo:
Código PHP:
$cuerpo=nl2br($cuerpo);
nl2br() convierte tus \n en <br> que es el salto de línea en HTML.
Un saludo,