mirror of
https://github.com/stalwartlabs/mail-server.git
synced 2025-01-08 00:37:45 +08:00
170 lines
2.6 KiB
TOML
170 lines
2.6 KiB
TOML
#############################################
|
|
# 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 * *"
|