8 ms·
If it doesn't actually send a validation email to the address, I don't see the value over a simple m/.+\@.+\..+/ They say up front that email validation is har
by Zikes 13y ago
If it doesn't actually send a validation email to the address, I don't see the value over a simple m/.+\@.+\..+/
They say up front that email validation is hard, and yes there are tons of edge cases and obscure tricks and rules and probably there's no guarantee that even they managed to get it right with this service, but ultimately the customer either puts in the correct address or they don't. If they're going to make a typo then it's far more likely that it would be a legal typo, and if they're going to intentionally enter a false address then it's likely it'd be a simple asdf@asdf.com.
Edit: This was a bit of a knee-jerk reaction to what I at first saw as a redundant overcomplication, however as russjones points out below it has already proven its value in reducing bounce rates by a significant percentage.
So, it might not fit my own limited use cases, but it certainly can't be ruled out entirely. Best of luck to the Mailgun team and I hope people smarter than I am can put this service to good use.
- npsimons 13y agoThis was my first response too; there's been a CLI tool (called vrfy) for a while that I've given up on using because it almost always says "send some mail, i'll try my best". That tends to be the ultimate test, which you can probably already do pretty quickly with a backend for a web form. EDIT: That being said, making a potential customer wait for thorough verification, on top of "spamming" them before they've (technically) bought from you would be unwise; I can see how this would have merit.
- swampthing 13y agoDid you read beyond #1 in the post?
- Zikes 13y agoYes, and none of those extra steps actually have a significant effect over simple regex checking to confirm the validity of the email, because there is no way to know what the user's correct email address actually is besides sending them a validation email. None. The domain may exist, the mailbox may exist, it may match all the rules for that particular mail exchange, it can pass this validator with flying colors, but you still have to send that validation email because I could just as easily have entered your email as my own, and that makes this a moot step.
- swampthing 13y agoI don't think anyone is claiming that this can replace the function that a validation email serves. What this allows you to do is give feedback to users quicker. If a user signs up for your service and mistypes the domain name for their email address, they'll never hear anything from you. And if they don't know they made a typo, they'll just think that you have a flaky service. This lets you prevent that from happening.
- damoncali 13y agoI think you're missing the intended use case. It's meant to keep people from fat-fingering their address on an email signup form (think mailing list, not web app).
- old-gregg 13y agoMailgunner here. Perhaps we should have given it a different name? We do not guarantee that the address is valid. But we surely beat your regexp. Why? Simply because we're an ESP and have a huge database of valid MX hosts and the most common misspellings for them that are NOT valid MX hosts. And we give you suggestions to implement autocompletion/autocorrection. Besides, many of our customers reach out to our support asking for regexp suggestions. So we figured it would be cool to offer this to everyone for free, so we launched it.
- Zikes 13y agoActually I think you've got the name spot on, I had the wrong term. What I was looking for was confirmation email, not validation. And yes, your service is a pretty big step up from regular validation regexps. I didn't see the value in that before, but that's my own fault. I now see there's a lot of potential for a service like this, and I hope it's put to good use.
- United857 13y agoEven if it's just a regex, handling the fully-general case is surprisingly complex: http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address/1917982#1917982 http://stackoverflow.com/questions/201323/using-a-regular-ex... This doesn't even count domain validation, what with new TLDs coming online constantly, etc.
- user24 13y agoI don't see how your reply addresses OP's point. Can you elaborate?
- fsckin 13y agoIt's a little bit more than a regex. From the documentation[0]: Given an arbitrary address, we will validate the address based on: Syntax checks (RFC defined grammar) DNS validation Spell checks Email Service Provider (ESP) specific local-part grammar (if available). [0] http://documentation.mailgun.com/api-email-validation.html http://documentation.mailgun.com/api-email-validation.html
- Zikes 13y agoI know, it's a great deal more than a regex, and that's actually my point. It's dedicating tons of extra resources and time to a process that is ultimately redundant. You can't truly validate someone's email address because you don't know what their email address actually is. Your only two options are: 1. Be omniscient 2. Send a validation email
- tjbiddle 13y agoIt stops people from doing something like fake@lolthisisstupid.com at least though.
- papercrane 13y agoI wish more places would validate their email. In the past two days I've been informed that I know have a Playstation, EA, and Blizzard account because someone signed up with my email address (just without the dots.) Only Blizzard tried to confirm the email address. The other two created the account, and now won't let me disown the accounts. I can go through the forgot password process and turn them off, but I'm not sure how kosher that is.
- janekk 13y agoHave you ever crafted a sign-up form for a paid app though? Requiring users go and check their email before they can proceed is going to kill conversions. Mail providers (I use mandrill) also deliberately throttle outgoing email - I've seen them delayed by several minutes.
- joevandyk 13y ago
- russjones 13y agoHi Zikes, I'm the developer of this service at Mailgun. Nice to meet you. We've been using this service at Mailgun during testing and we've reduced bounce rates by 5%. That might not seem like a signficant number, and it may not be for a personal blog, but it can be significant number for a larger ecommerce website. For someone like us, a service that sends billions of emails, it's huge and we wanted to provide additional value for our customer to help them reduce their bounce rates and improve conversion. Plus we don't correct typos on local-parts, just domains. So we won't correct Jooohn@gmail.com, but would suggest a correction for john@gmaill.com.
- toomuchtodo 13y agoThanks for this service. There isn't any replacement for actually sending an email and having someone click a link to confirm receipt, but this is a step closer towards that.
- Domenic_S 13y agoUX improvement: highlight what you changed in the autocorrect suggestion: https://www.monosnap.com/image/OtGnn60OhykMAx9s3xsNXkyn5# https://www.monosnap.com/image/OtGnn60OhykMAx9s3xsNXkyn5# Maybe I'm an idiot but it took a while to see the 'user' actually entered "gmall" (I assumed it was correcting the spelling of Michael since the vowels in that name get mixed up so frequently). Can you talk about why reducing bounce rate is important? For me, ensuring that the email address entered belongs to the user who entered it is the most important.
- ferrantim 13y agoHey, mailgunnner here. Thanks for the ux suggestions! On bounce rate, a bounce will happen when you collect an email address that is invalid, and then send to it. It is basically the symptom that you can measure to know that the email is indeed invalid. By measuring a reduction in bounce rate, we've been able to determine that the validator does its job catching invalid addresses. For determining whether the email address entered belongs to the user who entered it, you can (and should) use double opt-in, where you email a confirmation link to the users.
- nine_k 13y agoIt does a DNS lookup, advanced parsing (which can be hard [1]) and common typo-fixing suggestions. Not a useless service, to be sure; you have to make your customers aware that their email is submitted to a third party for validation though. Usually people don't care all that much (and have that same emails addresses listed in public profiles), but a relevant bit of fine print should be there. [1] http://www.codinghorror.com/blog/2005/02/regex-use-vs-regex-abuse.html http://www.codinghorror.com/blog/2005/02/regex-use-vs-regex-...
- kijeda 13y agoIt only implements a subset of DNS functionality, so I'd argue its giving a false sense of security and false negatives. mailtest@пример.испытание fails, for example, even though it is a valid email address.
- mrweasel 13y agoThe "did you mean" feature alone is gold. I talked to the guys in our customer service department about a "did you mean xvy@hotmail.com"/ "xvy@gmail.com" feature for a while. That one feature alone could cut our misdelivered emails in half. Forget adding two email fields to a format, people just copy paste anyway. Honestly, to you and me, it may seem trivial, but your customers have a really had time entering their email address. Our customers are end users, really end users, these are people for whom their email address means VERY little, but at least they remember that their email isn't at gmalr.con, if you remind them. I'm not a Mailgun customer, but I would pay for this service (but not to much).
- fizx 13y agoI've been at a large web company where this feature provided a non-trivial bump in conversion.
- blantonl 13y agothis API's obvious intentions say it should also provide a non-trivial bump in conversions to Mailgun paying subscribers.
- chaosprophet 13y agoThis has actually existed as an independent library called Mailcheck.js[1] for a long time and I have used it in quite a number of projects. So if that is the only reason you want to use this API it would be better to go with mailcheck.js, simply to remove an external dependency. [1] https://github.com/Kicksend/mailcheck https://github.com/Kicksend/mailcheck
- dmethvin 13y agoHave you ever worked on e-commerce sites? Bad email validation or the requirement for a confirmation email can kill business. If a user buys a product but types `sally@yahhhoo.com` and then doesn't get their purchase or shipping confirmation, you can bet there will be long labor-intensive interactions with customer service. Getting a high confidence value in an email address without a confirmation email has great value.