[eluser]gon[/eluser]
Even if you managed to make this code work, you should first validate data at the controller using Validate class. Check the docs to see how.
Then, when having secure data inside an array, you could do the insert and send the email.
There shouldn't be any problem in calling both from the same controller. Doing a redirection looks like a not so good idea.