mbox has been designed as a mechanism to store the emails that are received by the users. Basically, mboxes were single file per user; so file locking constraints existed. For example, when the user is reading his emails, the mail server could not deliver emails to the user’s mailbox.

To counteract this, maildir was introduced. maildir created the concept of a file per message. This reduced the effects of the locking by creating 3 directories: new, cur and temp. Any email is received is written to the file into the new directory. when the user is accessing the emails, an hardlink of the file is created in the cur directory and removed from the new directory. When the emails are deleted, the hardlink is added into the temp directory and removed from the cur directory.

Some of the performance comparisons between these boxes are shown here.
New email servers are utilizing the concept of a database to enhance the performance of a database system. Exchange server uses a database for the storing the emails. This is an innovative concept as a database can significantly improve the performance of the system. However, PostPath reports that the database requires frequent read and write operations that effect the performance. The article also cites that the complications arising from backup, restore, database-corruption and compaction and, finally, disaster recovery. Another interesting read is the fact that exchange server can be circumvented to use Linux storage solutions to overcome database related issues.