Suppose Exim had 2 queues instead of one. We'll call the first queue the primary queue which is a ram drive and the secondary queue which is a disk drive. All this is of course optional and user settable.
Messages come into and are processed by the primary queue. The outgoing process picks up messages in the primary queue for delivery and makes an attempt. If the delivery is successful then the message is removed from the queue and is never written to disk. However if the message fails its first delivery attempt then the message is put into the secondary queue for normal retry processing. I know this isn't going to be simple but it might not be to complex. Exim would have to be expanded to run multiple queues rather than just one. Then you would have to add some logic to move messages between the queues should the first attempt fail. OR - send the message to a secondary "retry" server with a disk based queue for retry processing. You might also have some overflow logic should the ram drive fill up that it switches to disk based queueing or stops taking new connections on queue full. I'm thinking these kinds of changes might not take too much restructuring to accomplish. -- ## List details at http://lists.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/
