Architecture
DBMail is a high performance group of email related scalable services offering industry standard IMAP, LMTP, SIEVED servers where emails and related data is stored in a relational database. This architectural overview is a work in progress and attempts to show how DBMail is organised, how it's managed and what standards it follows.
The main aspects are receipt of emails on behalf of a user (LMTP), filtering to process incoming emails (SIEVE scripts), plus retrieval and management of those messages (IMAP).
DBMail offers scalability and resilience thanks to Postgres, MySQL and Oracle databases.
Email Clients and DBMail
Email clients (Mail User Agent/MUA) such as Mozilla Thunderbird, Roundcube or K-9 Mail do an amazing job of hiding the complexities of managing our emails.
Find out about how clients interact with an IMAP server
Users
Users are the core of DBMail, every user is associated with one or more email addresses, has one or more folders and all emails are organised into those folders.
Users are authenticated before they can access any emails, either with a username and password stored in the sql database, or in an LDAP directory service.
Users have access to their own emails and can be given permission to access other accounts, or access to public folders.
Find out more about users in dbmail
Emails
Designed for efficiency, DBMail de-constructs emails for efficient storage and retrieval, then reconstructs them, or parts of them when required. By extracting and caching frequently used aspects of an email enables IMAP, the most popular method to access emails, to be incredibly fast.
Find out more about how dbmail stores emails
Find out more about how dbmail caches emails for speed and efficiency
Email filtering
Sieve scripts can be used to filter and automatically process incoming emails.
Find out more about how DBMail manages Sieve filtering
Admin
Various admin functions from upgrading the database schema to logging user authentication.