Qmail/mail systems are fault tolerant by virtue of a queuing mechanism where a message is removed from the queue only when the recipient mail transfer agent (MTA) has acknowledged receipt of the message. With this, the responsibility for the message has been transferred from the sending MTA to the receiving MTA. For messages that remain in the queue, the sending MTA will retry the transmission. After a set period of time, the message will be bounced, i.e. returned as “undeliverable”. If the recipient does not exist (which may be caused by a misconfiguration of e.g. the domain naming service) the message is returned immediately as “recipient unknown”.
ezmlm uses the subscriber address and message number encoded within the sender address to keep track of which message have “bounced” for which recipient. Since messages can bounce for a variety of reasons, ezmlm doesn't remove a subscriber from the list after a single bounce. Rather, it waits about 12 days after the first bounce, then sends a “warning” message to the subscriber. The warning message lists the numbers of the messages missed. The user can retrieve these from the archive. If this warning message bounces as well, ezmlm waits another 12 days, then sends a “probe”. Finally, when this probe message bounces, the subscriber is removed from the subscriber database. This mechanism guarantees that a subscriber won't be removed due to a temporary error, while assuring that all non-existent or permanently failing addresses will be removed eventually.