Bueno, creo que el código está bastante bien, sobre todo porque usas un solo archivo para el envío usando la función $_SERVER['PHP_SELF'] y no los típicos dos archivos (el formulario y el PHP que envía el email). A mi me ha servido de mucho ya que lo he modificado para enviar emails a otro formulario de inscripción, que cuando se inscribia la gente se envía un email automaticamente de bienvenida.
En cuando al script de validación en java aca publico uno interesante y sencillo:
Este script va en el body:
En negrita escribe los nombres de los campos en el formulario que quieras validar, por ejemplo si hay un campo que no hace falta validar, simplemente no lo incluyas...si hay otros simplemente agrega los dos renglones:
lo que sale con comillas es lo que saldrá en el cuadro de diálogo cuando hagas click, puede ser personalizable.
Luego, en la cabecera del formulario escribes la acción de onSubmit
Cada vez que dejes en blanco un campo del formulario, al pinchar el botón de "enviar" saldrá el cuadro de dialogo.
Espero que les sirva.