Imagine you want to make an online payment, and your bank sends you a one-time code via email confirming
your identity. It takes more than ten minutes to receive this code, and you want to know why it took so long.
This page discusses how to determine such delay as well as allow you to analyze any message by inspecting its headers.
Emails, by design, travel through multiple SMTP servers before reaching the final destination. Let's call these
intermediate SMTP servers a "hop". Delays can occur at any hop; therefore, the first step is identifying the hop
that took the longest. Consider the image below as an example:
In the example above, four SMTP servers come into play, and a delay could occur at any stage.
Investigation Steps
The message headers are modified as it passes through each SMTP server. Analyzing these
headers can give essential information about its path and the time it takes at every hop.
Email headers contain a list lines in a name-value pair format. The Received header, is what is important for our purpose, which
contains a timestamp when the message was received at that hop.
Comparing the gap between these timestamps reveals the hop that look the most time.
Actual Analysis
Copy the email headers from any existing email. Ensure you copy these headers from the last hop - meaning the email client such as Outlook or Mozilla Thunderbird.
Click here for
instructions on how to copy these headers in MS Outlook.
Paste the contents of these headers below.
Note: Headers you paste above will be parsed locally in your browser. No information is sent to a remote server.
Interpreting Results
The first Received header you see in the message is typically inserted by the last SMTP server. Therefore,
the results below are displayed in the reversed order. In other words, Hop# 1 will appear towards the bottom of the headers but is displayed on the top below.
Parsing Errors
One or more header lines could not be parsed due to
non-standard syntax used by the SMTP server. Therefore, you will have to visually inspect the Received headers
to determine their date.