2

Please note, this is different than confirming that address exists. Is there a way of proving that given email address is definitely unable to receive emails?

ie. with websites like http://www.email-validator.net/

is there a 100% way of proving that certain address is unable to receive data?

3
  • did you tryed just sending an email, if mails fails to send or user is unable to recieve you will have an answer from the server in your inbox. May 20, 2015 at 21:17
  • yes, but I believe that such notification is only returned if domain does not exist. May 21, 2015 at 15:11
  • No, if mailbox is full, server will give you a message May 21, 2015 at 15:16

3 Answers 3

6

The only case where you can be sure is if the domain name (the part behind the @ in the address) is invalid. For example if it is [email protected] this can never be delivered because .c is not and will never be a valid TLD. Therefore no one can have that domain and no one can set up a mail server with an IP where this domain points to.

Otherwise you can at most check the following:

  1. Is the domain valid right now? If it's not then no mail can be recieved at that address. But new TLDs come out ever so often. So some domains that are invalid now might become valid later then they might become used for email und your address might be used. For example the capital of Switzerland is Bern. They didn't get out an application for the TLD .bern to the ICANN in time, but there are people who want to try next time. So [email protected] is invalid right now but might be used later.

  2. Is the domain valid but not registered to anyone yet? Then no mail can be received there for now. But it can always become registered and used later and if the timing is right the server might come online while your SMTP server is still retrying sending the mail regularly. For example [email protected] is valid (yes, really .horse addresses exist) but the domain example.horse is not in use currently.

  3. Is the domain registered but no mail server responds there? Similar to above no mail can be received right now but a mail server might come online in a matter of minutes. For example my own domain has no mail server running but I could probably install a basic one in one or two hours, with some experience in the matter surely even less.

  4. Does a server responds but the response is "address unknown". That can either be true, no account with that name exists on the domain and the mail server drops your mail, or it can be true and the mail server redirects your mail into a catch-all account or it can be a lie and the server acts as if the account doesn't exist but in fact has the account and delivers your mail.

  5. A special case: Does the email address conform to standards (https://www.rfc-editor.org/rfc/rfc6530), e. g. is it within the allowed length (I don't exactly recall but I think it was somewhere under 300 characters) or does it contain only allowed characters. If it does not then it gets interesting. If your mail client and your SMTP server can handle it they might just try to still send out the mail even though the address is not standards conform. Now theoretically the receiving mail server could throw it out due to non compliance or it could act as if it had thrown it out but instead still deliver it. This case though is highly theoretical. Example: a"b(c)d,e:f;gi[j\k][email protected]

6
  • As for number 3, how do you test for that? May 21, 2015 at 6:44
  • You need to make a so called MX lookup. A domain where a mail server is operating needs to have at least one MX entry. Those define on which IP the mail server for the domain is listening for mail. On windows you can use nslookup and on UNIX like operating systems (Linux/BSD/OSX) you can use host (might not be installed by default) from the command line. There are also online tools available but I have not used any before, so I can't make suggestions.
    – Leosch
    May 21, 2015 at 11:48
  • Now you might know if there is a IP address that is claimed to contain a mail server. After that to make sure there is really a server on the IP you'd have to either fake a conversation your SMTP server would attempt if it was trying to send mail there* or you just actually send a test meassage. *I don't know enough of the specific protocols used by SMTP servers to know how you could do that.
    – Leosch
    May 21, 2015 at 11:52
  • won't a catchall server fail MX lookup? May 21, 2015 at 15:45
  • I don't know for certain. Maybe SMTP servers (sending server) just try to send mail to the main A-Record if there is no MX-Record for a domain. But if they really only try IPs they get from MX records then it doesn't matter what the configuration of the listening POP or IMAP server (recieving server) is your sending server won't know to which IP to send so no transmission can occur.
    – Leosch
    May 22, 2015 at 10:55
2

Not really. There are many things that can cause a false positive as well as false negatives.

Off the top of my head examples include: - Mail server temporarily down - Incorrectly configured spamfilter being way too aggressive - Server running properly, but mailbox isn't receiving it (Happened on my server because of a config-screwup)

The only true indication that an address is working as intended is getting a reply from it. And even that might be temporarily. On the flipside, any issue reported when you try to reach it can also be temporary.

The only exception that I can think of is if the domain simply doesn't exist.

2

No, there is no way.

Email server may accept emails and simply drop them.

PS: There are some cases when you can be 80% sure email does not exist at this moment.

  • Domain does not have MX record (there is no server to send emails to) < This is wrong. If there is no MX, mail delivery is attempted to the A record for the domain. Check the RFCs.

  • There is no SMTP server (nothing listens on port 25). How ever, server may temporary be down.

  • SMTP server explicitly reports you "there is no such mailbox". But some hacky server may return this error for anyone except some special clients.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .