Te sugiero realizar el envío del correo electrónico desde el lado del servidor, por ejemplo, con
PHP. Para la validación del tipo de archivo, también te sugiero hacerlo en el lado del servidor, por ejemplo, con
PHP. Para lo último, aunque también puedes hacerlo desde el lado del servidor, te basta con utilizar el atributo
required
en cada campo y así será obligatorio ingresar datos en ellos para poder procesar el formulario.
Puedes validar tanto en el lado del cliente (JavaScript, HTML5) como en el del servidor (PHP, ASP, JSP), pero siempre ten en cuenta que la validación en el lado del cliente puede saltarse fácilmente, no así la validación en el lado del servidor.
Un saludo