ContentsOverviewEmail is ComplexThe process of sending and receiving email is more complex than most people realize. Consider all the steps involved in a simple email scenario: Alice@alpha.com wants to send a message to Bob@beta.com. Most desktop mail programs -- Outlook, Mail, Netscape, Eudora, Lotus Notes, etc. -- contain both a Mail Submission Agent (MSA) for composing and sending mail and a Mail User Agent (MUA) for downloading and displaying it. Alice composes her message and sends it using her MSA. Alice's MSA hands the message over to the Mail Transfer Agent (MTA) at her ISP. The MTA at alpha.com then tries to pass the message to the MTA at beta.com. The beta.com MTA runs the message through a spam filter and if it passes, drops it into Bob's mailbox. The Mail User Agent on Bob's computer logs into beta.com and retrieves the messages from Bob's mailbox. Many modern MUAs have built in spam filters, so the message may get tested again before Bob actually gets to see it. Notice that the information has so far been moving in one direction only. Alice's MSA knows nothing about what happened to the message after the alpha.com MTA accepted it. The alpha.com MTA doesn't know what happened to the message after the beta.com MTA accepted it. The beta.com MTA doesn't know what became of the message after it was deposited in Bob's mailbox. The POP/IMAP server at beta.com that pulls the message out of the mailbox when Bob's MUA asks for new mail doesn't communicate with the MTA at all. This example assumes that everything works perfectly, but what happens when things go wrong? Every time the message moves from one machine to another or even between programs on the same machine, there is a chance that it will get mangled, lost, or rejected. In most cases rejection will result in a "bounce" message being sent back to Alice, which explains why the delivery is being cancelled. Since spammers tend to use fake return addresses, most spam filters do not send bounce notices when they reject or quarantine messages. To further complicate matters, the bounce messages are themselves email and thus subject to all of the same perils as the original message. (The only real difference in how bounce messages are handled is that no bounce message is created when a bounce message fails -- for obvious reasons). If Alice's message is delivered safely, she will never hear anything back. If the message fails, she might find out about it. If Alice were to use ePriority she could verify her message's delivery with much greater confidence. How We've Made It Simple for YouePriority's Mail Submission Agent (MSA) and tracking features capture information on your message's progress and present it in easy to read reports. The tracking features can continue to gather data even after a message has been delivered. If a message cannot be delivered on the first attempt, the MSA will set it aside and try it again later. Our MSA and tracking programs record significant events in the lifetime of every message in logs. Each log record identifies an event by its numeric code and the message it happened to by both message ID and destination address. You can download these raw logs to your own system or view the data in reports displayed on our Web site. When a message is accepted for final delivery by a remote Mail Transfer Agent (MTA), our MSA will record an "unconfirmed delivery" event for the message. A bounce message can turn an unconfirmed delivery into a confirmed failure. ePriority tracking features can be enabled to confirm deliveries. Tracking information embedded in the messages can be relayed back to ePriority when the recipients receive them, read them, or interact with them in other ways. Delivery OptionsePriority provides complete control of the email process, including the delivery schedule and what tracking to be performed during and after delivery. Delivery ScheduleThe email delivery period begins on the start date and ends on the delivery stop date. If the delivery period ends for a message before it runs out of allowed delivery attempts, it will be cancelled with a 5405 event code. The tracking stop date indicates the end of tracking event data collection for an email or batch. Delivery blackouts can also affect a message's chances for successful delivery. A blackout, when applied to a message, prevents it from being delivered during a given time period. RetryMost messages are delivered on the first attempt. Those that are not successfully delivered are set aside and tried again later. You can control the retry schedule by setting a maximum number of attempts for messages during the delivery period. The time for the next attempt is determined by the number of allowed attempts remaining and the amount of time remaining until the message has to be cancelled. Retries will be made less frequently as time goes on. Most service interruptions on the Internet are brief, and this dynamic delivery schedule decreases the probability that a brief outage will result in a long delay. If the number of allowed attempts runs out before the message is accepted, it will be cancelled with a 5403 event code. Tracking and Confirmation OptionsMost of ePriority's tracking features can be used to verify that a message has arrived at its destination. Here is a quick rundown of the tracking features and the information they provide.
Recommended Settings
How to Make Decisions Regarding OutcomesConfirmation events conclusively report the ultimate fate of a message. We pointed out earlier that when a message is accepted by an MTA we assume that it has been or will be delivered successfully. A returned receipt or view tracking event confirms that it was delivered successfully; a bounce message confirms that it was not.
Delivery events are recorded in the TRAC logs ( Final OutcomesThere are three possible delivery outcomes for each message: Success, Failure, and Unconfirmed. This last state is not final in the sense that nothing more could happen; it is final in the sense that you have decided not to wait any longer for confirmation events that are not likely to happen. The state of a message can be determined by examining the most recent event recorded for it in the TRAC log. A confirmed success (6xxx,9xxx) is a message that we can logically prove has reached its intended recipient. Tracking events detected by the tracking features are unlikely to be caused by anything but human interaction with the message.
A confirmed failure (54xx) is a message that we know did not reach
its intended destination. The message may have been cancelled in-system
by ePriority or bounced by the recipient's systems.
Failed messages are listed in An unconfirmed success (5301) is a message that we can be reasonably certain reached its destination, but we can't prove that it did. Every message accepted by a recipient MTA is initially marked as an unconfirmed success. If the MTA decides that it cannot deliver the message, the message status will change to confirmed failure. If tracking events from the message are detected, the message status will change to confirmed success. When to Make DecisionsEventually a decision must be made about the unconfirmed messages: should you consider them delivered or not? When should you make that decision? When the stop-delivery date has been reached for a batch, any messages that remain undelivered will be cancelled. After this, only confirmation events will occur for the messages. When the stop-tracking date has been reached for the batch, the data collection programs associated with the tracking features will stop actively looking for tracking events to record. In most cases it is safe to assume that the unconfirmed messages were indeed received. None of the tracking features are infallible and almost all of them require action on the part of the recipient. The message may simply be sitting unread and unopened in his or her inbox. The recipient's MUA may block or simply not send our tracking event notices. The recipient may be reading his or her mail offline. Auditing Delivery FailuresA certain percentage of messages are always going to fail. People change their email addresses or let their mailboxes accumulate junk. ISPs have service outages (both planned and otherwise). ePriority provides a variety of ways to get mailing results, some automated and some manual. Automated methods include FTP downloads and HTTP custom reports. In most cases, these will be your main source of information. Manual investigation should be reserved for those rare occassions when something truly unusual happens. Most delivery problems are either transient (they go away quickly on their own) or have obvious causes ("destination.con" should have been "destination.com"). Some situations in which an audit might be advisable are listed below.
Audit ResourcesMost of the data concerning a message and its batch is available through a Web report. The Web reports are viewable on demand and automatically updated several times an hour. Important Web reports include:
In cases where delivery failures result in bounce messages, those messages can be preserved in a mailbox for you to download or forwarded to another mailbox. The raw text files from which the Web reports are compiled are also available for download. These files all reside in the batch archive directory and may be picked up through either FTP or HTTP:
Audit ProceduresThe exact procedure that you follow in auditing failed messages will vary according to the information you have and the information you need. The first step is determining the general cause of failure by looking at the highest event code logged:
Requesting an Audit from ePriorityIf you cannot reach a satisfactory conclusion using the data available, call ePriority support. We may be able to provide more information. |