Microsoft Exchange Server 2003 - NDR (Non-Delivery Report)
Introduction to Exchange Server 2003 - NDR (Non-Delivery Report)
Let us suppose that Outlook sends an email to an Exchange server, but that server realizes that it cannot deliver
the message, what happens next? The answer is the server sends a NDR (Non-Delivery Report) back to the sender.
At first, it comes as a surprise when you realize there is more than one type of
NDR. Then you discover that NDRs have status codes. Moreover, each status code gives you valuable information about the cause of the email problem.
Topics for Exchange Server 2003 NDR (Non-Delivery report)
As you examine a NDR message, look out for a three-digit code, for example, 5.2.1. If the first number begins with 5.y.z, then it means you are dealing with a permanent error; this message will never be delivered. Occasionally, you get NDRs beginning with
4.y.z, in which case there is hope that email will eventually get through. The place to look for the NDR status code is on the very last line
of the report.
NDR codes like 5.5.0 or 4.3.1 may remind you of SMTP errors 550 and 431. Indeed, the 500 series in SMTP has a similar meaning to the 5.y.z codes in an NDR - failure. I expect that you have
worked out why there are no 2.y.z NDRs? The reason is that the 2.y.z series mean success, whereas Non-Delivery Reports, by definition, are failures.
NDR Classification As you are beginning to appreciate, these status codes are not random. The first number 4.y.z, or 5.y.z refers to the class of code, for example, 5.y.z is permanent error. Incidentally, I have not seen any status codes beginning
with 1.y.z, 3.y.z, or indeed any numbers greater than 5.7.z.
The second number x.1.z means subject. This second digit, 1 in the previous example, gives generic information where as the third digit (z) gives detail. Unfortunately, I have not cracked the
complete code for the second digit. However, I have discovered a few useful patterns, for instance, 5.1.x indicates a problem with the email address, as apposed to server or connector problem.
In addition, 5.2.x means that the email is too
big, somewhere there is a message limit.
Here is a
free tool to monitor your Exchange Server. Download and
install the utility, then inspect your mail queues, monitor the Exchange
server's memory, confirm there is enough disk space and check the CPU
This is the real deal - there is no catch. SolarWinds provides this
fully-functioning freebie, as part of their commitment to supporting
the network management community.
Here is an example of an email sent to user who does not exist. There is no guyx mailbox on the paris server. At the bottom of the NDR, you can see the name of the domain (exchguy.com), the
and the NDR status code (5.1.1). In your examples always seek out the servername in the last line of your NDR.
Your message did not reach some or all of the intended recipients.
Subject: Cisco Kid Sent: 12/15/2004 11:09 PM
The following recipient(s) could not be reached:
firstname.lastname@example.org on 12/15/2004
11:09 PM The e-mail account does not exist at the organization this message was sent to. Check the e-mail address, or contact the recipient directly to find out the correct address. <paris.exchguy.com
The key to any troubleshooting is to isolate the problem. In the case of an NDR, discover if the fault lies with the sender, the recipient or the Exchange 2003 server. To gather more clues, send
more emails to the same recipient but from different accounts. In addition, send
emails to different accounts from the original sender.
Expand the search area by sending email to different sites, or to internet users. Does this tactic narrow the problem to a particular Server, Mailstore or Routing Group Connector?
If it's just one email address that produces the Non-Delivery report, do you type in the SMTP address manually, or do you click the user account in the GAL?
One ISP will only troubleshoot NDRs if you use Outlook Express, which alerted me to the fact that you get different responses from different email clients. So try a different version of Outlook.
I always mean to do this first when I troubleshoot - look in the Application log for errors. A variation of this tip is to increase the Diagnostic
Logging see here.
You could also gather more clues with Regtrace, which you find on the Exchange 2003 CD in the support\utils\i386 folder. Regtrace gives you detailed information e.g. homeMDB = CN=Mailbox Store (GuyMail-Managers),CN=First Storage
Group,CN=InformationStore,CN=GuyMail-Managers,CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=GuyMail,DC=com
SolarWinds Free Wake-On-LAN Utility
Encouraging computers to sleep when they're not in use is a great idea -
until you are away from your desk and need a file on that remote sleeping machine!
WOL also has business uses for example, rousing machines so that
they can have update patches applied. My real reason for recommending
you download this free tool is because it's so much fun sending those 'Magic
Packets'. Give WOL a try - it's free.
The recipient has exceeded their mailbox limit. It could also be that the delivery directory on the Virtual server has exceeded its limit. (Default 22 MB)
Not enough disk space on the delivery server. Microsoft say this NDR maybe reported as out-of-memory error.
Classic temporary problem, the Administrator has frozen the queue.
Intermittent network connection. The server has not yet responded. Classic temporary problem. If it persists, you will also a 5.4.x status code error.
The server started to deliver the message but then the connection was broken.
Too many hops. Most likely, the message is looping.
Problem with a timeout. Check receiving server connectors.
A DNS problem. Check your smart host setting on the SMTP connector. For example, check correct SMTP format. Also, use square brackets in the IP address [184.108.40.206] You can get this same NDR error if you have been deleting routing groups.
Multi-language situation. Your server does not have the correct language code page installed.
SMTP 500 reply code means an unrecognised command. You get this NDR when you make a typing mistake when you manually try to send email via telnet. More likely, a routing group error, no routing connector, or no suitable address space in the
connector. (Try adding * in the address space) This status code is a general error message in Exchange 2000. In fact Microsoft introduced a service pack to make sure now get a
more specific code.
Guy Recommends : SolarWinds'
Free VM Monitor
The best feature of this new this new version of SolarWinds VM Monitor is that it
checks Windows Hyper-V. Naturally, it still works with virtual machines on VMware ESX Servers. VM Monitor is a
desktop tool that not only tests that your server is online, but also
displays the CPU and memory utilization for each node.
It's easy to install and to configure this virtual machine monitor, all
you need the host server's IP address or hostname and the logon info. Give
this virtual machine monitor a try - it's free.
Often seen with contacts. Check the recipient address.
Another problem with the recipient address. Possibly the user was moved to another server in Active Directory. Maybe an Outlook client replied to a message while offline.
SMTP; 550 Host unknown. An error is triggered when the host name can't be found. For example, when trying to send an email to bob@ nonexistantdomain.com. [Example
kindly sent in by Paul T.]
Another problem with contacts. Address field maybe empty. Check the address information.
Two objects have the same address, which confuses the categorizer.
Destination mailbox address invalid.
Problem with homeMDB or msExchHomeServerName - check how many users are affected. Sometimes running RUS (Recipient Update Service) cures this problem. Mailbox may have moved.
Problem with senders mail attribute, check properties sheet in ADUC.
NDR caused by a problem with the large size of the email.
The message is too large. Else it could be a permissions problem. Check the recipient's mailbox.
Sadly, the recipient has exceeded their mailbox limit.
Recipient cannot receive messages this big. Server or connector limit exceeded.
Most likely, a distribution list or group is trying to send an email. Check where the expansion server is situated.
Problem with MTA, maybe someone has been editing the registry to disable the MTA / Store driver.
Mail system full. Possibly a Standard edition of Exchange reached the 16 GB limit.
System not accepting network messages. Look outside Exchange for a connectivity problem.
Remote server has insufficient disk space to hold email. Check SMTP log.
Message too big. Check limits, System Policy, connector, virtual server.
Multiple Virtual Servers are using the same IP address and port. See Microsoft TechNet article: 321721 Sharing SMTP. Email probably looping.
DNS Problem. Check the Smart host, or check your DNS. It means that there is no DNS server that can resolve this email address. Could be Virtual Server SMTP address.
No answer from host. Not Exchange's fault check connections.
Routing server failure. No available route.
Cannot find the next hop, check the Routing Group Connector. Perhaps you have Exchange servers in different Routing Groups, but no connector.
Tricky looping problem, a contact has the same email address as an Active Directory user. One user is probably using an Alternate Recipient with the same email address as a contact.
Delivery time-out. Message is taking too long to be delivered.
Microsoft advise, check your recipient policy. SMTP address should be cp.com. NOT server.cp.com.
Underlying SMTP 500 error. Our server tried ehlo, the recipient's server did not understand and returned a 550 or 500 error. Set up SMTP logging.
Possibly the disk holding the operating system is full. Or could be a syntax error if you are executing SMTP from a telnet shell.
More than 5,000 recipients. Check the Global Settings, Message Delivery properties.
Wrong protocol version
More than 250 attachments.
Permissions problem. For some reason the sender is not allowed to email this account. Perhaps an anonymous user is trying to send mail to a distribution list. Check SMTP
Virtual Server Access Tab. Try checking this box: Allow computers which successfully authenticate to relay User may have a manually created email address that does not match a
Distribution list cannot expand and so is unable to deliver its messages.
Check external IP address of ISA server. Make sure it matches the SMTP publishing rule.
Extra security features not supported. Check delivery server settings
Cryptographic failure. Try a plain message with encryption.
Certificate problem, encryption level maybe to high.
Message integrity problem.
Guy Recommends: SolarWinds' Free Bulk Mailbox Import Tool
Import users from a spreadsheet, complete with their mailbox. Just provide a list of the
users with the fields in the
top row, and save as .csv file. Then launch this FREE utility, match
your Exchange fields with AD's
attributes, click and import the users. Optionally, you can
provide the name of the OU where the new mailboxes will be born.
There are also two bonus tools in the free download, and all 3 have been approved by Microsoft:
Bulk-import new users and mailboxes into Active Directory.
It is possible to control whether or not your Exchange 2003 server will send an NDR.
Launch the Exchange System Manager, navigate to Global Settings, Internet Message Format. Select the Advanced tab. (Un)check Allow non-delivery reports.
See more here.
- NDR Reports for Microsoft Exchange Server 2003
There are many reasons why Microsoft Exchange 2003 sends an NDR (Non-Delivery Report). If you examine an NDR carefully you will find a status code number, for example 5.3.1 Two points follow from this
discovery, there are more than one error code and therefore, more than one possible cause. My aim is to
provide reasons why Exchange sends a particular NDR.
Here is a
free tool to monitor your Exchange Server.
Download the utility, then inspect your mail queues, monitor Exchange server's
memory, confirm there is enough disk space and check the CPU utilization.