7 ms·
Reducing bad signup emails with mailcheck.js
- rbucks 14y agoThis is awesome. Thanks!
- TomGullen 14y agoVery cool! Far far better than getting people to enter their email address twice which is a terrible solution to a problem in my opinion.
- akcreek 14y agoCan you expand on why you feel double entry is a bad solution? I agree having to re-enter data isn't preferable, but it seems that a solution like this isn't perfect either; the user can still enter their address incorrectly quite easily without it being caught. It seems like double entry would catch more mistakes than this (not to dismiss this in any way as I really like it).
- andrewberls 14y agoI agree that this is not a perfect solution - mistakes are still very possible and in some cases double entry may be the best option. That being said, this is still a good way to catch some of the most common typo cases!
- ralph 14y agoI'd be surprised if many users type it twice. I always copy from the first to the second and wonder why the form designer has bothered.
- EvilTerran 14y agoSome reasons would be: * 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.
- nikz 14y agoThe source is at https://github.com/kicksend/mailcheck https://github.com/kicksend/mailcheck if you want to check it out.
- fsckin 14y agoI was hoping that this did something a bit more worthy of Hacker News, like checking if the A Record exists. Or perhaps speaking SMTP to the domain in question to query if the user actually exists (works on some domains) using web sockets. http://www.webdigi.co.uk/blog/2009/how-to-check-if-an-email-address-exists-without-sending-an-email/ http://www.webdigi.co.uk/blog/2009/how-to-check-if-an-email-... Maybe I'll build it for fun.
- idle_processor 14y agoWhy use the A record, rather than MX?
- MichaelApproved 14y agoMX server record isn't required for all DNS listed email domains.
- petercooper 14y agoStrictly, you might need to check for both. If there are no MX records, mail will be delivered to the @ A record for a domain (e.g. mail to x@example.com will go to the IP for 'example.com'). 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).
- bryanh 14y agoI started on this once upon a time: http://emailpie.com/ http://emailpie.com/ Might be fun to do the same in JS.
- eli 14y agoThe only way to check an address is to send it an email. Hotmial.com has valid DNS, for example.
- noduerme 14y agoSounds good. I wish there were a script like this that kept an updated list of throwaway email domains, and maybe did some cross-checking with other sites where the script were being run for multiple rapid signups without history, etc. Something that would assign a credit score to each email address so we'd know if we were dealing with a legitimate user who had some kind of internet / forum / social / whatever history. At the moment we often google their email addresses by hand to figure out who's real and who isn't.
- dko 14y agoThanks for the excellent write up, Andrew. Glad to see that Mailcheck's working well for you! I'll post up your post on our Github readme in a bit. 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!
- asanwal 14y agoWhy is this better than having users enter their email twice and just confirming they match? 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.
- MichaelApproved 14y agoThat would reduce sign ups not increase them. 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.
- shabble 14y agoOne of my accounts uses a relatively long domain, so I often type it once, Ctrl-A Ctrl-C to copy it, then paste into the dupe field. Assuming I'm not the only person that does this, entering it twice isn't going to help in any significant way. 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).
- jon6 14y agoRandom thought: what if you gave users a unique code that they had to email back to the server to identify themselves.
- shabble 14y agoIt'd probably be quite a barrier to signup, although I guess a 'mailto:register@example.com?subject=signup-for-$uniqid' link might solve some of the hassle. 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.
- MichaelApproved 14y agoYou'd have to be comfortable losing a LOT of otherwise perfectly good sign ups.
- GoodIntentions 14y agomuch better to do it the other way - allow your users to fill out their email address _once_, generate a confirmation link and mail it to them. If they really want to service, they'll click the link.