############################################# # JMAP server configuration ############################################# [server.listener."jmap"] bind = ["0.0.0.0:8080"] url = "https://__HOST__:8080" protocol = "jmap" [store.db] path = "__PATH__/data/index.sqlite3" [store.db.pool] max-connections = 10 #workers = 8 [store.db.cache] size = 1000 [store.blob] type = "__BLOB_STORE__" [store.blob.local] path = "__PATH__/data/blobs" [store.blob.s3] bucket = "stalwart" region = "eu-central-1" access-key = "minioadmin" secret-key = "minioadmin" #endpoint = "" #security-token = "" #profile = "" timeout = "30s" [jmap] directory = "__DIRECTORY__" [jmap.session.cache] ttl = "1h" size = 100 [jmap.protocol.get] max-objects = 500 [jmap.protocol.set] max-objects = 500 [jmap.protocol.request] max-concurrent = 4 max-size = 10000000 max-calls = 16 [jmap.protocol.query] max-results = 5000 [jmap.protocol.upload] max-size = 50000000 max-concurrent = 4 ttl = "1h" [jmap.protocol.upload.quota] files = 1000 size = 50000000 [jmap.protocol.changes] max-results = 5000 [jmap.rate-limit] account = "1000/1m" authentication = "10/1m" anonymous = "100/1m" use-forwarded = false [jmap.rate-limit.cache] size = 1024 [jmap.mailbox] max-depth = 10 max-name-length = 255 [jmap.email] max-attachment-size = 50000000 max-size = 75000000 [jmap.email.parse] max-items = 10 [jmap.principal] allow-lookups = true [jmap.sieve] disable-capabilities = [] notification-uris = ["mailto"] protected-headers = ["Original-Subject", "Original-From", "Received", "Auto-Submitted"] [jmap.sieve.limits] name-length = 512 max-scripts = 256 script-size = 102400 string-length = 4096 variable-name-length = 32 variable-size = 4096 nested-blocks = 15 nested-tests = 15 nested-foreverypart = 3 match-variables = 30 local-variables = 128 header-size = 1024 includes = 3 nested-includes = 3 cpu = 5000 redirects = 1 received-headers = 10 outgoing-messages = 3 [jmap.sieve.vacation] default-subject = "Automated reply" subject-prefix = "Auto: " [jmap.sieve.default-expiry] vacation = "30d" duplicate = "7d" [jmap.event-source] throttle = "1s" [jmap.web-sockets] throttle = "1s" timeout = "10m" heartbeat = "1m" [jmap.push] max-total = 100 throttle = "1ms" [jmap.push.attempts] interval = "1m" max = 3 [jmap.push.retry] interval = "1s" [jmap.push.timeout] request = "10s" verify = "1s" [jmap.fts] default-language = "en" [oauth] key = "__OAUTH_KEY__" [oauth.auth] max-attempts = 3 [oauth.expiry] user-code = "30m" auth-code = "10m" token = "1h" refresh-token = "30d" refresh-token-renew = "4d" [oauth.cache] size = 128 [jmap.purge.schedule] db = "0 3 *" blobs = "30 3 *" sessions = "15 * *"