by Alaniver 🇫🇮 Suomeksi →
Alaniver Mail

Alaniver Mail

Lightweight, fast and secure webmail for your own server.
No subscriptions, no third parties — all your data stays with you.

Open Source MIT License v1.9.0 PHP 8.2+ IMAP PWA
Try the demo Download v1.9.0

Includes install.sh — one-command setup

All features

Rich Text Editor
Compose formatted emails directly in your browser — no external libraries. Full formatting toolbar included out of the box.
Colors & Fonts Font size Bold / Italic Underline Alignment Links Inline images
Recipient List
Send to multiple recipients at once. The address bar auto-saves contacts to browser memory and suggests them next time — nothing leaves your device.
Multiple recipients Auto-save Quick select Never on server
Security
Every request and session is protected — no compromises.
AES-256-GCM
Session cookie is encrypted with 256-bit AES-GCM. IMAP credentials are never stored on the server.
CSRF Protection
Every form and API call is verified with a CSRF token. Forged cross-site requests are rejected.
Rate Limiting
Login and form endpoints are protected with request rate limits to defend against brute force attacks.
TLS/SSL & SameSite
IMAP connections are always SSL-encrypted. Cookies use SameSite=Lax and Secure attributes.
CSP & X-Frame-Options
Content Security Policy, X-Frame-Options: DENY, and HSTS are all enabled by default.
X-Content-Type-Options
nosniff header prevents MIME type guessing. No XSS attacks through MIME manipulation.
Open Source
The entire source code is downloadable and auditable. MIT license — use, modify, and distribute freely in your own projects.
MIT License Downloadable Customizable
Multiple Profiles
Add multiple IMAP accounts to the same app. Switch the active account with one click — log out of individual accounts without affecting others.
Multiple accounts Quick switch Per-account logout
Downloadable Profiles
Export your profile as a JSON file and import it on any device. The profile carries your display name, signature, avatar, contacts, and language setting.
Export / Import JSON Signature Avatar Contacts
Language Options
The interface is available in Finnish and English. Switch languages in Settings — each account can use a different language independently.
🇫🇮 Finnish 🇬🇧 English Per-account setting
Full IMAP Support
All standard IMAP folders are supported. Switch folders, archive, mark as read, move to trash, and delete permanently.
Inbox Sent Drafts Trash Spam Archive All folders
PWA — Install as App
Install Alaniver Mail on your home screen like a native app. Push notifications alert you to new emails even in the background. Works offline from cache.
iOS & Android Push notifications Offline support Home screen
Themes
Choose from three interface themes in Settings. Theme preference is stored per device — no impact on other users or accounts.
🌙 Dark ☀️ Light ⬛ Pure black Per-device

Easy installation

Quick install — one command

Download the package to your server and run the install script as root. Everything else is handled automatically.

wget https://mail.alaniver.fi/download.php -O alaniver-mail.tar.gz
tar -xzf alaniver-mail.tar.gz && cd alaniver-mail
sudo bash install.sh
DNS first! Point your domain's A record to your server's IP address before running the installer — it fetches an SSL certificate from Let's Encrypt automatically, and that requires DNS to be set up.
What the installer sets up

The install script handles everything from web server configuration to SSL certificates automatically:

Web server nginx or Apache2 — you choose during setup. Configuration is generated automatically with the right directives.
PHP 8.2–8.4 Your chosen version is installed with PHP-FPM. Required extensions: imap, gd, mbstring, curl, json, session.
Composer + dependencies Composer is installed automatically if not found. Symfony Mailer, WebPush, and other dependencies are fetched.
SSL certificate A Let's Encrypt certificate is obtained via certbot automatically. Auto-renewal is added to cron.
Directory structure data/ directory for avatars, profiles, and push subscriptions. Correct permissions set for www-data.
VAPID keys A VAPID key pair for push notifications is generated automatically and saved to lib/config.php.
Cron job Push check added to /etc/cron.d/ — new emails are checked every 5 minutes.
Branding Give the app your own name during setup. The installer replaces "Alaniver Mail" throughout the codebase automatically.
Step by step
  1. 1
    Point DNS — add an A record from your domain to your server's IP address. Wait a few minutes for propagation.
  2. 2
    Download the package to your server:
    wget https://mail.alaniver.fi/download.php -O alaniver-mail.tar.gz
  3. 3
    Extract the package:
    tar -xzf alaniver-mail.tar.gz && cd alaniver-mail
  4. 4
    Run the install script as root:
    sudo bash install.sh
  5. 5
    Answer the questions:
    • App name (e.g. Acme Mail)
    • Domain name (e.g. mail.example.com)
    • Install directory (default: /var/www/mail)
    • Web server: nginx or Apache2
    • PHP version: 8.4 (recommended), 8.3 or 8.2
    • Default UI language: Finnish or English
    • SMTP server and port (for system emails)
    • Notification email (admin alerts)
    • Let's Encrypt SSL — installed automatically
  6. 6
    Done! Open https://mail.yourdomain.com in a browser and log in with your IMAP credentials.

Changelog

v1.9.0 2026-07-10

What's new in this release:

  • Undo send — you can now set a delay (30 s – 5 min) in Settings during which a message you just sent can be recalled with one tap. The delay runs on the server, so you can close the tab or the browser — the message still goes out on time, or is cancelled when you hit Undo. Off by default; enable it in Settings.
  • Faster Promotions folder — the Promotions view could load slowly or time out on large mailboxes. It now opens quickly and does a better job of catching Finnish-language newsletters that used to slip into the inbox.
v1.8.0 2026-07-07

What's new in this release:

  • New Promotions folder — newsletters, offers and other marketing mail are now filtered automatically into their own Promotions view, just like in Gmail. Your inbox stays clean and important messages stand out. Nothing is moved or deleted — everything is one tap away in Promotions, where you can star, move or delete messages as usual.
  • Links in emails are now clickable — web addresses in plain-text messages are now real links you can tap, instead of having to copy them into the address bar by hand. All links in a message also open in a new tab, so your mail view doesn't disappear from under you.
v1.7.1 2026-07-04

What's new in this release:

  • Contacts now sync in real time — a new or edited contact shows up on your other devices automatically, with no page reload or manual re-sync. The contact list also refreshes whenever you return to the tab or open the contact picker.
  • "Passphrase doesn't match" lock-up fixed — if the sync passphrase ever got out of step, sync could get stuck in a permanent error state. The passphrase is now verified already when scanning the QR code, and Settings has a reset button to clear the sync and start fresh.
  • Marking as read now shows a spinner — marking a message read or unread gives immediate visual feedback, so you no longer have to guess whether the click registered.
  • "Server settings" is now "IMAP settings" — the login advanced options and the settings-page server card are labelled more clearly.
v1.7.0 2026-07-03

What's new in this release:

  • New search bar — search messages by sender or subject right from the top of your inbox. Search covers the whole folder, not just the page currently on screen, and also works in the "All accounts" view across every connected account's inbox at once.
  • Sent folder could appear empty — if your account's folder names contain anything beyond basic characters (e.g. Gmail's language-translated folders), browsing could break and show "no messages" even though messages existed. Fixed.
  • Swipe between messages less trigger-happy — in the message view, swiping sideways used to switch to the next/previous message too easily during an ordinary vertical scroll. Now requires a clearer, more deliberate sideways gesture.
v1.6.1 2026-07-01

What's new in this release:

  • Signature line breaks fixed — a saved signature used to collapse into one run-on line with no breaks at all. If yours was affected, open Settings and save it once more — an already-saved signature won't fix itself.
  • Push notifications for every connected account — notifications used to only ever come from whichever account was active when you turned them on. Now every connected account gets notifications, and a newly added account is picked up automatically.
  • Contact QR sync fixed — a server-level security setting was blocking camera access outright, which broke scanning a QR code to sync contacts between devices (showed up on some Android browsers, not all).
  • Clearer "notifications failed" message — trying to enable notifications from the install page before signing in now explains why instead of showing a generic error.
  • Light theme text cursor — the blinking text cursor in input fields no longer rendered white-on-white in light theme.
  • Self-hosting packaging improvements — the PWA install guide (/install) is now included in the download package (previously missing entirely); an internal admin-only tool no longer accidentally ships with it.
v1.6.0 2026-07-01

What's new in this release:

  • Swipe between messages — on mobile, reading a message now lets you swipe left/right to jump to the next or previous one, just like Gmail. On desktop the same thing is available as arrow buttons in the message's top bar.
  • Large Gmail accounts fixed — computing the unread count could stall loading the inbox or a single message for minutes on an account with a lot of mail. Switched to a much faster way of asking the server for the unread count directly.
  • Opening a message can no longer log out the whole account — if the IMAP connection briefly hiccuped right as a message opened, the entire session (every signed-in account) could get logged out entirely instead of just bouncing back to the inbox.
  • "Jump to page" added to pagination — the inbox's pagination now always shows the first and last page, plus a field and OK button to jump straight to any page number.
  • HTML emails no longer push the whole page sideways on mobile — wide newsletter tables now stay contained within the message, scrolling horizontally on their own instead of stretching the entire page.
  • Light theme: email text was white on white — a message's body text now correctly follows the selected theme.
  • Push notifications fixed — new-mail notifications to your phone never actually fired after the first sign-in; now they work reliably.
  • Loading animation when opening a message — opening a message now shows an immediate blurred loading state instead of the view appearing to briefly freeze.
v1.5.0 2026-07-01

What's new in this release:

  • Inbox now loads instantly — fetching messages from the IMAP server was moved entirely into a background process. The page shows what it already knows right away (briefly stale if the connection is slow) and refreshes silently in the background — a page no longer gets stuck waiting on the IMAP server.
  • Email background color — the compose view can now set a background color for the whole email. Text color adjusts automatically to stay readable on the recipient's end too.
  • Color picker no longer disappears off-screen — the text/highlight color picker now always centers itself on the viewport, no matter where it's opened from, including on mobile.
  • Font, size and border in the insert-button editor — the signature/vacation-reply "Insert button" tool now has font, text size, and border width/color controls.
  • Mark-as-read fixed — opening a new message now correctly marks it read right away. Added "Mark selected as read" to bulk selection and "Mark as unread" to the message view.
  • Bold button no longer gets stuck — the formatting toolbar's active state no longer misbehaves when focus moves away from the editor via keyboard.
  • More flexible installation — the installer now separately asks whether users may change the IMAP server from the built-in default, and whether the installer has their own SMTP account — without one, contact forms are automatically hidden across the site.
  • Gmail folders with brackets fixed — folder names like [Gmail]/All Mail no longer blocked opening a message or downloading an attachment.
  • Full security audit — the entire application was reviewed line by line. Fixes included: code execution on the server during installation, a dedicated isolated runtime for the app separate from other sites on the same server, race conditions in concurrent saves, and tightened login rate-limiting per account against distributed guessing attempts.
v1.4.0 2026-06-30

What's new in this release:

  • Block sender — a new "Block sender" button in the message view. Future messages from a blocked address are moved to Spam automatically (or Trash, if the account has no Spam folder) as soon as Inbox loads. Blocked senders can be managed from Settings.
  • Spam now auto-cleans too — the same 30-day automatic cleanup that Trash already had now also applies to Spam (important now that blocked senders land there).
  • Easier install upgrades — the downloadable install.sh can now update an existing installation too: it backs up the whole install first, updates the application files, and leaves your credentials and settings (data/ and lib/config.php) untouched.
  • Subscribe to updates — this page now has a "Subscribe to updates" box — leave your email and get notified whenever a new version ships, changelog included. Unsubscribe anytime via the link in the email.
  • Bulk selection on mobile actually works now — a long press selects a message instead of the phone trying to open it in a new tab; tapping anywhere on a row in selection mode now toggles it instead of opening the message; "Select all" / "Select amount" buttons and the Enter key now work on mobile too (previously invisible/non-functional buttons fixed).
  • Bulk-selection limit lowered to 20 messages — the previous 50-message cap was lowered to 20, for both manual selection and "Select all".
v1.3.0 2026-06-30

What's new in this release:

  • Contact sync across devices — contacts can now be synced between your computer and phone without ever touching our servers. A passphrase encrypts your contacts in the browser before they're stored in a hidden folder on your own mailbox. New devices are paired with a QR code or by typing the passphrase manually.
  • Bulk selection and actions in Inbox — select multiple messages at once and star, move, trash or forward them together.
  • Starring (Favorites) — messages can now be starred from the list or while reading. The new Favorites view in the sidebar shows every starred message from your Inbox.
  • Custom folders — create and delete your own folders from the sidebar, and move messages into them.
  • Automatic trash cleanup — messages moved to Trash are now permanently deleted after 30 days. The check only ever runs during an active login session, never in the background, and no password is ever stored persistently.
  • Custom color palette — text and highlight color pickers now use the app's own consistent color palette everywhere instead of the browser/OS native picker.
  • Gmail folders now work in 35+ languages — Spam and Trash are correctly detected no matter what language your Gmail account's interface is set to, and extra folders (All Mail, Important) no longer clutter the sidebar.
  • Several small fixes — the Compose sidebar now always shows all folders immediately; stars now stay correctly visible after an action; the vacation-reply toggle and save button now render correctly instead of using default browser styling.
v1.2.2 2026-06-30

What's new in this release:

  • Gmail folders work correctly — Gmail accounts now always show Inbox, Sent, Drafts, Spam and Trash in the sidebar regardless of Gmail's "Show in IMAP" label settings.
  • All Inboxes sidebar fixed for Gmail — the sidebar previously showed only Inbox when Gmail was the active account. Folders are now fetched live from IMAP when the cache is cold.
  • Bold/italic/underline highlights stay active — formatting button highlights no longer reset each other when multiple formats are active at the same time.
  • Font and size pickers work on mobile — the signature and vacation message editors in Settings now open correctly without overlapping UI elements.
  • Native color picker in Compose — text and highlight color buttons now use the same native OS color picker as the signature and vacation editors.
  • Contacts search bar — the contacts panel in Compose now has a search field to filter by email or name.
  • Clearer notification settings — push notifications can now be toggled on and off with a single button. The description clarifies what is notified (new incoming emails).
  • Retry button fixed — after a network error the retry button now links directly to the inbox instead of attempting a reload on an unstable connection.
v1.2.1 2026-06-29

What's new in this release:

  • Settings page loads instantly — IMAP no longer blocks page rendering. Folder list loads in the background.
  • Session lock removed from Settings — navigating away from Settings mid-load no longer crashes other pages or requires a session reset.
  • Message list significantly faster — switched from individual IMAP calls to batch fetching (FETCH command for all messages at once). Speeds up both the inbox and the All Inboxes view.
  • Active folder no longer highlighted in Settings sidebar — minor UI fix.
v1.2.0 2026-06-28

What's new in this release:

  • Three themes — Dark (default), Light and Pure black. Switch in Settings. Theme is stored per device and does not affect other users.
  • Demo in English — the demo page now has a language toggle
  • Improved "Forgot password" — the page now shows the host's contact details and clear instructions
  • Language toggle on login and password pages
v1.1.0 2026-06-27

The first public beta of Alaniver Mail is out! It is now downloadable and installable on your own server.

Found a bug? Have a feature request or feedback? Send a message to alanissiverneri@gmail.com or use the contact form below.

Subscribe to updates
Get an email whenever a new version is released — includes the changelog and a link back to this page. You can unsubscribe anytime via the link in the email.

Get in touch
Bug reports, feature requests, feedback — we'd love to hear from you. We typically reply within 1–2 business days.

How many months are in a year?

Download alaniver-mail-v1.9.0.tar.gz

MIT License — free to use, modify, and redistribute