[...]
Not to be pedantic but in the data model, you could have a couple of verification data fields (e.g. verification_code; email_verified), and actually send an email and record if the user comes back with the correct verification code. It's obviously not something that can be handled solely via specs or database, but a data model can accommodate actual email verification (as I know you know, but thought I should make clear for future readers of the archives).
My point is; There is no way to tecnichally verify that an email actually «exists» (as in being active and will be routed to an actual recipient). Yes, you can do all sorts of acrobatics, and may in many attempts succeed, but there exists no method guaranteeing this. Many email-servers will for example happily receive the email, respond "OK, got it", but throw the email in an "unknown recipients"-bin, effectively ignoring any email sent to a non-existing address.
--
Andreas Joseph Krogh