Email aliases for Stalwart Mail Server, created from your password manager.
stalias provides an Addy.io-compatible API for Stalwart. It was built for Bitwarden's "Forwarded email alias" generator. Other clients can use it if they support a custom Addy.io server URL and the endpoints in the API reference.
Create a separate address for each login and receive its mail in your existing mailbox.
Use the web UI to search, filter, disable or delete aliases. Disabling an alias makes
Stalwart reject incoming mail with 550 Mailbox does not exist.
- Works with Stalwart Community 0.16 or newer, using your existing mail server and ports.
- Stores aliases in Stalwart and runs in a container of about 20 MB with one data volume.
- Alias domains must have no catch-all, so disabled aliases stop receiving mail.
Run stalias next to your Stalwart container:
docker run -d --name stalias \
--network <network-of-your-stalwart-container> \
-p 127.0.0.1:8080:8080 \
-v stalias-data:/data \
ghcr.io/untoastedtoast/stalias:latestYou can also use the Compose example or deploy the image with Coolify or Portainer. For production, use HTTPS and follow the reverse proxy instructions.
Open http://localhost:8080 and get the setup code with docker logs stalias.
The browser wizard explains each of its four steps:
- Choose an admin password with 12 to 128 characters and no spaces. stalias rejects guessable and leaked passwords.
- Connect Stalwart using its URL and an API key with the required permissions.
- Select the domains allowed for aliases.
- Create a mailbox token and copy the Bitwarden settings.
stalias stores the Stalwart API key in plain text in the data volume. The key can change every mailbox, so protect the volume and admin UI. See configuration and deployment for environment variables, image verification and operational limits.
Generator → Username → type Forwarded email alias → service Addy.io, then:
| Field | Value |
|---|---|
| Email domain name | one of the domains you selected |
| API access token | the token from stalias |
| Self-host server URL | the public address of stalias |
Create a token for each mailbox you want to use. Aliases created with that token deliver mail to that mailbox.
Change your password under Settings → Security. If you lose access, reset it in a terminal:
docker exec -it stalias /stalias reset-admin-passwordBoth actions log out all devices. See passwords and recovery for details.
- Configuration and deployment: environment variables, proxy setup and Stalwart requirements.
- API reference: supported Addy.io endpoints and client compatibility.
- Passwords and recovery: login limits, breach checks and local reset.
- Development and contributing: builds, tests and project layout.
staliaswarden by romdim and its Stalwart 0.16 fork by goingdark-social introduced the idea of connecting Bitwarden to Stalwart. stalias uses regular account aliases instead of Enterprise-only masked emails and shares no code with either project.
The web UI uses Basecoat (MIT), htmx (0BSD), Tailwind CSS (MIT), Lucide icons (ISC) and the Geist font (SIL OFL 1.1).
Generated alias names use the English word lists of the petname crate by Gavin Panella (Apache-2.0).