This Email Checker Tests The Validity & Reachability Of An Email Address

The Email Checker determines the validity (using syntactic rules) and reachability (using Simple Mail Transfer Protocol, SMTP) of an email address.

Usage

Enter an email address in the text box, and click Go!

When to Use the Email Checker

The Email Checker will check to see if the provided email address works. Email addresses that “work” are:

  • Syntactically valid
  • Available through an SMTP (email) server.

A valid email address does not, however, mean that a human will receive it. Sometimes email addresses continue to exist but are never checked for any number of reasons. But this tool does allow you to identify invalid email addresses, which can cut down on wasted effort.

If you've been maintaining an address book or mailing list for a long time, you probably have some old addresses. You can run the email addresses you have through the Email Checker to see if they're valid or not.

Removing such email addresses from your mailing list will reduce the likelihood that you get blacklisted as a suspected spammer. (Many spammers will send to an enormous number of addresses with the hope that at least some will be valid — it is the email equivalent of guess-and-check.)

You can also use the Email Checker to test your email address or SMTP server. If you aren't getting email, you can figure out why using the Email Checker.

The SMTP Protocol

The Email Checker uses the SMTP protocol as defined in RFC 5321. RFC 5321 builds on the original SMTP protocol (defined by RFC 821) by implementing some of the Extended SMTP standard (RFC 1869).

SMTP is the basis of email and one of the oldest aspects of the internet. And it is simple. The original variant was based solely on ASCII text and includes few security features. In its current form, it is one of the most heavily used of all internet standards.

What the Email Checker Does

The Email Checker uses a two-step process:

Syntax Check

First, the Email Checker makes sure that the email address is syntactically valid. It must have the following three parts in the following order:

  1. Mailbox/User name (letters, numbers, and printable characters)
  2. “@” sign
  3. Domain name.

So this would look something like this: your_name@example.com. If the email address you provide does not meet these syntactic requirements, the Email Checker will return an error.

For example, if you enter your(name@example.com the Email Checker will return “your(name@example.com is not a valid email.”

SMTP Check

If the address is valid, the Email Checker proceeds to locate the Mail Transfer Agent (MTA) through the domain name's mail exchanger (MX) record.

If the tool cannot find any MX records, it will use the domain's A record (IPv4) to find the MTA. At this point, you'll see a list of MTA records for the receiving domain name.

Assuming the Email Checker finds the MTA, it attempts to open an SMTP session with it. If this succeeds, the Email Checker returns successfully with the information about the communication with the MTA.

Note that the Email Checker doesn't send any email to the address. However, because the server might log the session opened, the process isn't wholly confidential.

Error Codes

Broadly speaking, there are two kinds of SMTP errors: permanent and temporary. You've probably seen both in bounced email messages.

Permanent Error: 550

One of the most commonly seen error codes when testing email addresses is SMTP 550. If you receive an SMTP 550, it means that mail can't be delivered to the specified mailbox.

Because this is a permanent condition, it is referred to colloquially as a hard bounce. In most cases, this happens when a mailbox or server doesn't currently exist.

Temporary “550” Errors

You might occasionally see an SMTP 550 code come back with an error message indicating that the mailbox is full and to try again later. This is a misuse of this code since a full mailbox is (hopefully) a temporary condition.

Instead, the proper way for an SMTP server to handle a full mailbox condition is with something like SMTP error 521 (domain doesn't accept email). There are other codes (eg, 523), but not all mail servers accept all error codes.

Do note that, while this is a temporary condition, these codes might indicate an abandoned mailbox. Thus the address will be of little use to you.

No Available Information “550” Errors

Finally, you might also get an SMTP 550 response with a message saying that the Email Checker's IP address is blocked. This tells you that the SMTP server exists, but unfortunately, we can't get additional information.

Because the sole purpose of the Email Checker is to issue queries to email servers, the site may look suspicious to some servers — such are the risks of a publicly-available tool.

Temporary Error Conditions

A response code in the range 400-499 indicates a temporary condition. As such, these errors are referred to as soft bounces. They prevent you from verifying the email address at that time. But you might consider trying again after a couple hours or days to see if the results change.

Some servers greylist, which is the practice of rejecting a message from a previously-unknown sender. If this is the case, you'll receive an SMTP 450 code in response to your initial message. Try your query again after at least 5 minutes.

Email Checker Commands

The Email Checker runs a series of commands designed to provide you with useful information.

The MAIL FROM Command

The MAIL FROM command is used to gain the message sender's address. Some servers may accept only specific addresses, such as ones located on the same server. Or they may check to see if the address matches the IP address from which it originates (if not, this could indicate the message is spam).

The RCPT TO Command

The RCPT TO command provides the SMTP server with the address that is supposed to receive the message. If the server accepts this, the email address is valid. Otherwise, you can assume that the address is invalid.

While a mail client would follow this command with a DATA command to transmit the message, the Email Checker terminates the session since it is just checking that the email address is valid.

Unrecognized Commands from the Email Checker

Some email servers do not recognize some or all of the commands sent by the Email Checker. If that's the case, you'll receive the SMTP 500 syntax error.

You may also receive the SMTP 502 error, which indicates that the email server recognizes, but does not allow the command. This, however, doesn't typically prevent email from being sent.

The VRFY Command

One command that is sometimes not supported is the VRFY command, which checks to see if the username (or the portion of the email address to the left of @example.com) is recognized. If you get an SMTP error code in the 500s range, the address isn't known and the server won't accept mail for it.

The EXPN Command

Another useful command that is sometimes not supported by email servers is the EXPN command (it can be used to request a full mailing list on the server and can, therefore, be a boon for spam harvesters). You may get an SMTP 550 response that indicates access denied; this doesn't necessarily mean, however, that you can't send any messages to that address.

Internet Tools