Files
RustBox/docs/FEATURES.md
T
Mateusz Gruszczyński a3ac2a68fe
RustBox CI / rustbox (push) Waiting to run
v0.2.30
2026-11-08 07:32:12 +01:00

10 KiB

RustBox features

RustBox is a self-hosted webmail for any standards-compliant IMAP/SMTP server. It ships as one Rust executable with the whole interface built in. The interface is available in English and Polish.

Mail view

Contents

Mail

  • Three-pane layout (folders, message list, reader) with resizable panes. The preview can sit on the right or at the bottom, or be turned off.
  • Folder tree with subfolders shown under their parent and collapsible branches. You can create, rename, delete and subscribe to folders, mark all as read and empty a folder.
  • Special folders (Sent, Drafts, Trash, Junk, Archive) are configured per account. They follow renames, and administrators can set server-wide defaults.
  • Accurate total and unread counters, kept in sync with the mail server. Changes appear immediately and are reconciled in the background.
  • Threaded or flat reading, previous/next navigation, and automatic opening of the next message after a move or delete.
  • Bulk actions on many messages at once, including the whole search result: read/unread, flag, archive, move, copy, label, spam and delete.
  • Drag and drop a message onto a folder to move it. Moves and deletes can be undone.
  • Snooze: hide a message until a chosen time, then see all snoozed messages in one list.
  • Pagination (up to 300 per page), progressive loading or loading the whole folder. Sort by date, sender, subject or size, and optionally keep flagged messages on top per folder.
  • A compact single-line row layout when the message list is wide.
  • Safe HTML preview in an isolated frame. Remote images are blocked until you allow them, or loaded only for contacts or trusted senders.
  • Attachment preview for images, PDF, text, HTML and video. You can download one attachment or all of them as a ZIP.
  • Raw headers, message source, .eml download and .eml import into any folder.
  • One-click unsubscribe from mailing lists when the sender supports it.
  • A short context menu with submenus (forward, labels, snooze, filters, sender, more), designed to always fit the window.
  • Mailbox quota with warnings at 80% and 95%.
  • Several accounts signed in at the same time in one browser, with quick switching.

Context menu

Composing

  • HTML, plain-text and Markdown editors. The HTML toolbar covers fonts, sizes, colours, lists, quotes, alignment, links, undo and redo.
  • Inline images: paste or drag and drop them, then resize, align and crop in place.
  • Attachments by drag and drop, with upload progress and a reminder when the text mentions an attachment that isn't there.
  • Drafts are saved automatically and can be recovered. Drafts from the Drafts folder, including ones written in other mail clients, open directly for editing.
  • Undo Send: a short window to cancel a message after pressing Send.
  • Multiple identities, each with Reply-To, automatic Bcc, organisation and text/HTML signatures. Replies pick the matching identity automatically.
  • Priority, read-receipt requests and recipient autocomplete from contacts.
  • Forward as attachment.
  • OpenPGP: key management, signing and encryption (PGP/MIME and inline), decryption and verification, and key discovery.

Composer

Search, labels and contacts

  • Full-text search with operators (from:, to:, subject:, folder:, has:attachment, is:unread, is:flagged, dates). Matching terms are highlighted, searches can be saved and there is an advanced search dialog.
  • Coloured labels with bulk assignment. They can optionally be kept in sync with IMAP keywords, so they are visible in other clients.
  • Contacts with photos, several e-mail addresses, phone numbers and postal addresses, plus groups, duplicate detection and merging.
  • vCard import and export, including importing a vCard straight from a message.

Contacts

Filters (Sieve)

RustBox manages server-side filters over ManageSieve, the standard used by Dovecot Pigeonhole and others.

  • Visual rule editor: conditions on sender, domain, recipients (To/Cc, To only, Cc only), subject, mailing list, any header, message size, attachments and priority. Conditions can be joined with AND/OR and negated, and a rule can have exceptions ("except if…").
  • Actions: move, copy, move to Trash, add a label, mark as read, flag, redirect (optionally keeping a copy) and discard. A rule can run several actions and stop processing further rules.
  • Templates for common rules: messages from a sender to a folder, subject words, flagging mail from a VIP, newsletters, mail sent to an alias, large attachments, forwarding a copy.
  • Apply now: a rule normally affects only new mail. "Check matches" shows how many messages already in a folder match it, and "Apply now" runs its actions on them. Each rule in the list also has its own "Apply now".
  • Always move messages from this sender… straight from the message context menu, and quick filters created from a message's sender, domain or subject.
  • Offers to create a target folder that does not exist yet.
  • Every rule is summarised in plain language ("When … Then …") and shown with a live preview of the generated script.
  • Out-of-office replies with optional start and end dates, plus a raw script editor with server-side validation, backup and restore.

Filter editor

Apply a filter to existing mail

Calendar

  • Month, week, day and agenda views.
  • Events with all-day mode, location, attendees, status, colour and a meeting link.
  • Two reminders per event (for example 15 minutes and one day before), with default reminders for new events. Reminders for all-day events fire at the start of the working day.
  • ICS import and export, including importing an invitation attachment.
  • Optional CalDAV/CardDAV server ([dav]): the same calendar and contacts sync with phones, Thunderbird, DAVx⁵, Apple Calendar/Contacts or an ActiveSync gateway such as ActivePush. See CALDAV_CARDDAV.md.

Calendar

Notifications and realtime

  • New mail shows up immediately thanks to IMAP IDLE and a live connection to the browser.
  • Desktop notifications with an optional sound, a choice of folders to watch and Do Not Disturb hours.
  • The unread count appears in the browser tab and, where supported, on the app icon.

Appearance

  • Light, dark, system or time-of-day theme.
  • 43 interface styles:
    • RustBox and classic styles;
    • Roundcube Classic, Larry and Elastic;
    • styles inspired by popular mail clients and apps;
    • editor themes such as Nord, Dracula, Catppuccin, Solarized, Gruvbox and Tokyo Night;
    • atmospheric styles;
    • retro styles: Windows XP, Mac OS X Aqua, iOS 6, Windows 7, Frutiger Aero and BeOS.
  • Style depth:
    • colours only;
    • standard, which adds the style's layout;
    • immersive, which also adds the style's shapes, typography, app bar and backdrop.
  • An optional Style gradients switch.
  • A predefined style's layout and typography can be adjusted while it keeps its look. Changing a colour creates a custom copy.
  • The RustBox custom style is fully adjustable: colours, fonts, sizes, density, pane widths, corner radius, contrast, selection colour, unread styling, icon size and more. A live warning appears when your custom colours are hard to read.
  • An optional colour per account, so it is always clear which account is active.
  • Keyboard shortcuts with an in-app reference.

Appearance settings

Gmail Outlook (immersive)
Gmail style Outlook style
Dracula (immersive, dark) Windows XP (immersive, gradients)
Dracula style Windows XP style

More: dark theme · Roundcube Elastic

Mobile

The interface adapts to phones and tablets: a folder drawer, a full-screen reader and touch-friendly menus.

Message list Reader (dark)
Mobile list Mobile reader

Security and privacy

  • Mail server addresses are set by the administrator; users only enter their e-mail address and password.
  • Protection against password guessing: per-mailbox and per-address lockouts with growing delays, applied before the mail server is contacted.
  • Encrypted, revocable sessions with a list of active sessions and devices.
  • Optional strict browser security headers.
  • HTML mail is sanitised and shown in an isolated frame. Links open outside the preview, and remote content is blocked by default.
  • Secrets are never shown in diagnostics.

Administration and deployment

  • A single executable with the interface built in, a systemd service and Docker Compose examples.
  • Databases: SQLite, MySQL/MariaDB or PostgreSQL. Sessions can also be kept in Redis.
  • Attachment storage on local disk, a shared filesystem (NFS, CephFS, GlusterFS) or S3-compatible storage.
  • Search with a built-in index or OpenSearch. A cluster mode runs several nodes behind a load balancer.
  • Health and readiness endpoints, a diagnostics panel for users and an optional, protected diagnostics endpoint for administrators.
  • Features can be switched on and off: filters, OpenPGP, multi-account, diagnostics, About page.
  • A helper script imports contacts and identities from Roundcube.

See the README for configuration, Storage and search and System diagnostics.

Known limitations

  • No CalDAV or CardDAV synchronisation yet. Calendar invitations cannot be answered from RustBox, and recurring events are stored but not expanded.
  • No password-change integration and no IMAP shared-folder (ACL) management.
  • Notifications work while RustBox is open in a browser tab.
  • The current status of every area is tracked in Implementation status.

About