Userli¶
Userli is a free and open-source web application to (self-) manage email accounts and encrypt their mailboxes. It is developed by systemli.org, a non-profit tech collective that runs it for its own email service, and released under the AGPL v3.
Userli is the user database and self-service portal of a mail server. It does not send or store emails itself. Instead, Dovecot and Postfix ask Userli who is allowed to log in, which addresses exist and where mail has to go.

Who is this documentation for?¶
-
Users
You have (or want) an email account on a server that runs Userli. Learn how to register, sign in, protect your account and manage aliases.
-
Admins and domain admins
You manage the accounts of a mail service or of a single domain. Learn how to manage users, aliases, invite codes, domains and settings.
-
Server operators
You install and operate Userli and connect it to Postfix, Dovecot and other services.
-
Developers
You want to fix a bug, build a feature, translate or improve these docs.
Features¶
For users
- Registration with invite codes – existing users invite new users
- Self-service: change password, create aliases, delete the account
- Custom and random alias addresses
- Two-factor authentication (TOTP) with backup codes
- Recovery token to regain access after losing the password
- Publishing OpenPGP keys via Web Key Directory
- Available in English, German, Spanish, French, Italian, Portuguese, Bokmål and Swiss German
For admins
- Web interface for users, aliases, domains, invite codes, reserved names, settings, API tokens and webhooks
- Multiple domains with domain admins who only see their own domain
- Roles to mark accounts as spam or suspicious, or to protect them from the removal of inactive accounts
- Automatic maintenance: removal of inactive accounts, cleanup of old data, weekly registration report
For operators
- Mailbox encryption with Dovecot MailCrypt – keys are protected with the user's password
- HTTP APIs for Dovecot, Postfix, Roundcube, Keycloak and more, secured with scoped API tokens
- Webhooks to keep other services in sync
- MTA-STS policy hosting
- Prometheus metrics
How it fits together¶
flowchart LR
U[Users and admins<br/>web browser] -->|HTTPS| W[Userli]
D[Dovecot<br/>IMAP / POP3] -->|auth and mailbox lookup<br/>incl. MailCrypt keys| W
P[Postfix<br/>SMTP] -->|domains, mailboxes,<br/>aliases, SASL auth| W
R[Roundcube] -->|alias lookup| W
K[Keycloak] -->|user lookup and<br/>credential check| W
W -->|webhooks| X[Other services<br/>Nextcloud, Matrix, ...]
W --- DB[(MariaDB / MySQL)]
Userli is a Symfony application written in PHP. It stores its data in MariaDB or MySQL and uses a background worker for emails, webhooks and recurring maintenance tasks.
Get involved¶
Userli is free software and contributions are very welcome: code, translations, bug reports and documentation.
- Source code and issues: github.com/systemli/userli
- Good first issues: issue tracker
- Start here: Development
Everyone involved is expected to follow our Code of Conduct.