/alot

Terminal-based Mail User Agent

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Build Status Code Climate Codacy Grade Codacy Coverage

Alot is a terminal-based mail user agent based on the notmuch mail indexer. It is written in python using the urwid toolkit and features a modular and command prompt driven interface to provide a full MUA experience as an alternative to the Emacs mode shipped with notmuch.

Notable Features

  • multiple accounts for sending mails via sendmail
  • can spawn terminal windows for asynchronous editing of mails
  • tab completion and usage help for all commands
  • contacts completion using customizable lookups commands
  • user configurable keyboard maps
  • customizable colour and layout themes
  • python hooks to react on events and do custom formatting
  • forward/reply/group-reply of emails
  • printing/piping of mails and threads
  • configurable status bar with notification popups
  • database manager that manages a write queue to the notmuch index
  • full support for PGP/MIME encryption and signing

Installation and Customization

Have a look at the user manual for installation notes, advanced usage, customization, hacking guides and frequently asked questions. We also collect user-contributed hooks and hacks in a wiki.

Most of the developers hang out in #alot@freenode, feel free to ask questions or make suggestions there. You are welcome to open issues or pull-requests on the github page.

Basic Usage

The arrow keys, page-up/down, j, k and Space can be used to move the focus. Escape cancels prompts and Enter selects. Hit : at any time and type in commands to the prompt.

The interface shows one buffer at a time, you can use Tab and Shift-Tab to switch between them, close the current buffer with d and list them all with ;.

The buffer type or mode (displayed at the bottom left) determines which prompt commands are available. Usage information on any command can be listed by typing help YOURCOMMAND to the prompt; The key bindings for the current mode are listed upon pressing ?. See the manual for more usage info.