Parte de la seguridad que debes implementar está en como recoges tus variables del formulario .. debes usar los arrays supeglobales:
En lugar de acceder directamente a $nombre .. usa $_POST['nombre'] y así con el resto ..
Para la otra seguridad que requieres .. lo ideal es usar sesiones (
www.php.net/session) .. Creas una variable de sesión en tu formulario HTML y la lees (validas) en el script de envio del e-mail. De esta forma si entro directo a tu script de envio .. no existirá la variable de sesión y en consecuencia detectaras un acceso no autorizado "directo".
Un saludo,