Email Check - verify or mailbox can receive email
We recommend a very useful site for checking any mailing address. The service is easy to use and is called Email Check. It talks to the receiving mail server the same way another server would, and asks whether the user and the mailbox really exist. That way you can find out, before sending anything, whether the address can accept your letter.
Let's review an example for generator.email@gmail.com — an address that looks perfectly valid but was never registered.
Go to the site: Email Check, type in the address you want to check, press the button and read the result.
MX records:
gmail-smtp-in.l.google.com
alt1.gmail-smtp-in.l.google.com
alt2.gmail-smtp-in.l.google.com
alt3.gmail-smtp-in.l.google.com
alt4.gmail-smtp-in.l.google.com
250-mx.google.com at your service, [10.0.0.1]
250-SIZE 157286400
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
250 2.1.0 OK ffacd0b85a97d-47f86b32283si4884355f8f.407 - gsmtp
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. For more information, go to
550 5.1.1 https://support.google.com/mail/?p=NoSuchUser ffacd0b85a97d-47f86b32283si4884355f8f.407 - gsmtp
221 2.0.0 closing connection ffacd0b85a97d-47f86b32283si4884355f8f.407 - gsmtp
How to read this
The important line is the answer to RCPT TO — that is where the receiving server decides whether such a mailbox exists:
- 250
- the address is accepted — mail for it will be delivered
- 550
- rejected. The text after the code says why: no such user, mailbox full, domain not served here
- 4xx
- a temporary problem on the receiving side; the answer says nothing about the address itself — worth repeating later
In our case the server replied 550 5.1.1 with a plain explanation: the account does not exist. So a letter sent to this address would bounce back instead of being delivered.
RCPT TO and closes with QUIT — the message body is never transmitted, so the owner of a working address receives nothing and sees no trace in the inbox.250 to every address to make mass harvesting useless (this is called a catch-all or accept-all setup). So 550 is a reliable «no», while 250 only means «probably yes».When this is worth doing
- Before writing to an address you copied from somewhere. A typo in a domain or one missing letter in the name looks the same to the eye, but the letter simply never arrives.
- When a reply does not come. The check separates two very different situations: the address does not exist at all, or it exists and the person just has not answered.
- Before sending anything to a list of addresses. Dead addresses in a mailing damage the sender's reputation, and after a certain share of bounces providers start putting even valid letters into spam.
Why the answer is not always definite
An SMTP server is not obliged to be honest about which mailboxes it has. Besides the catch-all setup mentioned above, an answer can be distorted by:
- greylisting
- the first attempt from an unknown sender is rejected on purpose with a temporary code, and only a repeat is accepted
- rate limits
- too many checks from one address lead to a temporary block, and the answer stops depending on the mailbox at all
- no MX record
- there is nowhere to connect — such a domain does not receive mail whatever the address in front of the
@is
That is why the check answers the question «can a letter be delivered right now» rather than «does this person exist».
You can run the same check on any address you are curious about at checkeremail.com.