16 ms·
Check If Email Exists
- Cyberdog 5y agoCould someone spell out a use case for this? One that comes to mind would be validating that a mailing list doesn't have any outdated email addresses in it, but couldn't that be determined by just checking for a bounce when a message is sent to it? I tried to sign up for SiriusXM the other day, and though I could create an account with my .pro email address, I couldn't actually sign up for service with that same address for some reason. It's frustrating that validating email addresses is still something that people get so wrong. Please just take whatever seeming garbage I've entered into your email address field and try to send a message to it. (Their site also had stupid password generation rules such that I couldn't use the 21-character one my password manager auto-generated, but even after I made one that followed the rules on the page, it was still rejected because there were apparently rules on the back end that weren't spelled out in the front end. Please hire me, SiriusXM.)
- tyingq 5y ago>but couldn't that be determined by just checking for a bounce when a message is sent to it The fewer times you bounce, the better your chances of not being marked as a spammer. This could also be useful for an ecommerce site, where you want to be able to easily contact the buyer if there's a delay, address correction needed, etc. People typo their own email at a rate that's surprising.
- akcreek 5y agoI use email validation via MailGun for exactly this purpose with a productized service business. If we don't have a good email, then we can't deliver the service once complete. That leads to angry customers, even if the issue was a typo when they created the account. Easier to try and catch it during signup rather than at the time of delivery when emails start bouncing and you have no way to get ahold of the person.
- tyingq 5y agoMailcheck is also helpful to catch things like "user@gnail.com" and other common typos when the user types it in: https://github.com/mailcheck/mailcheck https://github.com/mailcheck/mailcheck Fork modified for React: https://github.com/eligolding/react-mailcheck#readme https://github.com/eligolding/react-mailcheck#readme
- justinator 5y agoI somewhat lol'd when the demo allowed "user@gnail.com" just fine. Guess kickstarter isn't using mailcheck anymore. Looks like it's an open issue: https://github.com/mailcheck/mailcheck/issues/179 https://github.com/mailcheck/mailcheck/issues/179
- tyingq 5y agoOh, yeah, that's not good. Not sure why they didn't just repoint to the suggested https://codepen.io/ianneub/pen/BajKKBy https://codepen.io/ianneub/pen/BajKKBy demo.
- whakim 5y agoIf you're asking for an email address in exchange for some piece of content (e.g. a soft paywall), I find that it's reasonably sensible to filter out the absolute spammiest-looking of email addresses in order to collect more real email addresses and prevent people just rolling their face across the keyboard and calling it a day. (It can also help with bots a little bit, although most bots are smart enough to use <random firstname>.<random lastname>@gmail.com or something). The best way to do this is obviously double opt-in, i.e. actually emailing the address in question. Most businesses believe (probably accurately; I don't have the stats) that this creates too much friction. I've used Sendgrid's email verification service in the past, and the actual scoring is basically garbage but if you set the threshold really low (e.g. reject all emails with a score between 0 and 0.1) then your precision is really good (almost every email address you reject is invalid, as measured by actually sending an email to them and the email hard-bouncing or being otherwise undeliverable). You let a decent number of bad emails through but it's an improvement over nothing.
- reid 5y agoI bought a new car a few years ago and I was unable to enter my .life email address into the SiriusXM registration form in the car. Had to use a .com address :(
- blackearl 5y agoI specifically bought a cheap .org since some companies have trouble with lesser known TLDs
- SilverRed 5y agoI have a .red and a .me and I have never not been able to sign up.
- cratermoon 5y ago.life has four letters. Lots of terrible attempts to validate email addresses reject TLDs that aren't 2 or 3 characters.
- gruez 5y ago>Lots of terrible attempts to validate email addresses reject TLDs that aren't 2 or 3 characters. which is sad because .info has been around for 20 years.
- blackearl 5y agopipesandcigars.com let me sign up with a .miami but now I can't login because it says it's invalid. My ISP frantically called me up after starting service because they took all my info down and then the system didn't like the domain. My utility company kept sending me requests to go paperless and I had to call them to get an answer on why that happened since I had accepted the paperless prompt, the issue was the domain. It's nice to have but I've had quite a few headaches with it
- alibarber 5y agoI have a hyphen in the domain (.com) I use for personal email (it's shorter, just my initial and surname) and I still have had problems in some places with that - it's so frustrating.
- makeitdouble 5y agoI am not sure there is any clear legitimate use for deep validation (beyond checking for syntax). If you are providing a valuable service to a customer, wether it's a catch-all or free mail shouldn't matter to you. Now, if you are buying lists here and there to spam the hell out of it, the bounce rate would flag you very quick and you'd need to find another smtp provider every week. This service would be your life line.
- jlawer 5y agoThe use case is marketing email. Sending to non-existent addresses can radically affect deliverability. If the address is to a large host, then they will use reaching invalid email addresses as evidence that you are not keeping to best practices. They will throttle deliverability, and possibly reject email. If your sending to an invalid host, then your mail sending provider (if your using one) may consider you a bad customer and send you through a lower grade of outbound IP addresses. Frequently new registrations are processed at once as batch imports from another system or from a partner. There is a need to remove these invalid email addresses pre-sending and hurting sending reputation.
- smileysteve 5y agoAny engineer or product team that uses this lacks ethics and is putting their company at risk for CANSPAM. If you work at a company that would abuse hibp and a direct mention in CANSPAM you should refuse the work.
- tlogan 5y agoThis is not for “marketing emails”. This is for spammers.
- daniellarusso 5y agoWe have been auditing legacy user accounts to begin a mapping to Zendesk, and Zendesk allows mapping to ‘organizations’ via email domain. For some of these legacy accounts, the registered email addresses may have typos. So, even a basic DNS check against the existence of the domain’s MX record is helpful. Any of the ‘suspect’ email addresses can then be further evaluated by a human, and then removed or fixed.
- spondyl 5y agoPersonally, I do this kind of thing manually if I want to send some positive feedback to people who work at companies I like, but they don't have any obvious emails published. A recent example was the CEO of Evernote for the work put in to their behind the scenes series although I don't expect anyone to read it of course. People are busy! I wrote a bit about it here: https://utf9k.net/blog/email-lookup/ https://utf9k.net/blog/email-lookup/ Now does this scale? Not at all and I haven't read the email spec or anything like that. It's also handy in a pinch if you wrote down an email but can't remember if it's spelled correctly or not.
- mattowen_uk 5y agoThe non-interactive nslookup for Windows invocation: nslookup -query=mx evernote.com Edit: Trying out the macOS/Linux invocation on Windows also works: nslookup -q=mx evernote.com Oddly, the first time I did this, I only got IPv4 results, subsequent queries for the same domain, included IPv6 as well.
- maddyboo 5y agoI just watched a video where someone demo’d GitHub Copilot by writing a comment along the lines of // IsValidEmail takes a string and returns whether it’s a valid email address The AI response was a nightmarish 100+ character regex that made my blood curdle. I think of email validation like encryption: don’t roll your own, and don’t trust an AI to do it either. Edit: Here's the regex: https://gist.github.com/cassidoo/6101ef0657665683b787aab5ae9465f4#file-copilot-suggestions-js-L5-L9 https://gist.github.com/cassidoo/6101ef0657665683b787aab5ae9...
- ToFab123 5y ago100+ is nothing. This is a regex that validates a string against the RFC822 "Standard for ARPA Internet Text Messages" and it contains 6424 characters. http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html
- bombcar 5y agoThis is a Tony the Pony situation almost.
- cyberCleve 5y agoDoes it work?
- justinator 5y agoYeah basically, but it doesn't validate an email address (user@example.com), it validates say, the From: header of a MIME message, which could contain an email address, a phrase (like a first and last name) comments, and all sorts of dumb dumb ideas like having phrases that have embedded comments and phrases that look like email addresses but aren't and on and on and on. This RFC is a trainwreck and whoever wrote it should feel bad about themselves.
- slaymaker1907 5y agoThis really seems like it is plagiarizing the regex from somewhere without citation.
- profmonocle 5y agoA non-marketing example: We were onboarding a large new client to our SAAS product. This process involved creating accounts for all of their employees (tens of thousands) and sending emails with an activation link. (Where they'd be able to set up their password.) Our system sends these emails in batches, and as soon as the first batch went out we got an alert from our monitoring system that our bounce rate was surging - high enough to risk a sending pause from Amazon SES. We stopped sending and investigated the issue, and it turned out that the email list we were given was a mess - it included all current employees, but also a huge number of former ones. Just under 1/10th of the emails in our first batch were invalid. We asked the client to give us a better list, but due to internal issues they couldn't get that to us any time soon. Meanwhile they were breathing down our necks to get these emails out ASAP, and they were a large enough client that our management wanted to keep them happy, so we tried out one of these email validation services. Unfortunately, it didn't work. It turns out that this technique doesn't work for all mail servers. It was reporting every email as valid, even ones we knew were invalid since they'd already hard bounced. (Edit: thinking back - this was several years ago - I think it wasn't saying that they were valid emails, just that it couldn't tell whether they were valid or not - the service was able to detect that the server wasn't rejecting non-existent addresses.) We ended up unpausing the emails and just hoping for the best. Ended up with something like an 8% bounce rate that eventually fell off our record as our normal sending patterns resumed. Amazon's guidelines say they might cut you off when you hit 10%, so we cut it pretty close.
- donmcronald 5y agoIt seems like the most practical solution to that should be calling AWS, explaining it for 5 min, and getting an exception. Is that kind of reasonable solution no longer possible with the cloud providers being so huge?
- toomanybeersies 5y agoIt's possible, you just need to pay the extra 10% for premium support.
- kapp_in_life 5y ago
- vzaliva 5y agoI would love to clean up my addressbook removing no longer valid email addresses for contacts.
- irjustin 5y agoIdeally you don't want to send an email only to find out it doesn't exist, in terms of marketing. Do that too often and servers can start black listing your domain/IP because it looks like you're "scanning" for available email addresses.
- nemosaltat 5y agoSimilar experiences here. I have [myfirstname]@[mylastname].party as my primary email. In meatspace it’s a curiosity, and people are sometimes incredulous. Online, I’m routinely given some variant of “enter a valid email address.”
- vatican_banker 5y agoFinancial/fintech companies use services like these for fraud-detection on account opening. While validating an email is by no means and exhaustive and conclusive signal to classify a fraud/genuine user, verifying the validity of new customers's email addresses is a big help.
- tdeck 5y agoI maintain a small fee tool for creating API endpoints to trigger email alerts for yourself (varmail.me). Since it's very basic and has no marketing, it doesn't get too many users. You have to click a link in an email to even log in, but I still get bots stuffing my login form with known bad email addresses (I've googled and some of them appear in honeypot lists). There is no chance they can get in, but this is bad because my login verification emails look like spam, since a large percentage of them are sent in response to these bots. So I definitely see some value in a way to pre-screen the emails there.
- pnutjam 5y agoInteresting project, maybe you need a captcha to display and weed out bots before you actually send an email.
- tdeck 5y agoYes, I've considered it. The thing is I really dislike captchas so I tried to avoid deploying one. I do have a hidden form field that gets populated with a secret value in JavaScript, so the bots must be running JS at least to function.
- miyuru 5y agoFor email confirmation. The practice of email confirmation is still widely used, but the change in email deliverable rules has make it a pain to properly validate them. Even if you are using a 3rd party provider like SES or mailgun, they have a email bounce limit. A considerable number of real world users give fake email address(which is even sometimes encouraged on HN) which triggers those bounce limits. To fix it, there are paid services but they does not work very well. Fixing it yourself take a lot of engineering time, that is better spent elsewhere. Providing an open solution to this problem (which is given in the github repo) is a double edge sword. As this gives a edge to spammers who created the problem in the first place.
- yread 5y agoIf you use Amazon SES and have a high bounce rate they will just block you. So, Eve could flood your registration with invalid emails that would cause bounces, that would stop all your emails from getting delivered. A DoS you can only recover from by switching to a different email provider
- jader201 5y ago> Please hire me, SiriusXM. Given their questionable business practices, their customer service dark patterns, their dated and awful UX, and their inevitable demise to much more popular streaming services, you’d be best to stay far away.
- groundthrower 5y agoI sometimes use it for sales. Looking up a company on LinkedIn, then finding the name of a person I want to each our to but am not sure about the email. Then I could try the classic first name.last name @ domain to see if it’s worth sending an email
- cookie_monsta 5y ago> Please hire me, SiriusXM. Honestly not where I thought that rant was heading ;)
- celticninja 5y agoThe service I work on emails users(B) after their email address has been input by another user(A) of our service. This would allow us to check that the email is reachable before we attempt to send the email. If it is not we can ask user(A) to check before they proceed.
- relix 5y agoI receive a lot of fake user signups on the web tool I publish for free. These users (bots?) sign up using fake email addresses, but putting a captcha does not help much. I send a confirmation email to these users to make sure they exist, but if the email address does not exist, sending that confirmation email hits my account's deliverability (spam) score as it generates a bounce which my email sender provider does not appreciate. For example, I've received multiple warnings from Intercom that I need to improve deliverability of my email, or they will ban my account. Ironically one of the suggestions is to use confirmation emails - but that's exactly where the problem is for me. A tool like this helps me to weed out a ton of these undeliverable email addresses to avoid sending emails that will hit my spam score. > checking for a bounce So in my case, generating that bounce is exactly what I need to avoid in order to make sure my account remains in good standing.
- r1ch 5y agoIf a tool like this works for you, what stops you from sending validation emails yourself?
- cj 5y agoI'm not the OP, but the answer is typically 1) Time, and.. 2) Deliverability Home grown email systems require monitoring (e.g. deliverability rates, IP reputation monitoring) and maintenance of the system itself which can be a time sink. The reality is without using SES, Sendgrid, or a similar 3rd party provider, avoiding people's spam folder is very tricky.
- ericmay 5y agoI think what this is telling you is that users don’t value giving you their email address for your free tools. They know why you want their email address, and they don’t want that, but they do want your tools. Maybe it’s time to charge money for those tools or change models? Maybe not give access until the email address is confirmed? Worth considering I guess. Idk the details. I do this all the time. Ads and malpractice have made giving out your email address risky business. If a user can give you a fake email and get what they want without giving you anything (subject to your ads or whatever you’re using their email for) that’s the logical thing for them to do. Not judging or anything though I know my tone might seem that way.
- tealpod 5y agoI use to have a active product DearEle.com an email reminder service. There was a feature to cc everyone in email, which is used by spammers to send junk products to everyone. The source emails were all fake. Email check prevent fake emails.
- snowwrestler 5y agoAny kind of technical email validation is horribly unreliable at best and there is no chance that this GitHub repo is going to work any better. As a result the only place such a service is useful is for someone who has a ton of low-value emails they don’t trust, and they don’t want a ton of bounces when they hit send (which risks losing your send privileges with pretty much high-volume email platform). So they run all their emails through a service like this, and only send to the ones marked valid. This excludes a ton of emails that actually are valid, but failed the check (false negatives). But that’s ok because the emails were low-value to begin with. If this sounds like a spammy operation… bingo. Technical email validation services are really only useful for people who are doing things like buying email lists from commercial providers, harvesting emails from sites like HN, or forcing people to enter an email address to do basic things with a free service.
- iancmceachern 5y agoMarketing?
- TYPE_FASTER 5y agoI’m tempted to add a spam detector rule that runs all From addresses through this.
- deviledeggs 5y agoIt has honeypot detection. It's built for spamming people. There's literally zero reason to avoid honeypots otherwise
- Clewza313 5y ago> Has this email been compromised in a data breach? Eep. My email is listed half a dozen times in Have I Been Pwned records, but I use different passwords for every site, so this means nothing.
- detaro 5y agoIn the context of this thing, it means it's an email address that has been used elsewhere?
- jffry 5y agoThat's what I would hypothesize as well. Inclusion in a leak by HIBP increases the confidence that it's a real address (but not the converse). Weighting is left as an exercise for the library consumer :)
- bee_rider 5y agoIt is a weird metric -- sure, inclusion in HIBP increases the chance that it is a real email, but it also drastically increases the chance that the person who's using the email address isn't the original owner. Signed, the twitch account that "I" created.
- jffry 5y agoThat would only be a problem if you didn't ultimately require email verification. At least to me, this seems like a tool to decide if you should send email verification or block the signup attempt, but I can see how some people might choose to use the information from this tool to allow verification-free account signup
- bee_rider 5y agoIt seems like lots of places will let you start using the service without actually waiting for a response to the verification email. If they would use "in HIBP" as a flag to indicate that they have to actually wait for the user to click the verification link, that would be pretty cool.
- smileysteve 5y agoThe SMTP way of checking if an email exists is on the wrong side of CANSPAM, beginning the sending process to check an address is specifically addressed. And this assumes you didn't systematically "guess" the address.
- aussieguy1234 5y agoInteresting. So if they are doing this are they violating CANSPAM? EDIT: Looks like they are indeed doing the SMTP method: https://github.com/reacherhq/check-if-email-exists/blob/a052c30e134ff74060fabacac5f63ecc1df831a4/core/src/smtp/mod.rs#L193-L328 https://github.com/reacherhq/check-if-email-exists/blob/a052... I also found a similar, much bigger service here that appears to have been around for a while: https://emailverification.whoisxmlapi.com/api https://emailverification.whoisxmlapi.com/api
- smileysteve 5y agoIt speaks volumes about the marketing industry and how readily ethics and compliance are accepted even by companies that theoretically face consequences (though CanSpam seems to be lacking in enforcement here). There are products that definitely make it past the seed round and sometimes even as public companies before enforcement notice that their entire product runs afoul the law.
- jefftk 5y agoWhere do you see this in the law? I just skimmed through it, and I'm not seeing where it's addressed?
- smileysteve 5y agoSearch for "initiate", "headers", "open mail relays"; In addition to the law the FCC has additional legal guidance available.
- iudqnolq 5y agoIf you do this search you'll see that the text of the act doesn't support what smileysteve says. See my other comment https://news.ycombinator.com/item?id=27713089 https://news.ycombinator.com/item?id=27713089
- gregd 5y agoBack in my day, we used to just telnet into the mx server and RCPT TO
- HeyZuess 5y agoAnd before that you could just `finger` someone
- anonydsfsfs 5y agoThat's what this project does too: https://github.com/reacherhq/check-if-email-exists/blob/a052c30e134ff74060fabacac5f63ecc1df831a4/core/src/smtp/mod.rs#L193-L328 https://github.com/reacherhq/check-if-email-exists/blob/a052...
- aussieguy1234 5y agoI fingered that they were doing this
- dmitryminkovsky 5y agoHow I sent my first email in 1995! Nothing like being able to write messages from bill@microsoft.com.
- dang 5y agoSimilar from 2009: How to check if an email address exists without sending an email? - https://news.ycombinator.com/item?id=436817 https://news.ycombinator.com/item?id=436817 - Jan 2009 (6 comments)
- dmitrygr 5y agoI HATE you for exposing this: <<"is_disposable": true,>> i hope nobody ever uses this project, lest it break the usefulness of mytrashmail.com
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- aeyes 5y agoSpamhaus successfully blocks connection attempts by their SaaS service for not identifying itself with a valid domain.
- deleted 5y ago[deleted]
- jchw 5y agoDisclaimer: IANAL. This is a particularly interesting use of AGPL because it appears to contain a RESTful HTTP server built-in. To my knowledge, with the way AGPL works, there are some interesting wrinkles: - It is only intended to “trigger” when distribution occurs under some legal copyright law definition of “distribution.” - It allows commercial use of unmodified and modified instances of the licensed code, as long as you provide the modified code, just like GPL. - Being a copyright license and not a contract (at least not intentionally,) it only is “viral” to derived works and not aggregate works. So, depending on what you define a “derived work” as, some interactions between AGPL and non-AGPL code may be kosher. Where this gets interesting to me is wherever you draw the line for derived works. For example, Ghostscript’s developers have a page regarding this subject: https://www.ghostscript.com/doc/current/Commprod.htm https://www.ghostscript.com/doc/current/Commprod.htm Particularly: > The application calls GPL Ghostscript in a way that allows an ordinary user to substitute another program for GPL Ghostscript. (Typically this requires use of a shell script or batch file, or a system call like "exec".) More precisely, if the user deletes from the computer system all the files in the GPL Ghostscript directories, and replaces the GPL Ghostscript executable with another program with the same name and conforming to the same documentation, the application will continue to work with it. One implication of this is that the GPL Ghostscript documentation must specify all properties of GPL Ghostscript on which the application relies; for example, if GPL Ghostscript has been modified by the addition of command line switches or language elements such as new operators, the documentation must describe any such additions that the application uses. If your AGPL application exposes a trivial JSON API, could you not write another application that simply supports a compatible interface, have it take an endpoint URL at runtime, and then just setup the software on another server and point to it? Although your software could be non-AGPL and maybe even closed-source, it could in theory be swapped out for any compatible service, including a simple noop implementation. Assuming the author(s) retain the copyright for all contributions so far, they are obviously able to use the program without worrying about said licensing restrictions. But if you flip it around and someone else also runs a SaaS where they distribute the source as per AGPL restrictions, they could then offer said services and presumably it would not be possible for AGPL to have “virility” to spread outwards further. I can’t think of any reason this scenario wouldn’t work the same if done on internal networks by a single entity. There is perhaps no particular takeaway here. In fact, maybe this was even intended to be a potential use case. However, I worry that this loophole may not be being considered: > If you want to use check-if-email-exists to develop commercial sites, tools, and applications, the Commercial License is the appropriate license. With this option, your source code is kept proprietary. Purchase an check-if-email-exists Commercial License at https://reacher.email/pricing https://reacher.email/pricing. While it is obviously true that directly integrating the library into an application would indeed constitute a derived work, I am skeptical, based on what I know, that using a fairly generic REST API would necessarily constitute this. I’m always a fan of open source as a model for better software development, but I do think that one really needs to be careful that it’s actually what they want. AGPL is a very interesting beast and there seems to be a lot of subtleties with regards to its implications in edge cases.
- gh2k 5y agoI hope nobody uses this for anything serious. I run my own domain and use <category>-<service>@<mydomain> to have a unique email for everything I sign up to. I have no email address that this counts as anything other than "risky". If this opts me out of marketing mail then that's probably a good thing, but I hope nobody puts a password-reset or security/billing notifications behind it.
- rudyfink 5y agoWould you mind sharing your experience on how well that has worked for you? Has the complexity of maintaining different addresses been a problem? I ask because it is something I have always thought about, but I suppose I kept hoping a service would come along and magic the solution for me. Kudos on making it happen!
- reid 5y agoNot OP, but I just accept wildcard *@mydomain and give out a unique name for every business. Works very well and I blocked a few businesses by which do not allow for opt-out and/or shared my address with others. This is easy to do with the Alias feature of FastMail.
- cstrat 5y agoYeah I do the same thing with FastMail - its awesome. Here is a recent story where this came in handy. I recently had a spam phone call from someone fishing for personal information, using a 'survey' as cover. During the call I learned that they had my email address as 'ledger@xxxx.xxx'. This must have come from the Ledger data breach (https://www.ledger.com/message-ledgers-ceo-data-leak https://www.ledger.com/message-ledgers-ceo-data-leak). This made the call even more nefarious than I originally thought... nothing I can do, they have that email address and my personal number. Just made me more aware of what is going on.
- NetOpWibby 5y agoThat’s terrifying.
- dmd 5y agoIt thinks the email address I've used for more than 25 years is invalid. Great job.
- SilverRed 5y agoThere is really no point validating emails beyond checking there is an @ in the address. Send an email to verify. You can even have an address with no . if you own the tld. foobar@me is a valid email.
- bobthebuilders 5y agoIncorrect, I tried sending a mail and it bounced.
- SilverRed 5y agoIt is a valid email if the owner of the me tld sets up an email address on it. I'm not sure if anyone has done it on a tld but I have seen websites which are on the tld with no sub domain.
- AntiqueFig 5y ago> I have seen websites which are on the tld with no sub domain. Do you have any example of that?
- brewmarche 5y agohttp://ai./ http://ai./ It should only be possible on ccTLDs, this is not possible on newer gTLDs due to ICANN rules and I think no classic gTLD has it. See: https://stackoverflow.com/a/40358071/4418149 https://stackoverflow.com/a/40358071/4418149
- stanislavb 5y agoAlthough many will criticise the level of perfection of this service, it could definitely be useful to many others. What is more, it is laudable that it's open source, and I guess that will lead to lots of community-driven improvements over time.
- SilverRed 5y ago>could definitely be useful to many others Its not about how useful it is to others. Its how it makes the web worse for users when their perfectly valid email address gets rejected because the flawed library said it was fake.
- rtsil 5y agoIf I were to self-host this (for instance to validate order emails and catch typos on a moderately visited e-commerce website, in the order of hundreds per day), what are the odds that I'll be banned by the major email providers (gmail, hotmail and co.) for abusing their servers?
- nickstinemates 5y agoIf you want to know the "how?" as I did - code is here, specifically https://github.com/reacherhq/check-if-email-exists/blob/master/core/src/smtp/mod.rs#L193 https://github.com/reacherhq/check-if-email-exists/blob/mast... tl;dr, According to RFC 5321, `RCPT TO` command succeeds with 250 and 251. So email is valid if you get to this part of the protocol and receive the response.
- deleted 5y ago[deleted]
- mtnGoat 5y agoExcept if you try this with any real volume to most hosts, they’ll block you. These same techniques are used to dictionary attack as well. Also, just because I have a catch all on my domain really shouldn’t be justification for saying my email isn’t valid and is a good way to lose business.
- johntash 5y ago> Also, just because I have a catch all on my domain really shouldn’t be justification for saying my email isn’t valid and is a good way to lose business. Agreed, 100% of the e-mails I use to sign up for services go to a catch-all.
- adamparsons 5y agoMy email address reachability is "unknown", its a fastmail hosted account. Quite a commonly used service. Is an unknown classification supposed to be treated as "I don't know, probably safe" or "I don't know, probably don't accept it" ?
- adamparsons 5y ago{ "input": "***redacted***", "is_reachable": "unknown", "misc": { "is_disposable": false, "is_role_account": false }, "mx": { "accepts_mail": true, "records": [ "in2-smtp.messagingengine.com.", "in1-smtp.messagingengine.com." ] }, "smtp": { "error": { "type": "TimeoutError", "message": "future has timed out" } }, "syntax": { "address": "***redacted***", "domain": "***redacted***", "is_valid_syntax": true, "username": "***redacted***" } } I'm going to guess that fastmail has blocked you lol
- lqet 5y ago> The details of this [reachability=]"unknown" case can be found in the smtp.error and mx.error fields. Indeed they can, my mail server seems to block the service because it already appears on multiple spam lists.
- throwawaysea 5y agoThis feels like a service that would be used by shoddy email marketers and spammers to reduce the number of bad emails they send, so that they can avoid being blocked. Their home page (https://reacher.email/ https://reacher.email/) mentions lists uses like cleaning "large lists", which comes off to me as code for "send mail of dubious quality without tripping alarms".
- deleted 5y ago[deleted]
- dgl 5y agoAside from the questionable aspects of this it doesn’t even understand some aspects of how email works. It requires MX records, but it’s fine to just have an A record and accept email there, I do that for one of my personal domains and this says it’s invalid, but nothing else has ever had a problem with it.
- villgax 5y agoReally wish there was a way to disable email & avoid being on spammer mail lists
- atum47 5y agoI use disposable emails all the time, since nowadays you can't get the "free" wi-fi from business without a freaking registration.
- goforbg 5y agoMe too, it classifies mailinator as risky. I use it everywhere.
- Pick-A-Hill2019 5y agoI use the name of the company that offers the 'free' wi-fi - eg nothanks@mcdonalds.com or chairman@walmart.com etc. That way they get the bounce back on their own mail servers and they also rarely refuse to accept it as a valid address for some reason :) (note I'm just using mcD & walmart as place-holder company names, have no idea if they operate their public wi-fi that way)
- atum47 5y agoGood strategy, I'll start using it too
- goforbg 5y agoI think they copied the licenses paging from a carousel library Flickity, they haven't replaced the company name from Flickity to reacherhq. [0]:https://help.reacher.email/reacher-licenses#31b18f7872fc4480b326017ebfb31755 https://help.reacher.email/reacher-licenses#31b18f7872fc4480... [1]: https://flickity.metafizzy.co/ https://flickity.metafizzy.co/
- amaurym10 5y agoFixed, thanks!
- deleted 5y ago[deleted]
- the_arun 5y agoWhy this is not a library instead of hosted api? Why do we need to run this as a service? does it come with its own DB & all?
- transitivebs 5y agoit's both; the OSS library is usable freely and the hosted version is auto-generated by https://saasify.sh https://saasify.sh
- amaurym10 5y ago> does it come with its own DB & all? Also, there's no DB. Each verification is done in real-time.
- jaimex2 5y agoI feel like this will get your IP on block lists really quickly.
- 3np 5y agoInteresting tool, but there are some really concerning dark antipatterns here that I really despise: Is the address provided by a known disposable email address provider? Is the email address bound to a known free email provider? Does email address under test hide a honeypot? What are the legit use-cases for this? To be sure you can force spam on your users and identify them as ad-targets?
- Biganon 5y agoIf I ban a user who disrupts the functioning of the site, I don't want then to be able to immediately recreate an account. If there is more friction to this process, I can hope they will lose interest soon enough. Sure they can create an infinite number of Gmail addresses, but it might take then more time.
- jitbit 5y agoRE: use case In our SaaS we enforce slightly stronger limits for trial accounts who sign up from free/disposable emails. User is Gmail? Well, sorry, +XX to "spam score". They will probably use our system for spamming.
- yreg 5y agoThey even link honeypot to spamtrap. https://en.wikipedia.org/wiki/Spamtrap https://en.wikipedia.org/wiki/Spamtrap
- jhugo 5y agoThe accepts_mail test seems flawed; a domain with no MX records can still accept mail (the spec requires an MTA to connect to the IP address in the A/AAAA record of the domain part of the mail address in this case). All MTAs that I’m aware of support this, and it’s moderately common on personal domains with a single self-hosted MX, rare as those are these days.
- LeonM 5y agoInteresting! I did not know this For those wondering, this is actually specified in rfc5321 section 5: If an empty list of MXs is returned, the address is treated as if it was associated with an implicit MX RR, with a preference of 0, pointing to that host. https://datatracker.ietf.org/doc/html/rfc5321#section-5 https://datatracker.ietf.org/doc/html/rfc5321#section-5
- mdasen 5y agoOn your site (https://reacher.email https://reacher.email) it shows "Open-Source" next to the MIT logo. To any reasonable person, that means "it's licensed under the MIT license". Instead, it's licensed under the AGPL. It would be good if you changed it to remove the implication that it was MIT licensed.
- saagarjha 5y agoUh, what? "Open source" doesn't mean "MIT" any more than "vehicle" means "truck"…
- lights0123 5y ago> next to the MIT logo
- saagarjha 5y agoI mean, it's a stock image of "open source". There's a CC on there too…
- pessimizer 5y agoI don't even think the OSI classifies AGPL as an Open Source license, does it. Open Source is Free Software, but that's because it can be relicensed to anything as long as its attribution requirements are held to. Free Software licenses are restrictive (to preserve the access of the user to the software they use.)
- jefftk 5y agoThe OSI does count AGPL as Open Source: https://opensource.org/licenses/AGPL-3.0 https://opensource.org/licenses/AGPL-3.0 "it can be relicensed to anything as long as its attribution requirements are held to" is not a requirement of Open Source: https://opensource.org/osd https://opensource.org/osd
- transitivebs 5y agoGood catch; the author (amaury) is using my service Saasify (https://saasify.sh https://saasify.sh) to auto-generate the entire SaaS website so this was just an oversight.
- defanor 5y agoChecked out of curiosity: it tries to confirm email existence by initiating mail sending [1] (likely very unreliably, since basic anti-spam measures would reject it before checking whether an address exists), and while it lists existence of paid services as the motivation, those paid services also mention unreliability and don't mention their motivation. Now I'm slightly worried that in addition to counting me as a robot and an attacker, online services will think that my email address does not exist. [1] https://help.reacher.email/faq https://help.reacher.email/faq
- ikiris 5y agohow to fail at email sending and tarpits, in one easy codebase...
- holdenc137 5y agoIt does exist, I used it this morning!
- gorgoiler 5y agoGitHub issues like this one warm my heart: https://github.com/reacherhq/check-if-email-exists/issues/91 https://github.com/reacherhq/check-if-email-exists/issues/91 Identifying something that needs doing, especially when you have no idea how to do it, is a bold skill. Too often have I seen engineers be reluctant to open an issue because they don’t know how to implement it, technically. I still do it, myself. If you need it then you’ll find a way. The converse is also true: losing focus by filing tasks and procrastinating on features because you know how to build them, not because you actually need them to move your business / project forward.
- baobabKoodaa 5y agoI tried this on my email address and it didn't work. SMTP error "permanent: 5.7.1 <gmail.com>: Helo command rejected: ACCESS DENIED. Your email was rejected because the sending mail server seems to be impersonating another mail server (gmail.com)"
- Wronnay 5y agoIt makes me uneasy that the SaaS Website has no Imprint even while it writes "Made in a small independent studio in Berlin 🇩🇪." In Germany an Imprint for a paid service is mandatory and after the ToS it seems like this is a product from a company in France? (I believe there are similar laws in France?)
- Narishma 5y agoWhat's an imprint?
- aloe_falsa 5y agohttps://en.wikipedia.org/wiki/Impressum https://en.wikipedia.org/wiki/Impressum > The Telemediengesetz (German meaning "Telemedia Act") requires that German websites disclose information about the publisher, including their name and address, telephone number or e-mail address, trade registry number, VAT number, and other information depending on the type of company. The relevant German laws (§5 TMG and §55 RStV) are fairly vague, so lawyers recommend publishing an Impressum if your website contains any commercial content (for example, ad banners) or any journalistic content (for example, blog posts).
- amaurym10 5y agoAuthor here. Yes the company is in France, and I'm currently writing those (called "CGV" and "Mention légales").
- mkl 5y agoIts "is_valid_syntax" result seems to be taking shortcuts and defaulting to "false" for anything not common. Reality is much more complicated: https://stackoverflow.com/questions/2049502/what-characters-are-allowed-in-an-email-address https://stackoverflow.com/questions/2049502/what-characters-...
- johnx123-up 5y agoFWIW, similar popular libraries: 1. https://github.com/jeronimofagundes/EmailValidator#available-validations https://github.com/jeronimofagundes/EmailValidator#available... (PHP) 2. https://github.com/ivolo/disposable-email-domains https://github.com/ivolo/disposable-email-domains (Node)
- londons_explore 5y agoChecking if an email address is in a data breach and checking the user can click an activation link is a good way to de-spam free services. Most real humans have at least one address involved in a data breach, but most don't have access to hundreds of emails in a data breach. That means most people can only make use of the "one free ice cream per customer" deal once. Pretty neat!
- annoyingnoob 5y agoMay valid and working email address comes back with: "is_reachable": "unknown"
- lootsauce 5y agoJust curious has anyone ever turned signups around and asked for the person to send an email instead? Something like send an email to signup@someservice.com Then send a follow up confirmation email, no captcha required.
- teitoklien 5y agoI’ve been doing it recently for some of my clients It depends really on how valuable your service is and how easy you can make it for them to send you an email , for example auto filling subject and body using the mailto query parameters , so that they just need to click the send button on their email app helps a lot. It does reduce spam on contact forms , that’s for sure, but I don’t yet have enough data to say whether it hampers signups in a bad way. My clients are pretty happy with this method tho , as it works fine for their domain and who they target on their landing pages. Personally I kinda like this method of signup , at the same time I find it annoying for when I’m not signed into the email I want to use on the particular device I’m using , while I could still send the email from another device , it does remove the ease of having it auto filled for me. But everything has pros and cons, And I kinda like the new upside down way at-least when I build them for the services I work on. Also it has a few issues : While I’ve practically never faced this issue in real life yet , but I can think of someone trying it. Is if they fake the MAILFROM header , I’ve got a few emails personally where they faked the mailfrom and mailto headers , unless you verify them with dkim they can still spam you , but it’s very rare and I haven’t seen any abuse of this method as of yet , however if more people start using it , I can see it happen.