Lumail - The console email client


Lumail is a modern console-based email client developed for GNU/Linux, supporting operations upon local Maildir hierarchies and remote IMAP mail-servers. The screenshots demonstrate what it looks like by default, and for a more interactive view you can watch this short ASCII-video.

There are many graphical clients for email, but comparatively few designed solely for console use. With the exception of GNU Emacs none of the console clients I examined had any built in support for scripting with a real language.

Lumail has differences from existing projects such as mutt, notmuch and similar alternatives:

  • It is a modal-client so you're always in a particular mode:
    • maildir-mode: Shows you the list of folders.
    • index-mode: Shows you the list of messages.
    • message-mode: Shows you a single message.
    • ...
  • Scripting is supported with a mature language.
    • Lumail, as the name might suggest, uses lua.
    • The Lua API we present is simple, reliable, and self-consistent.

Installation & Usage

To get started you'll want to :

Once you've got the basics setup you might then wish to consult the additional documentation:

Finally if you have questions perhaps the general FAQ, or the technical FAQ will answer them. If not please ask for help.

Recent News

10th May 2017

Version 3.0 of Lumail is now available upon our download page.

This release introduces corrects several bugs relating to message-saving, allow index-formatting to become templated (and thus more flexible), as well as fixing minor issues with the display of the panel, and parsing of messages.

9th January 2017

Version 2.9 of Lumail is now available upon our download page.

This release introduces the ability to sort message-lists by threads, and display them appropriately. In addition to the usual bugfixes we now support the correct use of References and In-Reply-To headers in outgoing messages, and have significantly sped up message deletion.

13th August 2016

Version 2.8 of Lumail is now available upon our download page.

This release improves the correctness of allocating C++ objects, which are accessible to Lua, as well as offering support for binding functions to multiple-keypresses. (For example you can bind the string "111" to jump to line 111 of the current folder; this is done by default, to provide a mutt-like "jump" function.)

Archived news is available for posterity.


Recent Commits