Lumail - The console email client


Lumail is a modern console-based email client developed for GNU/Linux.

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 is a new entrant into the world of email clients, with the following four differences from existing projects:

  • It operates exclusively on Maildir hierarchies:
    • No support for POP3/IMAP.
    • This reduces complexity, reduces coding, and gives the client focus.
  • It is a modal client- you're always in one of four modes:
    • maildir-mode: Shows you the list of folders.
    • index-mode: Shows you the list of messages.
    • message-mode: Shows you a single message.
    • text-mode: Shows you some simple text.
  • Built in scripting with a mature language.
    • Lumail, as the name might suggest, uses lua.
    • Lumail contains a number of useful primitives to allow you to control its behaviour and functionality.
    • There are examples available to give you a flavour of what you can do.
  • Multi-folder operations.
    • Rather than opening a single folder you may open multiple folders at once.
    • The displayed messages are the combined set from all selected folders.

Recent News

16th September 2014

Lumail 0.26 has been released and is available for download. This release adds multiple minor bugfixes, and features including the ability to support multiple Maildir prefixes, and the support for wrapping headers.

14th May 2014

Lumail 0.25 has been released and is available for download. This release adds a new mode to the client, the ability to show text from a file (show_file_contents()) or programatically (show_text()).

There were several bugfixes relating to TAB-completion, and new features relating to the current working-directory (cd(), cwd()), along with support for reading arbitrary lua via a Unix domain-socket.

18th Janaury 2014

This release contains several bug-fixes relating to handling oddly formed messages, and updates some of the primitives such as hostname() which may now be overridden.

The command-line handling was improved, and the clear() primitive will now work correctly in all circumstances.

13th October 2013

This release contains only minor changes, but these changes improve the speed of handling large mailboxes, and large directories.

The only significant new functionality is the introduction of the hostname() primitive.

Archived news is available for posterity.


Recent Commits