Sending and receiving emails is by default done asynchronously. Both are handled by your email service like postfix, Exim, Sendmail, etc. We will focus on postfix, but you can map this on any email system by simply replacing the line for accessing the mail queue.
As the mail service process them asynchronously, they need to be queued before and maybe during processing for good reasons:
preprocessing like IP blacklists, spam filters, antivirus, filters, etc.