[Top] [All Lists]

Re: Recipient is offline

2011-09-05 13:00:31

Tony Finch wrote:

The latter, I think, depending on what you mean by "online hold".

"Connection Sharing/Caching" (CS) or like methods.

When a message arrives, Exim normally tries to deliver it immediately.

In my experience, its been typical of most mailer, if not all, to begin delivery of email (netmail) immediately with options to delay of course for some.

If that
succeeds it looks at the "waiting" hints database to see if there are any
messages queued for the same host, and delivers them immediately. There
is no in-memory state for these queued messages. Exim doesn't keep SMTP
connections idle, and normally runs the queue in a random order.

IMTO, this is the better approach than the connect, hold approach.

Yes. Exim has an option to serialize deliveries to certain hosts, in which
case there is another hints database recording currently active
connections. When Exim is about to connect to a host it checks this
database and skips the host if there is a record for it. If there aren't
any other destination hosts the message will be queued and should soon be
picked up by the waiting mechanism. (This is more likely if the target is
relatively slow, which is what the feature was designed for.) We use this
to avoid load spikes caused by large mailing list deliveries to our
message store servers, but not for general purpose deliveries.

I see.

What I was expressing to Klensin in my generalization of how SMTP reduced the complexity for queuing, I should of noted that this was highly dependent on leverage multi-threaded technology to maximize throughput. More powerful hardware and OS allowed the efficiency of 1-M and N-M queuing strategies be more feasible and realistic. I suggest that many of the long time mailers uses strategies that was appropriate for the era.

Mail Queuing is really no different than everyday queuing concept we see, have used and probably still use today. A Super Market/Grocery Store checkout lines, a Bank, an airline, etc. The queues they they employ is not by accident. Overall, as an checkout line becomes empty, people on other close lines begin to move to it. Even with a dedicated queue, such as a "Less than 10 items" queue, if another queue is/near empty, people move to it. When people were forced to stay in a queue, the efficiency and throughput is shot. If a queue become too large, then a new checkout line is opened (we hope <g>). Same applies to mail when all service workers/queues are available to all messages to maximize their throughput. The N-M queue model is only efficient as it approaches the 1-M model.

If we strictly dealing with the question of how to handle part time SMTP receiver failure, then the ultimate conclusion is as Crocker eluded to, is defining the final exit strategy, Today, with SMTP, we only have one final exit strategy:

      BOUNCE when all attempts is exhausted

I guess at the implementation level, that may also includes


SMTP encourages a 2nd MX on a different MX host network. If that is available, then the odds are good that there will never be a build up.

Old schooler mailer like Fidonet, it had a mandatory 1 hour period (ZMH) where receivers must be available for routing, and among its scheduler rules, it had ideas like:

   00-23 Route Mail directly to target host
   05-06 Route Mail via Your Network host (ZMH)

It seems that there might be a need to not bounce or block if the part time receiver is known with specific settings set for it.


Hector Santos

<Prev in Thread] Current Thread [Next in Thread>