Self-hosted webmail with Thunderbird-style OAuth2 for Gmail and Office 365, plus contacts & calendar sync.
Frickmail is a fork of SnappyMail. All credit for the underlying webmail engine goes to the SnappyMail team.
This repository tracks upstream master and adds Frickmail-specific
features without altering the upstream namespaces or core data formats,
so a fresh data directory created by SnappyMail can be reused with
Frickmail and vice versa.
Last upstream sync point: commit c154d23 (2026-03-11).
| Plugin / change | Adds |
|---|---|
login-gmail (mod) |
PKCE flow, env-var configuration, popup-based consent, configurable Workspace domains |
login-o365 (mod) |
PKCE flow, env-var configuration, popup-based consent, configurable tenant + domains |
contacts-sync |
Imports contacts from Google People API / Microsoft Graph into the local PAB |
calendar |
Embedded month-view calendar with create/edit/delete against Google / Graph events |
Use password button |
Lets a user bypass OAuth for one login attempt and use an IMAP app-password instead |
| Docker image | Bundles all the above and seeds them on first boot, ready-to-deploy |
| Re-branding | UI title, admin panel and About page rebranded to Frickmail |
OAuth2 is the headline feature: end users only type their email, the provider's consent screen opens in a popup, and they're signed in — exactly like Thunderbird does it. See docs/OAUTH2.md for app-registration steps, including the case where the user does not have access to a tenant administrator.
docker compose -f docker-compose.frickmail.yml up -d- Webmail: http://localhost:8888/
- Admin: http://localhost:8888/?admin
- Admin password (created on first boot):
docker exec frickmail cat /var/lib/snappymail/_data_/_default_/admin_password.txt
For OAuth2 you need a public HTTPS URL. Put Frickmail behind Caddy /
Traefik / nginx with Let's Encrypt and register
https://your-domain/?LoginGMail and https://your-domain/?LoginO365 as
the redirect URIs in your Google Cloud / Azure registrations.
The Docker image is a multi-stage build that runs release.php over
the upstream SnappyMail source and bundles our plugins on top:
docker build -f .docker/release/Dockerfile -t frickmail:latest .Frickmail keeps the upstream license: GNU AGPL v3.
- Copyright © 2026 Frickmail (Frickmail-specific code)
- Copyright © 2020 - 2024 SnappyMail
- Copyright © 2013 - 2022 RainLoop
See LICENSE for full text.
- The SnappyMail team for building and maintaining the engine this fork rests on.
- The original RainLoop authors.
- Sabre/VObject for VCard support.
See SECURITY.md for the policy. Short version: upstream
issues go to security@snappymail.eu, Frickmail-only issues to
GitHub security advisories.