Maybe I'll build it for fun.
Might be fun to do the same in JS.
So if there are no MX records, you need to check @'s A record as well (or vice versa, since not all domains have A records either).
As a side note, I'll be releasing version 1.1 shortly, which has a bunch of improvements, including the option to use keyboard-distance based string matching. Look out for it!
I realize entering email twice might be slightly sub-optimal from a user perspective but if you as a user want a service, it seems like entering one's email twice is not a lot to ask or a major source of friction. Or is it?
Not trolling. Genuine question. We do the type your email address twice on our site so wanted to understand if there any clear benefits of this approach.
I see what you're saying about the customer wanting the service but a lot of time it's not so simple. We spend a ton of time tweaking our copy and graphics to convince the customer, if only just barely, that they should sign up. When they finally decide to sign up, the fewer the forms the better. There have been studies that show a marked reduction in performance for each new field you request from the customer. This has lead to people asking for a password only once, instead of the traditional twice, or to go further and not even ask for a password (it's automatically created and emailed to them).
Additionally, as developers, we should be making things easier for customers. Correcting obvious typos is a better system than asking all customers to type it twice. Consider the extra work you're creating for all the customers who didnt have a typo.
And secondly, there's a fair UI improvement in 'your email might be wrong, and here are some easy 1-click suggestions to fix it' vs 'these 2 things don't match. Work out where the error is, and then fix it', usually without even indicating the non-matching substring(s).
Those of us who don't have a problem with keyboards don't bother typing twice. We Ctrl-A, Ctrl-C, Tab, Ctrl-V, which renders the whole thing pointless.
When people don't even know their email address from a URL or a Twitter handle they're bound to get it wrong exactly the same way.
Plus, confirming an email address is absurd. Why not confirm every other field on the form if you're such a stickler about accuracy?
One char wrong and your email is completely worthless, and with it your only real link with the service is cut off - often with no way of fixing it.
* Every field you add to a form reduces the number of people who complete it -- as it gets longer, more people will go "ugh, big form, not worth it" and click away the moment they see it.
* Autocomplete usually provides my email address for me, so asking twice is pointless; when it doesn't, I usually copy-and-paste from one email box to the other, and I'm not alone in doing so (see elsewhere in these comments).
* "These email addresses don't match" leaves the user to play hunt-the-typo hirself, while the submission's approach points hir straight at the (possible) error. I guess you could highlight the differences with the double-entry approach too, but suggesting plausible corrections remains easier for the user.
The major issue I can see with it is that many people might like to use a email alias to signup (I prefer to use shabble+servicename@ for services which aren't too broken to accept a +) which isn't the same as their configured sender.
If they really want to service, they'll click the link.