LibrePortal
Sponsor
Install

SnappyMail

Webmail

SnappyMail is webmail, your email in a browser tab. Install it next to Stalwart and it connects itself, so everyone signs in with their own email address and password.

On this page
  1. At a glance
  2. What it's good for
  3. Signing in
  4. The admin panel
  5. Tools and settings
  6. Good to know
  7. Addresses and ports
  8. Settings
  9. In its config file
  10. Tools
  11. Works with
  12. Privacy and security
  13. What leaves this server
  14. What LibrePortal turns off
  15. Sources
  16. Under the hood

At a glance#

What it is
Webmail Communication
Where it opens
Webmail On its own port at http://your-server:port, or webmail.your-domain once you have a domain
Updates
Automatic A backup is taken first, and it rolls back if the update fails
Backups
Included Part of the daily backup when that's switched on
Copies
One per server

What it's good for#

SnappyMail lets you read and send mail from any browser, on a borrowed laptop or a work computer, with nothing to install and nothing to set up on that machine. It's quick and light, with folders, search, signatures, and a layout that works on a phone screen too.

It doesn't hold any mail itself. It's a window onto a mail server, and on LibrePortal that's Stalwart.

Signing in#

There's no account to create in SnappyMail. Open it with the Webmail button and sign in with your full email address, like anna@example.com, and the password of that mailbox in Stalwart. Each person sees only their own mail.

If Stalwart is installed, that's all there is to it. LibrePortal tells SnappyMail about every domain Stalwart carries mail for, and keeps it up to date: add a domain to Stalwart, reinstall it, or remove it, and SnappyMail follows. It's the Mail server connection on SnappyMail's Works with list, and it says Connected once both are installed. If you install SnappyMail first, it connects as soon as Stalwart arrives.

Why it talks to Stalwart directly

SnappyMail reaches Stalwart over LibrePortal's own internal network, not over the internet. So it works the same whether Stalwart is private or public, and SnappyMail needs no mail ports of its own, just its one web page.

The admin panel#

SnappyMail also has an admin panel, for plugins, security settings and the domains it knows. Open it with the Admin Panel button (it's the same address with /?admin on the end). The login is admin, with the password from the Login Details when the install finished; press Welcome on the app's page to see it again.

Out of the box SnappyMail makes up a random admin password on its first visit and leaves it in a file inside the app, where nobody would find it. LibrePortal sets its own instead, so the password is where you'd look for it. It puts that password back every time SnappyMail is installed or its settings are saved, so a password changed inside the admin panel doesn't last. To change it for good, change it in LibrePortal.

You won't need the admin panel for everyday mail. Domains you add there yourself are left alone by LibrePortal; the ones that come from Stalwart are LibrePortal's to manage.

Tools and settings#

Mail Server on the Config tab says which mail server SnappyMail signs people in to. Leave it on Automatic, which means the mail server installed on this server.

Reconnect Mail Server on the Tools tab writes SnappyMail's settings again for every domain Stalwart carries. It normally happens by itself; run it if a domain's sign-in doesn't work, for example after adding a domain in Stalwart's own admin console rather than with LibrePortal's tools.

Good to know#

  • Use HTTPS if it's public. People type their mail password into SnappyMail, so if you open it to the internet, give it a domain (webmail.example.com) so that password is encrypted on the way. At home, keeping it private and using the VPN when you're out is simpler.
  • Backups include its settings and each person's SnappyMail preferences. The mail itself is Stalwart's, and backed up with Stalwart.
  • Updates are automatic.
  • Timezone. Installs made before 0.4.7 run SnappyMail on UTC, because of a mistake in its setup. Installs from 0.4.7 get the server's timezone. To fix an older install, press Update Configuration on its Config tab once LibrePortal is on 0.4.7: that sets it up again from the corrected template, and its settings are kept.
  • One per server. One SnappyMail already serves every mailbox on every domain.

Addresses and ports#

SnappyMail has one port. LibrePortal picks a free port number for each when you install, so yours will differ from anyone else's. The Config tab's Network section shows them, and the app's Open button uses the right one. "Anyone" means it's reachable from wherever your server is reachable; you can make it private later.

What it isWho can reach itWith a domain
Webmail, Admin Panel Anyone webmail.your-domain

Settings#

These are SnappyMail's own settings on its Config tab. The settings every app shares, like backups, updates and where its data lives, are explained in App pages and settings.

SettingWhat it doesStarts as
Mail Server Which mail server SnappyMail signs people in to.
Choices: Automatic (the mail server installed here)
auto

In its config file#

A few more aren't on the Config tab yet. They live in the app's config file, described here so you know they exist. How to change them.

SettingWhat it doesStarts as
Name
CFG_SNAPPYMAIL_DISPLAY_NAME
What this app is called on your dashboards. Leave empty to use its usual name Empty
Show on the LibrePortal Dashboard
CFG_SNAPPYMAIL_SHOW_ON_DASHBOARD
Whether this app gets a shortcut on the front page of the LibrePortal WebUI, separate from any Dashy dashboard
Choices: true, false
true

Tools#

SnappyMail's Tools tab has 1 button for jobs you'd otherwise need a terminal for. Each one runs as a task, so you can watch it on the Tasks page and read what it did. More about Tools.

Reconnect Mail ServerTested on 2.38.2

Rewrite SnappyMail's settings for every domain the mail server hosts. It already follows the server on its own; use this after adding a domain in the mail server's admin console.

Works with#

These are the other apps SnappyMail knows how to work with. Once it's installed, its page shows the same list with whether each one is connected. How this works.

  • Mail server connection: Webmail for the mailboxes on your mail server. LibrePortal sets this up by itself when both are installed.
  • Grafana: Shows dashboards for the apps that have one. works with every app
  • Prometheus: Collects metrics from the apps that can export them. works with every app
  • Uptime Kuma: Watches your apps and shows when one goes down. works with every app

Privacy and security#

All clear SnappyMail is a webmail screen that runs on your server and does not report on you. It proxies pictures in emails so senders cannot learn your address.

What leaves this server#

  • Remote images in mail are fetched through your server

What LibrePortal turns off#

Nothing needed switching off.

Licence: AGPL-3.0. Audited: 21 October 2026. See the privacy of every app and the Promise.

Sources#

Under the hood#

  • It runs this image: djmaze/snappymail:v2.38.2@sha256:5e3d990438809a8a49f8ac5758db03e858e6e9fc0e369e1f9e474f7664079905.
  • It can sit behind Authelia's sign-in once Authelia is installed.
  • Its own project and documentation: github.com/the-djmaze/snappymail

Ports, settings, tools and connections on this page are read from LibrePortal v0.10.97's app catalogue each time the guide is built.

Next steps