A method of providing a fast path message transfer agent is provided. The
method includes receiving bytes of a message over a network connection
and determining whether the number of bytes exceeds a predetermined
threshold. If the number of bytes is less than a predetermined threshold,
then the message is written only to memory. However, if the number of
bytes exceeds the predetermined threshold, then some of the bytes (e.g.
up to the predetermined threshold) are written to memory, wherein the
remainder of the bytes are stored onto the non-volatile storage. If the
message was received successfully by each destination, then the message
is removed from the memory/non-volatile storage. If not, all failed
destinations are identified and the message (with associated failed
destinations) is stored on the nonvolatile storage for later sending.