Current version: 1.0.262

In development

A personal project created for me and my old friends; if you do not know me, please do not use it.

Desktop email client

baMail

baMail is a free desktop email client for Windows, Linux and macOS, with support for multiple IMAP and SMTP accounts.

  • Reading, composing and organizing email
  • Unlimited accounts
  • Free personal project

Downloads

Choose the file for the matching operating system and processor.

Java 17 or newer is required. Save the JAR file in the folder from which you want to run baMail. Installation with the --install command is described in the installation instructions.

Windows x64

For 64-bit Windows computers with Intel or AMD processors.

Download

Linux x64

For 64-bit Linux computers with Intel or AMD processors.

Download

Linux ARM64

For 64-bit Linux devices with an ARM processor.

Download

macOS Intel

For Mac computers with a 64-bit Intel processor.

Download

macOS Apple Silicon

For Mac computers with an Apple M-series processor.

Download

baMail features

An overview of account management, reading, sending and organizing mail, and content protection.

Accounts and connections

  • Unlimited email accounts, separate and unified folder views, and unread message counts.
  • Receive via IMAP and send via SMTP; sign in to Gmail with Google in your browser when Google OAuth registration is configured in the build.
  • Server, port and connection security settings, connection checks and optional compatibility with older servers.
  • Manual and automatic refresh, IMAP IDLE where supported by the server, and a configurable full resynchronization interval.

Reading and search

  • HTML and plain text message display, separate message windows and message source inspection.
  • Search the current list by sender, subject and already available message text; navigate between messages and unread messages.
  • The local cache displays saved mail first, then updates it in the background. Saved content is available offline; downloading missing content requires a connection.
  • Built-in smart views for All received and With attachments, plus saved search folders that can be removed.

Artificial intelligence

  • On request, AI summarizes an open message, translates it, answers questions about it, suggests a short reply or helps assess junk mail. An API key from the selected provider is required. Only selected text is sent, without attachments or hidden headers.

Writing and sending

  • New messages, reply, reply all, and forwarding one or several messages with attachments. To, Cc and Bcc recipients, recipient suggestions, and selecting or adding contacts while composing.
  • Multiple sender identities, a default sender, and signatures linked to accounts or identities.
  • Automatic and manual draft saving, draft recovery, and an option to compose without saving a draft. Queued mail inspection and retries for failed sends.
  • Adding and removing attachments; up to 25 MB per attachment and 50 MB in total. Email provider limits also apply.
  • AI writing assistance based on instructions, selected text or the whole draft. The result can replace the selection or be appended. A configured AI provider is required.

Scheduled sending

  • Send a composed message after a delay or at a chosen date and time; review scheduled mail, cancel it or send it immediately.
  • Scheduled message templates for selected contacts: once, daily, weekly, monthly or yearly. Search, edit, enable, disable, delete, view history and see the next send time.
  • Scheduled sending requires baMail to be running, the computer to be awake and a connection to be available.

Folders and mail organization

  • Read and unread marks, colored stars and the Starred view; archiving, junk marking, restoring to Inbox, deleting and emptying folders. Multiple selection, bulk actions and undoing supported moves are available. A long press on a star opens the color picker.
  • Server folder visibility, display names and grouping; unified folder order and colors, and account colors. Deletion of unprotected server folders.
  • Creation, renaming and removal of local folders and subfolders, and moving mail into them. A successful move from the server to a local folder removes the server copy.

Filters and junk mail

  • Per-account filters with conditions for subject, sender, To and Cc; contains, does not contain, equals, does not equal, starts with or ends with. Match all conditions, any condition or all messages.
  • Filter actions: move, mark read or unread, add a star in the selected color, mark as junk and stop further filters. Reorder, enable or disable, run on receipt or manually on existing Inbox mail.
  • The junk filter learns from message markings. Marking mail as not junk adds the sender to the allowed list. Settings provide access to learned rules, search and removal, learning reset and undoing the last change.

Contacts

  • A local address book to add, search, edit and delete contacts, and compose a message directly to a contact.
  • Names, nicknames, photos, multiple email addresses, phone numbers, websites and postal addresses; time zone, birthdays and other special dates, notes, company, job title, department and custom fields.

Attachments and content protection

  • Attachment lists, images displayed with their aspect ratio preserved, individual image or attachment saving, and Save all. Open allowed attachment types in an external application after security confirmation.
  • HTML sanitization, blocked JavaScript execution and removal of active content. Remote images are blocked by default and load only on request; links open in an external browser.
  • Attachment type and content checks before external opening, with direct opening of dangerous types blocked. This is not an antivirus scan of attachments.

Message encryption between baMail clients

  • Encryption between baMail clients: content and attachments are encrypted for the recipients (AES-256-GCM, key wrapped with RSA-3072 or X25519). The email provider and other readers of the mailbox cannot read the content.
  • Signed messages: the signature (RSASSA-PSS) binds the recipients and the body to the sender. A verified signature is shown next to the message; an unsigned or invalidly signed message from a known sender is visibly marked.
  • Key wrappers contain no addresses: recipients, including hidden Bcc copies, are not revealed in the clear part of the message; the recipient finds their own copy automatically.
  • Protection against key changes: the first encryption with a new key requires fingerprint confirmation, and a changed key for a known address is not accepted automatically. Fingerprint comparison is available in the encryption settings.
  • Session key exchange with X25519 (XDH), with automatic fallback to RSA when the other client does not support the new mode. Keys are exchanged automatically in message headers.
  • Optional subject hiding: the message header carries a replacement subject while the real one stays inside the encrypted message. The local list shows the real subject after the message is opened.
  • Private keys are protected by the installation key in the system vault, so no extra password is needed when reading. Traffic data (sender, recipient, time, size) and mail to recipients without baMail remain unprotected.

Appearance and everyday use

  • Light and dark themes, a separate appearance toggle for the message body, custom accent colors, language selection and adjustable main pane layout.
  • Keyboard shortcuts for messages and composing, and a built-in guide. Configurable closing or minimizing to the taskbar, Dock or system tray. A light or dark tray icon indicates unread mail with a dot and provides a menu for composing, Inbox, synchronization, settings and quitting. The system tray is available where supported by the desktop environment.
  • Configurable undo notification duration and restoration of hidden confirmations. Update checks, downloads and installation with digital signature verification.

baMail installation

Installation requires Java 17 or newer and the matching JAR file.

Windows

  1. If Java 17 or newer is not already installed, open the Java download page. Choose Windows x64, download the installer, open it and click Next, Install and Finish.
  2. On this page, click Download under Windows x64. Save baMail-windows-x64.jar in the Downloads folder.
  3. Open the Downloads folder. On Windows 10, hold Shift, right-click an empty place in the folder and choose Open PowerShell window here or Open Command Window Here. On Windows 11, right-click an empty place and choose Open in Terminal. If it is not shown, choose Show more options or use Shift + right-click. Type java -jar baMail-windows-x64.jar --install and press Enter.
  4. When it is done, open baMail from the Start menu.

Linux

Java 17 or newer is enough. Open Terminal and use the instructions for your Linux:

  1. Ubuntu or Linux Mint: type sudo apt update and press Enter. Then type sudo apt install openjdk-21-jre and press Enter. If the package is not found, use sudo apt install openjdk-17-jre.
  2. Debian 13: type sudo apt update and press Enter. Then type sudo apt install openjdk-21-jre and press Enter. On Debian 12, use sudo apt install openjdk-17-jre.
  3. Fedora: type sudo dnf install java-21-openjdk and press Enter.
  4. Solus: type sudo eopkg it openjdk-21 and press Enter. Then add Java to the terminal: type echo 'export JAVA_HOME=/usr/lib64/openjdk-21' >> ~/.bashrc, then echo 'export PATH="$JAVA_HOME/bin:$PATH"' >> ~/.bashrc, and then source ~/.bashrc.
  5. Arch Linux or Manjaro: type sudo pacman -Syu jre21-openjdk and press Enter.
  6. openSUSE Tumbleweed or Slowroll: type sudo zypper install java-21-openjdk and press Enter. If the package is not found on openSUSE Leap, ask us which Leap version you use.
  7. If your Linux is not listed or the package is not found, use the Java download page.
  8. When Java is installed, click Download under Linux x64 on this page. Choose Linux ARM64 only if your device has an ARM processor. Save the matching baMail file in the Downloads folder.
  9. Open the Downloads folder in a terminal. Type java -jar baMail-linux-x64.jar --install and press Enter. For an ARM device, use java -jar baMail-linux-arm64.jar --install.
  10. When it is done, open baMail from the Applications menu. If the terminal says that it cannot find Java, ask us and tell us which Linux you use.

Mac

  1. If Java 17 or newer is not already installed, open the Java download page. Choose macOS and the installer for Intel or Apple Silicon, open the downloaded file and click Continue, Install and Close.
  2. On this page, click Download under macOS Intel or macOS Apple Silicon. If your Mac has an Apple M chip, choose Apple Silicon. Save baMail-macos-x64.jar or baMail-macos-arm64.jar in Downloads.
  3. In Terminal, type java -jar with a trailing space, then drag baMail-macos-x64.jar or baMail-macos-arm64.jar from Downloads into the Terminal window. Add --install and press Enter.
  4. When it is done, open baMail in the Applications folder.