mirror of
https://github.com/stalwartlabs/mail-server.git
synced 2024-11-14 05:15:48 +08:00
235 lines
4.6 KiB
TOML
235 lines
4.6 KiB
TOML
[server]
|
|
hostname = "test.example.org"
|
|
|
|
[server.listener.jmap]
|
|
bind = ["127.0.0.1:9990"]
|
|
url = "https://127.0.0.1:9990"
|
|
protocol = "jmap"
|
|
max-connections = 8192
|
|
|
|
[server.listener.imap]
|
|
bind = ["127.0.0.1:9991"]
|
|
protocol = "imap"
|
|
max-connections = 8192
|
|
|
|
[server.listener.imaptls]
|
|
bind = ["127.0.0.1:9992"]
|
|
protocol = "imap"
|
|
max-connections = 8192
|
|
tls.implicit = true
|
|
|
|
[server.listener.sieve]
|
|
bind = ["127.0.0.1:9993"]
|
|
protocol = "managesieve"
|
|
max-connections = 8192
|
|
tls.implicit = true
|
|
|
|
[server.listener.smtps]
|
|
bind = ['127.0.0.1:9994']
|
|
greeting = 'Test SMTP instance'
|
|
protocol = 'smtp'
|
|
tls.implicit = true
|
|
|
|
[server.listener.smtp]
|
|
bind = ['127.0.0.1:9995']
|
|
greeting = 'Test SMTP instance'
|
|
protocol = 'smtp'
|
|
tls.implicit = false
|
|
|
|
[server.socket]
|
|
reuse-addr = true
|
|
|
|
[server.tls]
|
|
enable = true
|
|
implicit = false
|
|
certificate = "default"
|
|
|
|
[global.tracing]
|
|
method = "stdout"
|
|
level = "info"
|
|
|
|
[session.ehlo]
|
|
reject-non-fqdn = false
|
|
|
|
[session.rcpt]
|
|
relay = [ { if = "authenticated-as", ne = "", then = true },
|
|
{ else = false } ]
|
|
directory = "local"
|
|
|
|
[session.rcpt.errors]
|
|
total = 5
|
|
wait = "1ms"
|
|
|
|
[queue]
|
|
path = "/tmp/stalwart-test"
|
|
hash = 64
|
|
|
|
[report]
|
|
path = "/tmp/stalwart-test"
|
|
hash = 64
|
|
|
|
[resolver]
|
|
type = "system"
|
|
|
|
[queue.outbound]
|
|
next-hop = [ { if = "rcpt-domain", in-list = "local/domains", then = "local" },
|
|
{ else = false } ]
|
|
|
|
[remote."mock-smtp"]
|
|
address = "localhost"
|
|
port = 9999
|
|
protocol = "smtp"
|
|
|
|
[remote."mock-smtp".tls]
|
|
implicit = false
|
|
allow-invalid-certs = true
|
|
|
|
[session.extensions]
|
|
future-release = [ { if = "authenticated-as", ne = "", then = "99999999d"},
|
|
{ else = false } ]
|
|
|
|
[store]
|
|
db.path = "/tmp/stalwart-test/sqlite.db"
|
|
|
|
[store.blob]
|
|
type = "local"
|
|
|
|
[store.blob.local]
|
|
path = "/tmp/stalwart-test"
|
|
|
|
[certificate.default]
|
|
cert = "file://./tests/resources/tls_cert.pem"
|
|
private-key = "file://./tests/resources/tls_privatekey.pem"
|
|
|
|
[jmap]
|
|
directory = "local"
|
|
|
|
[jmap.http]
|
|
headers = ["Access-Control-Allow-Origin: *",
|
|
"Access-Control-Allow-Methods: POST, GET, HEAD, OPTIONS",
|
|
"Access-Control-Allow-Headers: *"]
|
|
|
|
[jmap.protocol]
|
|
set.max-objects = 100000
|
|
|
|
[jmap.protocol.request]
|
|
max-concurrent = 8
|
|
|
|
[jmap.protocol.upload]
|
|
max-size = 5000000
|
|
max-concurrent = 4
|
|
ttl = "1m"
|
|
|
|
[jmap.protocol.upload.quota]
|
|
files = 3
|
|
size = 50000
|
|
|
|
[jmap.rate-limit]
|
|
account = "1000/1m"
|
|
authentication = "100/2s"
|
|
anonymous = "100/1m"
|
|
|
|
[jmap.event-source]
|
|
throttle = "500ms"
|
|
|
|
[jmap.web-sockets]
|
|
throttle = "500ms"
|
|
|
|
[jmap.push]
|
|
throttle = "500ms"
|
|
attempts.interval = "500ms"
|
|
|
|
[directory."local"]
|
|
type = "memory"
|
|
|
|
[directory."local".options]
|
|
catch-all = true
|
|
subaddressing = true
|
|
|
|
[directory."local".lookup]
|
|
domains = ["example.org"]
|
|
|
|
[[directory."local".users]]
|
|
name = "admin"
|
|
description = "Superadmin"
|
|
secret = "secret"
|
|
member-of = ["superusers"]
|
|
|
|
[[directory."local".users]]
|
|
name = "john"
|
|
description = "John Doe"
|
|
secret = "12345"
|
|
#secret = "$argon2id$v=19$m=16,t=2,p=1$Ym1GMmMwd210YXpGWUF2Ng$MKUyI28a4OADfd7r2iHulQ"
|
|
email = ["john@example.org", "jdoe@example.org", "john.doe@example.org"]
|
|
email-list = ["info@example.org"]
|
|
member-of = ["sales"]
|
|
|
|
[[directory."local".users]]
|
|
name = "jane"
|
|
description = "Jane Doe"
|
|
secret = "12345"
|
|
email = "jane@example.org"
|
|
email-list = ["info@example.org"]
|
|
member-of = ["sales", "support"]
|
|
|
|
[[directory."local".users]]
|
|
name = "bill"
|
|
description = "Bill Foobar"
|
|
secret = "12345"
|
|
quota = 500000
|
|
email = "bill@example.org"
|
|
email-list = ["info@example.org"]
|
|
|
|
[[directory."local".groups]]
|
|
name = "sales"
|
|
email = "sales@example.org"
|
|
description = "Sales Team"
|
|
|
|
[[directory."local".groups]]
|
|
name = "support"
|
|
email = "support@example.org"
|
|
description = "Support Team"
|
|
|
|
[oauth]
|
|
key = "parerga_und_paralipomena"
|
|
[oauth.auth]
|
|
max-attempts = 1
|
|
|
|
[oauth.expiry]
|
|
user-code = "1s"
|
|
token = "1s"
|
|
refresh-token = "3s"
|
|
refresh-token-renew = "2s"
|
|
|
|
[imap.auth]
|
|
allow-plain-text = true
|
|
|
|
[imap.rate-limit]
|
|
requests = "90000/1s"
|
|
concurrent = 9000
|
|
|
|
[signature."ed25519"]
|
|
public-key = "-----BEGIN PUBLIC KEY-----
|
|
MCowBQYDK2VwAyEAUA3S0BdVG7LeA1agv7ZtqLkQMn+/AoYx1VPyGmLWEIM=
|
|
-----END PUBLIC KEY-----"
|
|
private-key = "-----BEGIN PRIVATE KEY-----
|
|
MC4CAQAwBQYDK2VwBCIEIPdRszAzLvx4JaSIE4dQdZtN9y2XW+55K+YkCJI6lcn8
|
|
-----END PRIVATE KEY-----"
|
|
domain = "example.org"
|
|
selector = "stalwart_ed"
|
|
headers = ["From", "To", "Date", "Subject", "Message-ID"]
|
|
algorithm = "ed25519-sha256"
|
|
canonicalization = "simple/simple"
|
|
set-body-length = true
|
|
report = true
|
|
|
|
[signature."ed25519-2"]
|
|
public-key = "11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
|
|
private-key = "nWGxne/9WmC6hEr0kuwsxERJxWl7MmkZcDusAxyuf2A="
|
|
domain = "example.org"
|
|
selector = "stalwart_ed2"
|
|
headers = ["From", "To", "Date", "Subject", "Message-ID"]
|
|
algorithm = "ed25519-sha256"
|
|
canonicalization = "simple/simple"
|
|
set-body-length = true
|
|
report = true
|