Skip to content
Platform
▾
Platform
Mail Server
Collaboration
MTA
Anti-spam
Architecture
Integrations
Solutions
Managed e-mail
Migration
Editions
▾
Editions
Enterprise
Community
Compare
Pricing
Evaluate
Documentation
▾
Install
Linux / macOS
Windows
Docker
Overview
Get started
Configuration
Management
Development
FAQ
Settings
Server
Storage
Access Control
Encryption
MTA
Email Store
Collaboration
Spam & Phishing
Sieve
Clustering
Telemetry
Support
▾
Support
Overview
Support Portal
Company
▾
Company
About
Blog
Contact
Legal
Search
Ctrl
K
Cancel
Stalwart
Platform
Mail Server
Collaboration
MTA
Anti-spam
Architecture
Integrations
Editions
Enterprise
Community
Compare
Pricing
Evaluate
Solutions
Managed e-mail
Migration
Documentation
Get started
Configuration
Management
Development
FAQ
Linux / macOS
Windows
Docker
Company
About
Blog
Contact
Legal
[email protected]
GitHub
Twitter
Mastodon
Discord
Reddit
Matrix
Stalwart Blog
Getting started
Welcome to Stalwart
Installation
Linux / MacOS
Windows
Docker
System Requirements
Choosing a database
Choosing a directory
Setting up DNS
Securing your server
Performance tuning
Upgrading
Configuration
Overview
Bootstrap mode
Recovery mode
Environment variables
Declarative deployments
Expressions
Overview
Operators
Functions
Values
Variables
Server settings
General
Listeners
TLS
Overview
Certificates
ACME
Overview
Challenge Types
Configuration
Reverse Proxy
Overview
Proxy Protocol
Traefik
Caddy
HAProxy
NGINX
Auto-banning
DNS
Overview
DNS Providers
DNS Resolver
Autoconfig
ASN and GeoIP
AI Models
Caching
Enterprise License
Storage settings
Overview
Data store
Blob store
Search store
In-memory store
Backends
Overview
RocksDB
FoundationDB
PostgreSQL
MySQL / MariaDB
SQLite
S3-compatible
Filesystem
ElasticSearch
Meilisearch
Redis
Azure Blob Storage
Composite
Overview
Sharded In-Memory Store
Sharded Blob Store
SQL Read Replicas
Lookup lists
Overview
Local
Remote
Access Control
Overview
Principals
Overview
Individual
Group
Authentication
Overview
Passwords
Two-Factor Authentication
App Passwords
API Keys
Authorization
Overview
Permissions
Roles
Administrators
Tenants
Quotas
OAuth
Overview
Authorization Flows
Tokens
Dynamic Registration
Interoperability
Endpoints
OAuth Clients
OpenID Connect
Overview
ID Tokens
OIDC Provider
Endpoints
Directories
Overview
Internal
SQL Database
LDAP Server
OpenID Connect
Domains
Overview
DNS records
TLS certificates
DKIM key rotation
HTTP settings
Overview
Settings
JMAP
Overview
Protocol
WebSockets
Push notifications
WebDAV
Overview
Protocol
Access Control
Security
Rate limiting
Form Handling
Email settings
Overview
Settings
JMAP for Mail
IMAP and POP3
Rate limiting
Maintenance
Management
Mailing lists
Masked email
MTA settings
Overview
Inbound
Overview
Connect stage
EHLO stage
MAIL stage
RCPT stage
DATA stage
AUTH stage
Outbound
Overview
Strategies
Queues
Scheduling
Routing
Connection
TLS
Rate limits
Quotas
Filtering
Overview
Spam filter
Sieve scripting
Milter filters
MTA Hooks
Rewriting
Overview
Envelope
Headers
Body & Attachments
Sender Authentication
DKIM
Overview
Signing
Verifying
SPF
ARC
DMARC
Reverse IP
Transport Security
Overview
DANE
MTA-STS
Reports
Overview
Delivery Notifications
DKIM
SPF
DMARC
TLS
Analysis
Management
Collaboration settings
Overview
WebDAV
Calendar
Scheduling
Notifications
Contacts
File Storage
Sharing
Encryption settings
Overview
Management
S/MIME
OpenPGP
Spam & Phishing filter
Overview
Settings
Overview
Scores
MIME types
Domain lists
Linear Classifier
Overview
Training
Hyperparameters
Learning
LLM classifier
Rules
DNS blocklists
DMARC analysis
Phishing protection
Collaborative digests
Trusted senders
Greylisting
Spamtrap
Sieve scripting
Overview
Settings
Overview
Trusted Interpreter
Untrusted Interpreter
Variables
Expressions
LLM Integration
ManageSieve
JMAP for Sieve
Reference
Examples
Clustering & HA
Overview
Deployment
Overview
Sizing
Storage
Topology
Configuration
Overview
Node ID
Coordination mechanism
Load balancing
Roles
Coordination
Overview
Peer-to-Peer
Apache Kafka / Redpanda
NATS
Redis
Orchestration
Overview
Kubernetes
Docker Swarm
Apache Mesos
Telemetry
Overview
Events
Tracing & Logging
Overview
OpenTelemetry
Log file
Console
Journal
Metrics
Overview
OpenTelemetry
Prometheus
Webhooks
Alerts
Live Telemetry
History
Management
Applications
Overview
Updates
Management
Overview
Web-based Administration
Overview
Account Manager
Branding
Tasks
Actions
Command Line Interface
Overview
Exploring the schema
Fetching a single object
Searching and listing
Creating objects
Updating objects
Removing objects
Declarative bulk operations
Exporting server state
Maintenance
Database Console
Database Migration
Troubleshooting
Development
Database Internals
Compiling Stalwart
Testing Stalwart
RFCs
URN Namespace
API Endpoints
Ref
Schema reference
Events
Metrics
Permissions
Enum
Key
Locale
TimeZone
Expression
Constant
MtaAggregateConstant
MtaAuthTypeConstant
MtaIpStrategyConstant
MtaPriorityConstant
MtaRequireConstant
MtaVerifyConstant
Variable
HttpVariable
MtaConnectionVariable
MtaEhloVariable
MtaMailFromVariable
MtaQueueHostVariable
MtaQueueRcptVariable
MtaQueueSenderVariable
MtaRcptDomainVariable
MtaRcptToVariable
MtaRcptVariable
SpamDefaultVariable
SpamEmailVariable
SpamGenericVariable
SpamHeaderVariable
SpamIpVariable
SpamUrlVariable
Object
Account
AccountPassword
AccountSettings
AcmeProvider
Action
AddressBook
AiModel
Alert
AllowedIp
ApiKey
Application
AppPassword
ArchivedItem
ArfExternalReport
Asn
Authentication
BlobStore
BlockedIp
Bootstrap
Cache
Calendar
CalendarAlarm
CalendarScheduling
Certificate
ClusterNode
ClusterRole
Coordinator
DataRetention
DataStore
Directory
DkimReportSettings
DkimSignature
DmarcExternalReport
DmarcInternalReport
DmarcReportSettings
DnsResolver
DnsServer
Domain
DsnReportSettings
Email
Enterprise
EventTracingLevel
FileStorage
Http
HttpForm
HttpLookup
Imap
InMemoryStore
Jmap
Log
MailingList
MaskedEmail
MemoryLookupKey
MemoryLookupKeyValue
Metric
Metrics
MetricsStore
MtaConnectionStrategy
MtaDeliverySchedule
MtaExtensions
MtaHook
MtaInboundSession
MtaInboundThrottle
MtaMilter
MtaOutboundStrategy
MtaOutboundThrottle
MtaQueueQuota
MtaRoute
MtaStageAuth
MtaStageConnect
MtaStageData
MtaStageEhlo
MtaStageMail
MtaStageRcpt
MtaSts
MtaTlsStrategy
MtaVirtualQueue
NetworkListener
OAuthClient
OidcProvider
PublicKey
QueuedMessage
ReportSettings
Role
Search
SearchStore
Security
SenderAuth
Sharing
SieveSystemInterpreter
SieveSystemScript
SieveUserInterpreter
SieveUserScript
SpamClassifier
SpamDnsblServer
SpamDnsblSettings
SpamFileExtension
SpamLlm
SpamPyzor
SpamRule
SpamSettings
SpamTag
SpamTrainingSample
SpfReportSettings
StoreLookup
SystemSettings
Task
TaskManager
Tenant
TlsExternalReport
TlsInternalReport
TlsReportSettings
Trace
Tracer
TracingStore
WebDav
WebHook
FAQ
v0.15 (archived)
Getting started
Welcome to Stalwart
System Requirements
Choosing a database
Installation
Linux / MacOS
Windows
Docker
Choosing a directory
Setting up DNS
Securing your server
Performance tuning
Upgrading
Configuration
Overview
Macros
Values
String
Integer
Boolean
IP Address
Size
Duration
Rate
Array
Cron
Expressions
Overview
Operators
Functions
Values
Variables
Server settings
General
Listeners
TLS
Overview
Certificates
ACME
Overview
Challenge Types
Configuration
Reverse Proxy
Overview
Proxy Protocol
Traefik
Caddy
HAProxy
NGINX
Auto-banning
Autoconfig
ASN & GeoIP
AI Models
Caching
Enterprise License
Storage settings
Overview
Data store
Blob store
Search store
In-memory store
Backends
Overview
RocksDB
FoundationDB
PostgreSQL
MySQL / MariaDB
SQLite
S3-compatible
Filesystem
ElasticSearch
Meilisearch
Redis
Azure Blob Storage
Composite
Overview
Sharded In-Memory Store
Sharded Blob Store
SQL Read Replicas
Lookup lists
Overview
Local
Remote
Access Control
Overview
Principals
Overview
Individual
Group
Mailing List
Domain
API Key
OAuth Client
Authentication
Overview
Passwords
Two-Factor Authentication
App Passwords
Authorization
Overview
Permissions
Roles
Administrators
Tenants
Quotas
OAuth
Overview
Authorization Flows
Tokens
Dynamic Registration
Interoperability
Endpoints
OpenID Connect
Overview
ID Tokens
OIDC Provider
Endpoints
Directories
Overview
Internal
SQL Database
LDAP Server
OpenID Connect
In-memory
SMTP and IMAP
HTTP settings
Overview
Settings
JMAP
Overview
Protocol
WebSockets
Push notifications
WebDAV
Overview
Protocol
Access Control
Security
Rate limiting
Form Handling
Email settings
Overview
JMAP for Mail
IMAP and POP3
Rate limiting
Maintenance
MTA settings
Overview
Inbound
Overview
Connect stage
EHLO stage
MAIL stage
RCPT stage
DATA stage
AUTH stage
Outbound
Overview
Strategies
Queues
Scheduling
Routing
Connection
TLS
DNS
Rate Limits
Quotas
Filtering
Overview
Spam filter
Sieve scripting
Milter filters
MTA Hooks
Rewriting
Overview
Envelope
Headers
Body & Attachments
Sender Authentication
DKIM
Overview
Signing
Verifying
SPF
ARC
DMARC
Reverse IP
Transport Security
Overview
DANE
MTA-STS
Reports
Overview
Delivery Notifications
DKIM
SPF
DMARC
TLS
Analysis
Collaboration settings
Overview
WebDAV
Calendar
Scheduling
Notifications
Contacts
File Storage
Sharing
Encryption settings
Overview
Management
S/MIME
OpenPGP
Spam & Phishing filter
Overview
Settings
Overview
Scores
MIME Types
Domain Lists
Linear Classifier
Overview
Training
Hyperparameters
Learning
LLM Classifier
Rules
DNS Blocklists
DMARC Analysis
Phishing Protection
Collaborative Digests
Trusted Senders
Greylisting
Spamtrap
Sieve scripting
Overview
Settings
Overview
Trusted Interpreter
Untrusted Interpreter
Variables
Expressions
LLM Integration
ManageSieve
JMAP for Sieve
Reference
Examples
Clustering & HA
Overview
Deployment
Overview
Sizing
Storage
Topology
Configuration
Overview
Node ID
Coordination Mechanism
Load Balancing
Roles
Coordination
Overview
Peer-to-Peer
Apache Kafka / Redpanda
NATS
Redis
Orchestration
Overview
Kubernetes
Docker Swarm
Apache Mesos
Telemetry
Overview
Events
Tracing & Logging
Overview
OpenTelemetry
Log file
Console
Journal
Metrics
Overview
OpenTelemetry
Prometheus
Webhooks
Alerts
Live Telemetry
History
Management
Overview
Web-based Administration
Overview
Updates
Self-service
Branding
Command-line Interface
Overview
Queue
Messages
Reports
Import
From Maildir or mbox
From JMAP
Export
Database
Backup
Migrate
Maintenance
Configuration
Database Console
Database Migration
Troubleshooting
API Reference
Management API
Overview
Endpoints
Webhooks
MTA Hooks
Overview
Request
Response
Development
Database Internals
Compiling Stalwart
Testing Stalwart
RFCs
URN Namespace
FAQ
GitHub
RSS
Stalwart Blog
Select theme
Dark
Light
Auto
Maintenance
Database
Migration