[Top] [All Lists]

Re: Recipient is offline

2011-09-05 03:27:42

At 17:43 +0100 on 09/03/2011, Tony Finch wrote about Re: Recipient is offline:

On 3 Sep 2011, at 02:54, "Robert A. Rosenberg" <hal9001(_at_)panix(_dot_)com> 

For this to work, there would need to be a list maintained by the delivering MTA that lists which other MTAs it has tried to deliver to which failed due to failure to connect (along with a queue of messages that need to be delivered to that MTA and a time to next attempt to connect). When a new message arrives and it gets delivered (since that connect attempt worked) then the queue of pending messages can then be immediately flushed to the MTA. How many MTAs have this type of support to force flush a pending queue when a message delivery succeeds?

Exim works in roughly this way.

Upon rereading my flow, I noted a possible timing glitch since with my method, the triggering message would end up arriving before those that were in the queue and would released by the successful triggering message delivery. A better method would be to place the message at the end of the queue and read (but not remove) the first (ie: Earliest) message on the queue and attempt to deliver it. If successful then delete that message from the queue and flush the rest to the receiving MTA. A failure to connect would just delete the copy of the message (it is still at the top of the queue) and all will remain until the next scheduled connection attempt (you might want to restart the wait clock since an attempt was just done).

f.anthony.n.finch  <dot(_at_)dotat(_dot_)at>

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