Skip to content

SystemSettings

Configures core server settings including hostname 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 · default: 8192 · min: 1

The default maximum number of concurrent connections per listener, used by listeners that do not set their own limit

Type: Size? · min: 16777216

The maximum amount of memory used for buffering messages and blobs in transit. When unset, one quarter of the memory available to the server (the container memory limit if one is set, otherwise physical memory)

Type: Set<IpMask>

Enable proxy protocol for connections from these networks

Type: List<MailExchanger> · default: {"0":{"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.

Type: Boolean · default: false

Include passwords, keys and other secret values in management API responses instead of hiding them. Enable it only to export the configuration and data for a migration, and disable it again afterwards

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/jmap/ \
-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/jmap/ \
-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