Network Tools.com Logo




Our Tools









Email tests

The email test tool checks the validity and reachability of an email address.

Usage

Enter an email address in the text box. Click the "Email Tests" radio button and then "Go."

When to use it

The email test tool will check if an address works. "Working" means that it's syntactically valid and is available through an SMTP server. It can't guarantee that mail sent to a working address will be received, but it can weed out many invalid addresses.

If you've been maintaining an address book or mailing list for a long time, it probably has some outdated addresses. You can run them through this tool and see if they no longer respond when queried. A list with a lot of bad addresses can get you blacklisted as a spam suspect.

You can use the email tool to test your own email address or SMTP server. If you aren't getting any mail, the tool will help you find the point of failure.

What it does

First, the tool makes sure the email address is syntactically valid. It needs to consist of a name, an atsign, and a domain name (e.g., [email protected]). If it's invalid, you'll get a "bad input" response.

If the address is valid, the tool locates the mail transfer agent (MTA) through the domain's MX record. (The terms "mail transfer agent" and "SMTP server" mean the same thing for our purposes.) If there are no MX records, it will use the domain's A record for an MTA record. You'll see a list of MTA records for the receiving domain. The tool then attempts to open an SMTP session with the server. It won't send any email to the address, but the server might log the session, so the process isn't totally confidential.

Some mail servers won't recognize all the commands that are sent. You'll see "500 Unrecognized command." You might also see error 502, which means the command is recognized but not allowed. This doesn't normally prevent mail from being sent.

In particular, not all servers support the VRFY and EXPN commands. VRFY checks if a user name is recognized. If it returns an error code in the range 500 to 599, mail won't be delivered to that address. The EXPN command isn't widely supported, since it returns all the addresses on a mailing list, which is an invitation to spam harvesters. EXPN may get a 550 response indicating access is denied; that doesn't necessarily mean you can't send mail to the list.

Error code 550 is the most common one in SMTP. All that it actually means is that mail can't be delivered to the specified mailbox. It indicates a permanent condition, and the 550 response is called a "hard bounce." Most often it means that no such mailbox exists. Occasionally it will come with a message like "Mailbox full, try again later," which is a misuse of the code since it's reporting a (hopefully) temporary condition. The codes 522, 523, 531, and 533 all indicate there isn't room for the mail. These are, strictly speaking, temporary conditions, though they usually indicate an abandoned mailbox. The line between temporary and permanent error conditions isn't very well drawn.

Response codes in the range 400-499 indicate issues which may be temporary. These are called "soft bounces." They prevent verification, but trying again after an hour or a day may produce a better result. Some servers use "greylisting," rejecting a message from a previously unknown sender but accepting a retry after a certain time interval, usually five minutes. Code 450 is often used for this.

The MAIL FROM command gives the sender's address. Some servers may accept only certain addresses, such as ones on the same server, or they may check whether the address matches the IP address it's coming from.

The RCPT TO command is the most important one for verification. It gives the server the address which is supposed to receive the mail. If this command is accepted, everything is fine. A real mail client would follow it with a DATA command to send the message. The tool terminates the session at this point, since there's no mail to send.

If the transcript shows that the tool issued a RCPT TO command and it was accepted, the chances are good that this is a valid email address. If not, you should probably delete it from your address book or mailing list.

You might see a 550 message saying our IP address is blocked by the recipient. This says the server exists, but unfortunately that's all we can tell you. A site that always issues queries but never sends mail looks suspicious to some servers. Such are the risks of a public tool. Your own mail account may still be able to send mail to it.

A deeper look

The tool uses the SMTP protocol, as defined in RFC 5321. This RFC incorporates the original SMTP protocol plus extensions. Occasionally you'll hear of SMTP with extensions being called Enhanced or Extended SMTP (ESTMP), but it's all the same STMP.

Interesting stuff

The SMTP protocol, which is the basis of email, is one of the oldest parts of the Internet. RFC 821, which originally defined it, dates from 1982. It stands for "Simple Mail Transfer Protocol," and it really is simple. It's based entirely on ASCII text and has few security features. Even so, it's one of the most heavily used Internet standards.