Mail messages which Mailtraq determines cannot be delivered locally are placed in the Outgoing Mail Queue - sometimes called the 'outbox', displayed in Outgoing Mail in the Console List View for delivery to a remote mail host.
Messages to local users skip this step and are routed direct to the user's mailbox. Mailtraq uses the Domain and Domain Alias settings at Options | Server | Domain-tab to determine which domains are local. Messages that are determined as local but for which there is no user-mailbox will follow the Undelivered mail rule, configured in the Outbox Properties dialog.
Mailtraq evaluates each message as it arrives in the outbound mail queue and applies the mail delivery policy settings configured in the Outbox Properties dialog.
Coping with 'Stuck Messages'
Most messages that appear to be stuck in the Outbox will clear by themselves with no further action on your part. They are there because:
- there was temporarily no route to the destination
- the domain temporarily could not be resolved
- the receiving mail server refused to take delivery
Mailtraq will automatically retry, and keep retrying, to deliver these messages, and eventually will notify the sender that the message has been delayed or refused.
The importance of rDNS
If you are sending messages directly to the Internet (using MX Resolution) it has become essential to have a valid rRNS entry for your domain. Many mail servers now use a valid rDNS entry as a primary check before accepting messages. You can find out about getting a rDNS entry here...
Sending messages to Yahoo, AOL, etc
Some large mail hosts are very strict about complying with their particular terms and will reject or delay messages if you do not.
See KB05103101 Sending mail to large mailhosts
Force a Retry using 'Clear Route Assignments' or 'Clear Host Assignments'
Selecting Clear Host Assignments (Trad Console) or Clear Route Assignment (WiX/MMC Console), from the context menu (right-click menu) of the Outgoing Mail queue-object in the Console List View or from the File Menu, prompts Mailtraq, when the outbound router is next idle, to remove the current outbound routing information from every message in the outbound mail queue and to reapply the message routing policy. This is in effect forcing a retry.
Observing the 'talk-back' in the Event Log allows you to see what happens when each message is retried. This is useful if a dynamic or static route has been added, deleted or reconfigured in the Static Routing Table.
You may re-route a message from 'Outgoing Mail' by right-clicking on the message and selecting 'Route...'
You then have the opportunity to change the Return Path or specify different Recipients. Enter the full local or external email address - e.g. firstname.lastname@example.org
If no changes are made then the existing message Envelope information is used.
Messages are then resubmitted to the internal Router.
Outbound Status Reporting
Also available from the right-click context menu is a report on the Outbound Delivery Status
This lists messages that have recently been processed in the outgoing mail queue.
Messages are visible in the status report from about a minute after they have arrived in the Oubox and have been Routed.
The Outbound Status Report is designed to make it simple to see how messages have been handled and why messages may not have been routed as expected.
The report contains the same information as is held in the main Mailtraq Event Log, but in an easy to read and follow format.
Read about Upgrading your Mailtraq to access this feature here ...
Other Useful information
If you are delivering messages by MX Resolution, it is not unusual to see a 'few' messages queued in the Outbox. This normally means that the destination is temporarily unavailable.
Mailtraq will normally manage mail server failure and other message failures automatically without User intervention. These SMTP 'conversations' are recorded by the Mailtraq Event Log, which you can examine to determine why any particular message is 'stuck'.
If all mail still will not go, look to changes in firewalls or process aware programs such as anti-virus software. Read about the recommended AV-ware here
Mail will not go because the Outbox is full
If your installation is subject to an attack through mis-configuration, or through a virus or Trojan infestation, you can have a situation where there are many thousands of messages in the outbox.
This article KB07091801 Clearing the outbox explains how to empty the outbox if the Console becomes unresponsive.
Understanding the Traditional Console (only) 'Outbox'
-- Envelope without stamp and penciled address
-- Envelope without stamp but penned address
Route selected, waiting for host resolution
(Typically this means the route requires an MX lookup which
hasn't taken place yet)
-- Envelope with stamp and penned address
Destination Host identified, waiting for delivery to start
-- Envelope with stamp and clock
Previous delivery attempt failed, waiting for retry
-- Yellowed envelope with stamp and clock
Delivery failed so far and delivery status notification
(Delayed) issued to sender, waiting for retry
When the route is completely resolved, Mailtraq will have a list of hosts to send the message to. When delivery starts it contacts each host in turn and attempts to send the message. If Mailtraq cannot connect to a host, or the host responds with anything other than a permanent (5xx) error, then Mailtraq will attempt delivery to the next host in line immediately.
If after attempting delivery to all the hosts the message still hasn't been sent, then the message is marked as delayed for the "Retry period" specified in the route.
After the "Notification period" has passed, the icon will become and a delivery delay notification will be sent to the return path.
After the "Retry Until" period has passed, the message will be erased and a delivery failure notification will be sent to the return path.
If the return path is blank, no DSNs are sent.
There are cases where retries can take place more often. For example, if Mailtraq is getting errors from the MX resolution or invalid MX responses it may retry those more often based on either the TTL of the record or a nominal period (few minutes).
You can ask Mailtraq to display the Mailhost it is trying to send messages to. Whilst in 'Outgoing Mail', select 'View' from the top-menu, then 'Configure Columns ...'
Add Mailhost to the columns displayed.
This information is useful when diagnosing problems with mail 'stuck in the outbox': you may find a common mail host is causing the problem.
Mailtraq allows you to fine tune how outgoing messages are handled. This is most often needed when sending messages to large organizations with specific routing requirement, but the principles covered in the following KB article can be applied whenever you need Custom Routing
See KB05103101 Sending mail to large mailhosts