MtaExtensions
Configures SMTP protocol extensions offered to clients.
This object can be configured from the WebUI under Settings › MTA › Session › Extensions
Fields
chunking
Type:
Expression· default:{"else":"true"}Enables chunking (RFC 1830), an extension that allows large messages to be transferred in chunks which may reduce the load on the network and server.
Available variables:
MtaMailFromVariable.
deliverBy
Type:
Expression· default:{"else":"false","match":[{"if":"!is_empty(authenticated_as)","then":"15d"}]}Specifies the maximum delivery time for a message using the DELIVERBY (RFC 2852) extension, which allows the sender to request a specific delivery time for a message
Available variables:
MtaMailFromVariable.
dsn
Type:
Expression· default:{"else":"false","match":[{"if":"!is_empty(authenticated_as)","then":"true"}]}Enables delivery status notifications (RFC 3461), which allows the sender to request a delivery status notification (DSN) from the recipient's mail server
Available variables:
MtaMailFromVariable.
expn
Type:
Expression· default:{"else":"false","match":[{"if":"!is_empty(authenticated_as)","then":"true"}]}Specifies whether to enable the EXPN command, which allows the sender to request the membership of a mailing list. It is recommended to disable this command to prevent spammers from harvesting email addresses
Available variables:
MtaMailFromVariable.
futureRelease
Type:
Expression· default:{"else":"false","match":[{"if":"!is_empty(authenticated_as)","then":"7d"}]}Specifies the maximum time that a message can be held for delivery using the FUTURERELEASE (RFC 4865) extension
Available variables:
MtaMailFromVariable.
mtPriority
Type:
Expression· default:{"else":"false","match":[{"if":"!is_empty(authenticated_as)","then":"mixer"}]}Specifies the priority assignment policy to advertise on the MT-PRIORITY (RFC 6710) extension, which allows the sender to specify a priority for a message. Available policies are mixer, stanag4406 and nsep, or false to disable this extension
Available variables:
MtaMailFromVariable.Available constants:
MtaPriorityConstant.
noSoliciting
Type:
Expression· default:{"else":"''"}Specifies the text to include in the NOSOLICITING (RFC 3865) message, which indicates that the server does not accept unsolicited commercial email (UCE or spam)
Available variables:
MtaMailFromVariable.
pipelining
Type:
Expression· default:{"else":"true"}Enables SMTP pipelining (RFC 2920), which enables multiple commands to be sent in a single request to speed up communication between the client and server
Available variables:
MtaMailFromVariable.
requireTls
Type:
Expression· default:{"else":"true"}Enables require TLS (RFC 8689), an extension that allows clients to require TLS encryption for the SMTP session
Available variables:
MtaMailFromVariable.
vrfy
Type:
Expression· default:{"else":"false","match":[{"if":"!is_empty(authenticated_as)","then":"true"}]}Specifies whether to enable the VRFY command, which allows the sender to verify the existence of a mailbox. It is recommended to disable this command to prevent spammers from harvesting email addresses
Available variables:
MtaMailFromVariable.
JMAP API
The MtaExtensions singleton is available via the urn:stalwart:jmap capability.
x:MtaExtensions/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 sysMtaExtensionsGet permission.
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:MtaExtensions/get",
{
"ids": [
"singleton"
]
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'
x:MtaExtensions/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 sysMtaExtensionsUpdate permission.
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:MtaExtensions/set",
{
"update": {
"singleton": {
"chunking": {
"else": "true"
}
}
}
},
"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 mta-extensions
Update
stalwart-cli update mta-extensions --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:
MtaMailFromVariable(Variables)MtaPriorityConstant(Constants)