Files
sharedinbox/stalwart-dev/config.toml
T

73 lines
1.6 KiB
TOML

# Minimal Stalwart Mail configuration for local development and integration tests.
#
# Do not start directly — use stalwart-dev/start, which substitutes $STALWART_PORT
# and writes a per-clone config into /tmp/stalwart-dev-PORT/ before starting.
#
# Check: curl http://localhost:$STALWART_PORT/.well-known/jmap
#
# HTTP only — localhost testing, no TLS.
# Two test accounts (alice, bob) for multi-account sync tests.
[server]
hostname = "localhost"
[[server.listener]]
id = "jmap"
bind = ["127.0.0.1:8080"]
protocol = "http"
[[server.listener]]
id = "imap"
bind = ["127.0.0.1:1430"]
protocol = "imap"
[[server.listener]]
id = "smtp"
bind = ["127.0.0.1:1025"]
protocol = "smtp"
[store."db"]
type = "sqlite"
path = "/tmp/stalwart-dev/data.sqlite"
[storage]
data = "db"
fts = "db"
blob = "db"
lookup = "db"
directory = "memory"
[tracer."stdout"]
type = "stdout"
level = "warn"
ansi = false
enable = true
[directory."memory"]
type = "memory"
[[directory."memory".principals]]
class = "individual"
name = "alice@localhost"
secret = "secret"
email = ["alice@localhost"]
[[directory."memory".principals]]
class = "individual"
name = "bob@localhost"
secret = "secret"
email = ["bob@localhost"]
[authentication.fallback-admin]
user = "admin"
secret = "admin"
# Allow LOGIN/PLAIN on the clear-text dev ports (no TLS in local test env).
# By default Stalwart only advertises PLAIN/LOGIN when is_tls — override that.
[imap.auth]
allow-plain-text = true
[session.auth]
mechanisms = "[plain, login, oauthbearer, xoauth2]"
allow-plain-text = true