In a normal configuration, send mail sits in the background waiting for new messages. When a new connection arrives, a child process is invoked to handle the connection, while the parent process goes back to listening for new connections.
When a message is received, the send mail child process puts it into the mail queue (usually stored in /var/spool/mqueue). If it is immediately deliverable, it is delivered and removed from the queue. If it is not immediately deliverable, it will be left in the queue and the process will terminate.
Messages left in the queue will stay there until the next time the queue is processed. The parent send mail will usually fork a child process to attempt to deliver anything left in the queue at regular intervals.
The mail queue consumes disk space until the next time the queue is processed. so this process needs RAM,CPU and Disk space, If you have more of this, your whole process will be finished fast.