Threads, attachments, drafts with autosave, signatures, scheduled send, and translation. Folders, stars, archive, spam controls, and advanced search filters to find things again.
Open source email, contacts, and calendar
Self-hosted webmail for all your accounts.
Gmail, Outlook, and any IMAP or JMAP account side by side, with your contacts and calendar. Run it on your own machine or on a server.
Take a look around
A little Gofer, right here.
Open a message, explore the calendar, find a contact, or look through settings. Try a different theme while you're here.
What it is
Mail first. Contacts too. And a calendar.
All of it sits in one SQLite database. Tested with over 100k emails across several accounts, no trouble so far. You do not need Postgres. Not for this.
Contacts
Local address books with vCard import and export, plus Google, Outlook, and CardDAV sync. Gofer Sync keeps contacts in step between your accounts.
Calendar
Google Calendar, Outlook, and CalDAV in month and week views. Create events and recurring series, invite guests, RSVP straight from an email, and add Meet or Teams links.
Why it exists
Multi-account webmail should not be this hard to find.
We have shared docs, video calls, and full IDEs in the browser. Why do most webmails feel stuck in the early 00s?
Mix IMAP, JMAP, Gmail, and Outlook accounts in the same UI without treating one as the special one.
Read Inbox, Sent, Drafts, Archive, and custom folders across accounts when that is what you need.
Send, reply, move, labels, and provider-specific actions keep the right account context.
Three ways to run it
From your laptop to a whole organization.
Pick one mode with GOFER_AUTH_MODE. Each one holds as many mailboxes as you like. What changes is who signs in.
openJust you, locally
No login at all. Meant for your own machine, and only there.
personalJust you, on a server
One protected profile with all your mailboxes, behind a password, passkeys, or TOTP.
managedYour team or organization
Many users, separate administrators, invitations, MFA policies, and an admin panel.
Managed mode is being built to scale to thousands of users; that part is still in progress. Signed-in modes support passkeys, TOTP, and Google, Microsoft, or OpenID Connect sign-in. Stored credentials are encrypted, and remote content is blocked by default.
How accounts work
Talks to each provider in its own language.
Any standard mail server, plus contacts and calendars from compatible services.
Google's own APIs, instead of pretending Gmail is just another IMAP server.
Graph for mail, contacts, calendars, categories, and Teams meetings.
- Language
- Go
- Interface
- Server-rendered with templ and HTMX, styled with Tailwind CSS and templUI. No SPA framework.
- Database
- SQLite through modernc.org/sqlite, pure Go with no CGO, and FTS5 for full-text search.
- Mail formats
- emersion's go-imap, go-smtp, go-message, go-vcard, and go-ical.
- Sign-in
- Argon2id passwords, TOTP, WebAuthn passkeys, and OAuth 2 / OpenID Connect.
- Distribution
- One static binary with the web assets embedded. Linux, macOS, and Windows.
- License
- MIT
Trying it
Run it yourself.
Download the archive for your system, unpack it, and run gofer. It's a single binary with everything inside: no runtime to install and no database server to set up.
Linux and macOS on x86-64 and ARM64. Windows on x86-64.
Linux
tar -xzf gofer-*-linux-amd64.tar.gz
cd gofer-*-linux-amd64
./goferOn ARM64, use the linux-arm64 archive.
macOS
tar -xzf gofer-*-darwin-arm64.tar.gz
cd gofer-*-darwin-arm64
./goferOn an Intel Mac, use the darwin-amd64 archive.
Windows
Expand-Archive gofer-*-windows-amd64.zip -DestinationPath .
cd gofer-*-windows-amd64
.\gofer.exeIn PowerShell. Or unzip it in Explorer and run gofer.exe.
Then open http://local.localhost:8090 in your browser.
On a server, pick personal or managed with GOFER_AUTH_MODE and put Gofer behind an HTTPS reverse proxy. The rest is in .env.example.
Building from source needs Go, templ, Tailwind CSS, and Task. Clone the repo and run task dev.
Heads up
Pre-1.0. Keep backups.
Gofer is in daily use, but it's still settling. Database migrations run on startup, so back up the data directory, configuration, and secrets together before upgrading. Gmail and Outlook still need your own OAuth app credentials for now, and some calendar actions depend on what the provider allows.