MtaExtensions
MtaExtensions
Section titled “MtaExtensions”Configures SMTP protocol extensions offered to clients.
This object can be configured from the WebUI under Settings › MTA › Session › Extensions
Fields
Section titled “Fields”chunking
Section titled “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
Section titled “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.
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.
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
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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.
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
Section titled “JMAP API”The MtaExtensions singleton is available via the urn:stalwart:jmap capability.
x:MtaExtensions/get
Section titled “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
Section titled “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" ] }'stalwart-cli wraps the same JMAP calls. See the CLI reference for installation, authentication, and general usage.
stalwart-cli get MtaExtensionsUpdate
Section titled “Update”stalwart-cli update MtaExtensions --field chunking='{"else":"true"}'Nested types
Section titled “Nested types”Expression
Section titled “Expression”A conditional expression with match rules and a default value.
Type:
ExpressionMatch[]List of conditions and their corresponding results
Type:
String· requiredElse condition
ExpressionMatch
Section titled “ExpressionMatch”A single condition-result pair in an expression.
Type:
String· requiredIf condition
Type:
String· requiredThen clause
Expression references
Section titled “Expression references”The following expression contexts are used by fields on this page:
MtaMailFromVariable(Variables)MtaPriorityConstant(Constants)