Cita: Me temo que el email php no se envia antes ya que la funcion $.ajax() se ejecuta inmediatamente al pulsar el boton de envio submit lo cual no deja tiempo a php para procesar.
A ver, no, momento. Ajax se ejecuta inmediatamente, enviando una señal a un archivo PHP, que se ejecuta en el servidor. Mientras tanto, tu script, que es de lado cliente, imprime "todo salio bien". Pero no es asi.
Cuando envias una señal con Ajax, lo que estas haciendo es ejecutar un archivo remoto, que esta alojado en "internet", y no en tu pc. Mientras tanto, como sabes, javascript corre en tu pc.
Lo que hay que hacer es que PHP devuelva una variable para dar a entender a tu javascript que todo salio bien. Y recien ahi imprimir "cierto, salio bien".
Yo tengo un ejemplo con JSon, en Mootools, y si queres lo traducimos a Jquery.