All Form Processing must occur on the forms action page.
you have applied the server validation to the form page, but it submits to the success page. The server validation must occur on the page that the form posts to.
form data can be tricky to work with, keep these rules in mind when developing forms:
1) Form data is only available to the forms action page.
2) The Form data is cleared from the servers memory as soon as the action page finishes loading to the client browser.
When I test your form, I can see the data that I entered on the success page.
For the problems with the email sending, Try Leaving the From Name blank and only specify a from address.
try using a hard coded from address rather than dynamic, some servers will not relay the email message if the from address is not a valid email address from the same domain.
double check with the host to make sure you are using the correct SMTP Server address as well.