Skip to content

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

Type: HostName · required

The default hostname to use in SMTP greetings, MTA reports and other places where a hostname is needed but not specified.

Type: Id<Domain> · required

Default domain to use for authentication and reports.

Type: Id<Certificate>?

Default TLS certificate to use when no SNI is provided by the client

Type: UnsignedInt? · min: 1

The number of threads in the global thread pool for CPU intensive tasks. Defaults to the number of CPU cores

Type: UnsignedInt · default: 8192 · min: 1

The maximum number of concurrent connections the server will accept

Type: IpMask[]

Enable proxy protocol for connections from these networks

Type: MailExchanger[] · default: [{"priority":10}]

List of mail exchangers to publish in DNS MX records.

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

Type: Map<ProviderInfo, String>

Information about the provider to advertise in auto configuration services.

The SystemSettings singleton is available via the urn:stalwart:jmap capability.

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.

Terminal window
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"
]
}'

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.

Terminal window
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.

Terminal window
stalwart-cli get SystemSettings
Terminal window
stalwart-cli update SystemSettings --field defaultHostname=mail.example.com

Defines a mail exchanger for DNS MX records.

Type: HostName?

The hostname of the mail exchanger, or null to use the default hostname

Type: UnsignedInt · default: 10 · min: 1 · max: 65535

The priority of the mail exchanger, lower values are preferred. Mail exchangers with the same priority will be selected randomly.

Defines a service endpoint advertised in auto-configuration.

Type: HostName?

The hostname of the service, or null to use the server’s default hostname

Type: Boolean · default: false

Whether 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.

ValueLabel
jmapJMAP
imapIMAP
pop3POP3
smtpSMTP submission
caldavCalDAV
carddavCardDAV
webdavWebDAV
managesieveManageSieve
ValueLabel
providerNameProvider name
providerShortNameShort provider name
userDocumentationURL with user-facing documentation
developerDocumentationURL with developer-facing documentation
contactUriContact information URI
logoUrlURL to a logo image for the provider
logoWidthLogo width in pixels
logoHeightLogo height in pixels