in reply to regex question (new)

Just to add a little to the other suggestions, you can use Email::Valid to check the MX of of the email address, to further help validate it (of course, you can't know if the email address itself is valid without sending email to it).

Cheers,
KM