SystemSettings
SystemSettings
Section titled “SystemSettings”Configures core server settings including hostname, thread pool, and network services.
This object can be configured from the WebUI under Settings › Network › Services Settings › Network › General
Fields
Section titled “Fields”defaultHostname
Section titled “defaultHostname”Type:
HostName· requiredThe default hostname to use in SMTP greetings, MTA reports and other places where a hostname is needed but not specified.
defaultDomainId
Section titled “defaultDomainId”Type:
Id<Domain>· requiredDefault domain to use for authentication and reports.
defaultCertificateId
Section titled “defaultCertificateId”Type:
Id<Certificate>?Default TLS certificate to use when no SNI is provided by the client
threadPoolSize
Section titled “threadPoolSize”Type:
UnsignedInt?· min: 1The number of threads in the global thread pool for CPU intensive tasks. Defaults to the number of CPU cores
maxConnections
Section titled “maxConnections”Type:
UnsignedInt· default:8192· min: 1The maximum number of concurrent connections the server will accept
proxyTrustedNetworks
Section titled “proxyTrustedNetworks”Type:
IpMask[]Enable proxy protocol for connections from these networks
mailExchangers
Section titled “mailExchangers”Type:
MailExchanger[]· default:[{"priority":10}]List of mail exchangers to publish in DNS MX records.
services
Section titled “services”Type:
Map<ServiceProtocol,Service>· default:{"caldav":{"cleartext":false},"carddav":{"cleartext":false},"imap":{"cleartext":false},"jmap":{"cleartext":false},"managesieve":{"cleartext":false},"pop3":{"cleartext":false},"smtp":{"cleartext":false},"webdav":{"cleartext":false}}List of services to advertise in DNS and auto configuration services
providerInfo
Section titled “providerInfo”Type:
Map<ProviderInfo, String>Information about the provider to advertise in auto configuration services.
JMAP API
Section titled “JMAP API”The SystemSettings singleton is available via the urn:stalwart:jmap capability.
x:SystemSettings/get
Section titled “x:SystemSettings/get”This is a standard Foo/get method as defined in RFC 8620, Section 5.1.
For singletons, the ids argument should be the literal singleton (or null to return the single instance).
This method requires the sysSystemSettingsGet permission.
curl -X POST https://mail.example.com/api \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "methodCalls": [ [ "x:SystemSettings/get", { "ids": [ "singleton" ] }, "c1" ] ], "using": [ "urn:ietf:params:jmap:core", "urn:stalwart:jmap" ] }'x:SystemSettings/set
Section titled “x:SystemSettings/set”This is a standard Foo/set method as defined in RFC 8620, Section 5.3.
For singletons, only the update argument with id singleton is accepted; create and destroy arguments are rejected.
This method requires the sysSystemSettingsUpdate permission.
curl -X POST https://mail.example.com/api \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "methodCalls": [ [ "x:SystemSettings/set", { "update": { "singleton": { "defaultHostname": "mail.example.com" } } }, "c1" ] ], "using": [ "urn:ietf:params:jmap:core", "urn:stalwart:jmap" ] }'stalwart-cli wraps the same JMAP calls. See the CLI reference for installation, authentication, and general usage.
stalwart-cli get SystemSettingsUpdate
Section titled “Update”stalwart-cli update SystemSettings --field defaultHostname=mail.example.comNested types
Section titled “Nested types”MailExchanger
Section titled “MailExchanger”Defines a mail exchanger for DNS MX records.
hostname
Section titled “hostname”Type:
HostName?The hostname of the mail exchanger, or null to use the default hostname
priority
Section titled “priority”Type:
UnsignedInt· default:10· min: 1 · max: 65535The priority of the mail exchanger, lower values are preferred. Mail exchangers with the same priority will be selected randomly.
Service
Section titled “Service”Defines a service endpoint advertised in auto-configuration.
hostname
Section titled “hostname”Type:
HostName?The hostname of the service, or null to use the server’s default hostname
cleartext
Section titled “cleartext”Type:
Boolean· default:falseWhether to advertise the service as available without TLS encryption. This does not affect whether the service actually accepts cleartext connections, which is configured separately for each network listener.
ServiceProtocol
Section titled “ServiceProtocol”| Value | Label |
|---|---|
jmap | JMAP |
imap | IMAP |
pop3 | POP3 |
smtp | SMTP submission |
caldav | CalDAV |
carddav | CardDAV |
webdav | WebDAV |
managesieve | ManageSieve |
ProviderInfo
Section titled “ProviderInfo”| Value | Label |
|---|---|
providerName | Provider name |
providerShortName | Short provider name |
userDocumentation | URL with user-facing documentation |
developerDocumentation | URL with developer-facing documentation |
contactUri | Contact information URI |
logoUrl | URL to a logo image for the provider |
logoWidth | Logo width in pixels |
logoHeight | Logo height in pixels |