A ver, ¿entonces dices que el if() sí entra y hace el INSERT, pero el mail() ya no?
Eso es completamente ilógico porque ambas instrucciones están dentro del mismo if(), así que el mensaje de error "Error, verifica los campos." no debería mostrarse.
¿Pero dices que se muestra entonces?