SieveSystemInterpreter
Configures the system-level Sieve script interpreter settings and limits.
This object can be configured from the WebUI under Settings › Sieve › System Interpreter
Fields
defaultFromAddress
Type:
Expression· default:{"else":"'MAILER-DAEMON@' + system('domain')"}Default email address to use for the from field in email notifications sent from a Sieve script
Available variables:
MtaRcptToVariable.
defaultFromName
Type:
Expression· default:{"else":"'Automated Message'"}Default name to use for the from field in email notifications sent from a Sieve script
Available variables:
MtaRcptToVariable.
messageIdHostname
Type:
String?Override the default local hostname to use when generating a Message-Id header
duplicateExpiry
Type:
Duration· default:"7d"Default expiration time for IDs stored by the duplicate extension from trusted scripts
noCapabilityCheck
Type:
Boolean· default:trueIf enabled, language extensions can be used without being explicitly declared using the require statement
defaultReturnPath
Type:
Expression· requiredDefault return path to use in email notifications sent from a Sieve script
Available variables:
MtaRcptToVariable.
dkimSignDomain
Type:
Expression· default:{"else":"system('domain')"}Which domain's DKIM signatures to use when signing the email notifications sent from a Sieve script
Available variables:
MtaRcptToVariable.
maxCpuCycles
Type:
UnsignedInt· default:1048576· min: 1Maximum number CPU cycles a script can use
maxNestedIncludes
Type:
UnsignedInt· default:5· min: 1Maximum number of nested includes
maxOutMessages
Type:
UnsignedInt· default:5Maximum number of outgoing messages
maxReceivedHeaders
Type:
UnsignedInt· default:50· min: 1Maximum number of received headers
maxRedirects
Type:
UnsignedInt· default:3Maximum number of redirects
maxVarSize
Type:
UnsignedInt· default:52428800· min: 1Maximum size of a variable
JMAP API
The SieveSystemInterpreter singleton is available via the urn:stalwart:jmap capability.
x:SieveSystemInterpreter/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 sysSieveSystemInterpreterGet permission.
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:SieveSystemInterpreter/get",
{
"ids": [
"singleton"
]
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'
x:SieveSystemInterpreter/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 sysSieveSystemInterpreterUpdate permission.
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:SieveSystemInterpreter/set",
{
"update": {
"singleton": {
"messageIdHostname": "updated value"
}
}
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'
CLI
stalwart-cli wraps the same JMAP calls. See the CLI reference for installation, authentication, and general usage.
Fetch
stalwart-cli get sieve-system-interpreter
Update
stalwart-cli update sieve-system-interpreter --field description='Updated'
Nested types
Expression
A conditional expression with match rules and a default value.
match
Type:
ExpressionMatch[]List of conditions and their corresponding results
else
Type:
String· requiredElse condition
ExpressionMatch
A single condition-result pair in an expression.
if
Type:
String· requiredIf condition
then
Type:
String· requiredThen clause
Expression references
The following expression contexts are used by fields on this page:
MtaRcptToVariable(Variables)