Skip to main content


Stalwart IMAP supports the most recent IMAP4rev2 protocol as well as the preceding IMAP4rev1. It also offers numerous IMAP4 extensions and a ManageSieve server which allows users to manipulate their Sieve scripts.


In order to be able to accept IMAP4 connections, a listener has to be created with the protocol attribute set to imap.

For example, to create a listener that accepts plain-text IMAP4 connections on port 143 and another one that accepts implicit TLS connections on port 993:

bind = ["[::]:143"]
protocol = "imap"

bind = ["[::]:993"]
protocol = "imap"
tls.implicit = true

Data backend

Both the Stalwart IMAP server and the Stalwart JMAP server share the same database and blob backend. This means that they use the same storage for metadata, settings, indexes, emails, and other binary data. Please refer to the Database and Blob store section for more information on how to configure the data backend.