How To Ping An Email Address

How To Ping An Email Address

Pinging an email box is a way to see if an email address is valid or not. Learn how it's done.

This article gets into the technical meat of how to ping email boxes. Its target audience assumes a basic level of computer and networking understanding, with the steps being as follows:

1. Get the details of the mail server

2. Connect to the mail server

3. "Chat" with the mail server

4. Determine if email address is valid or not.

The tools described in this article are available in Microsoft Windows. Equivalent tools are available in most other operating systems.
For anyone who knows the basics of computer networking, PING is an essential tool for diagnosing connection problems.

Email address box "pinging" works in a similar way to standard network "ping" in that there's a beginning machine (e.g. your desktop or server) and an end machine (e.g. the mail server) but that's where the similarity ends. Pinging email boxes is different from regular network pinging in almost every way other than there are 2 computers having a conversation.

Advantages of Email Box Pinging

  • In many cases, it is possible to work out if an email address is valid or not.

Disadvantages of Pinging an Email Address

  • In some cases, will not be effective at conclusively determining is a mailbox exists or not.
  • Difficult to do from a technical perspective.

High Level Description of The Ping Process

Before we get into a concrete example of how this is done, let's describe at a high level the sequence of steps required. It will be helpful to use an example email address to help step us through the stages. Let's use the email address below:

"not.a.valid.emailaddress.1234qa@gmail.com"

This will be our example address used throughout the rest of this article.

 

Step 1 - Get Details of Mail Server

Get name of the mail server responsible for email address "not.a.valid.emailaddress.1234qa@gmail.com".

Using a service called DNS, we can work out that the mail servers hosting the example email address return the following as a list of servers:

  • 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

For our example, we'll use the first server in the list "gmail-smtp-in.l.google.com"

Step 2 - Connect To The Mail Server

Using a console tool on our desktop or server computer, we can manually "connect" to the mail server "gmail-smtp-in.l.google.com".

Step 3 - Have "Chat" With Mail Server

Once connected to a mail server, there is a set sequence (or protocol) of commands that we can type to converse with a mail server. We'll go into further detail on the exact commands later in this article.

Step 4 - From "Chat", determine if email address is valid or not.

From the recorded sequence of commands and responses in step 3 above, we can easily work out if an email address is valid or not.

Detailed Example Of The Ping Process

Taking our example email address "not.a.valid.emailaddress.1234qa@gmail.com" , let's step through an example using some freely available, desktop tools. The tools I'm using here are available in most editions of Windows.

Tools Required To Replicate This Example

Telnet Client (e.g. Microsoft Telnet Client or equivalent)
Console Application (e.g. Microsoft Command Console or equivalent)

How To Use The Tools

How to Enable Telnet Client In Windows 10.

How to Open a Console in Windows

Low Level Walk Through Of Email Address Ping

Step 1 - Finding The Mail Server


In a console, type:

nslookup
set q=mx
gmail.com


Here is the output from the console window:

C:\>nslookup
Default Server: google-public-dns-a.google.com
Address: 8.8.8.8

> set q=mx
> gmail.com
Server: google-public-dns-a.google.com
Address: 8.8.8.8

Non-authoritative answer:
gmail.com MX preference = 20, mail exchanger = alt2.gmail-smtp-in.l.google.com
gmail.com MX preference = 40, mail exchanger = alt4.gmail-smtp-in.l.google.com
gmail.com MX preference = 30, mail exchanger = alt3.gmail-smtp-in.l.google.com
gmail.com MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com
gmail.com MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google.com
>

For the sakes of our example, we're going to use server gmail-smtp-in.l.google.com.

Step 2 - Connect To The Mail Server

Open another console window. Using the mail server identified above, open a connection as follows:

telnet gmail-smtp-in.l.google.com 25

You should receive a response similar to the following:

220 mx.google.com ESMTP kz3si11217105wjc.38 - gsmtp


Step 3 - Have a "Chat" with Mail Server

We type a sequence of commands into our telnet session (see above) as follows:

  1. HELO here.com
  2. MAIL FROM:<me@here.com>
  3. RCPT TO:<not.a.valid.emailaddress.1234qa@gmail.com>

For more information on the sequence of commands (or "protocol") used to converse with mail servers, see Simple Mail Transfer Protocol .

Here is the full transcript of a console, telnet session with the gmail mail server for our example email address:

220 mx.google.com ESMTP u8si7354684wiv.18 - gsmtp
HELO here.com
250 mx.google.com at your service
MAIL FROM:<me@here.com>
250 2.1.0 OK u8si7354684wiv.18 - gsmtp
RCPT TO:<not.a.valid.emailaddress.1234qa@gmail.com>
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. Learn more at
550 5.1.1 http://support.google.com/mail/bin/answer.py?answer=6596 u8si7354684wi
v.18 - gsmtp
quit
221 2.0.0 closing connection u8si7354684wiv.18 - gsmtp

Connection to host lost.

 

Step 4 - Determine Result

The whole conversation with the mail server gives the result that "not.a.valid.emailaddress.1234qa@gmail.com" is not a valid email address. See lines starting with codes 550-1.1.1.

Learn more about why email verification is essential for your business

Conclusion

Pinging email boxes is a fairly straightforward process once you understand how it's done. However, don't be fooled by the simplicity of the example used in this article. Email address pinging is rarely so easy.

The things that make mailbox pings technically challenging are the policies put in place by remote mail servers to prevent spam. In our example above, I purposely used a Gmail address because Google mail servers have a fairly relaxed policy on connecting to them and having a "chat". Most other mail servers will have policies in place that prevent connection from "untrusted" computers(yes, that means your computer).

One of the most efficient ways to check if an email address is valid is to use email verification software like CORE, which identifies email addresses in your data, checks them, keeps your data in the right order and gives clear results. It gives you all the information you need to make the most of your emails.

Get a free trial today and validate your first 100 email addresses.

sign up for a CORE free trial

 

Related Resources

Rowland

Written by: Rowland

Friday, 23 September 2022
READ TIME: 7 MIN