Detailed Guide On How To Do Mailbox Pinging

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

data analytics
Foreword

 

This article gets into the technical meat of how to ping email boxes. It's target audience assumes a basic level of computer and networking understanding.

 

The tools described in this article are available in Microsoft Windows. Equivalent tools are available in most other operating systems.

Introduction


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 8 and 8.1.

 

See here.

 

How to Open a Console in Windows

 

See here.

 

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.

Conclusion

 

Pinging email boxes is a fairly straight forward 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).

Related Resources


This artical was taken from:

 https://tools.email-checker.com/Articles/Ping/How_To_Ping_Email_Address/