drcyber OJO!!!! con esos "echo" (mostrar un mensaje) en la misma página de proceso (en este caso de enviar un e-mail) al finalizar tu proceso.
Si recargas la página .. tu navegador te va a solicitar enviar denuevo los datos del formulario .. si das al "OK" .. vas a produción que se procese denuevo esa página que contiene tu sentencia de mail() .. osease, se va a enviar un e-mail nuevo .. y así hasta que se aburra el usuario de recargar la página (lo mismo ocurriria y pero con "BD" ocasionando (normalmente) registros duplicados a cada recarga de la página).
Para solventar ese problema .. tras finalizar el proceso es NECESARIO salir de ese script redireccionando a otro sitio (o a si mismo .. pero redirecconando ..)
En este caso particular .. deberías tener una página de "gracias.html" por ejemplo y al terminar tu proceso de enviar el e-mail .. redireccionar automáticamente a esa página .. ejemplo:
Código PHP:
if (mail(....)){
header("location: gracias.html");
exit;
} else{
header("location: error.html");
exit;
}
si se dan cuenta .. uso otra página "error.html" para mostrar errores si los hay (por ejemplo si no se pudo enviar el email ya que mail() devuelve true si lo envió y false si no lo envio .. (si por lo menos pudo conectar al MTA que use mail() .. no de que si llegó a su destinatario .. eso no lo puede controlar mail() ..)
Un saludo,