aerc is an email client that runs in your terminal. It's highly efficient and extensible, perfect for the discerning hacker.
Some of its more interesting features include:
* Editing emails in an embedded terminal tmux-style, allowing you to check on incoming emails and reference other threads while you compose your replies
* Render HTML emails with an interactive terminal web browser, highlight patches with diffs, and browse with an embedded less session
* Vim-style keybindings and ex-command system, allowing for powerful automation at a single keystroke
* First-class support for working with git & email
* Open a new tab with a terminal emulator and a shell running for easy access to nearby git repos for parallel work
* Support for multiple accounts, with support for IMAP, Maildir, SMTP, and sendmail transfer protocols
* CalDAV and CardDAV support for synchronizing contacts & calendar events
* Asynchronous IMAP support ensures the UI never gets locked up by a flaky network, as mutt often does
* Efficient network usage - aerc only downloads the information which is necessary to present the UI, making for a snappy and bandwidth-efficient experience
* 100% free and open source software!
nmh (new MH) is a powerful electronic mail handling system. It was originally based on version 6.8.3 of the MH message system developed by the RAND Corporation and the University of California. It is intended to be a (mostly) compatible drop-in replacement for MH. nmh consists of a collection of fairly simple single-purpose programs to send, receive, save, retrieve, and manipulate e-mail messages. Since nmh is a suite rather than a single monolithic program, you may freely intersperse nmh commands with other commands at your shell prompt, or write custom scripts which use these commands in flexible ways.
Archives notmuch indexed emails by year and month. It'll find all emails on inbox from a starting year and archive them monthly up until last december. You end up with an inbox for the current year. Archived email can be found under the archive tag plus year-month tags. Files are moved to ~/Maildir/.Archive.Year.Month/cur. It'll also phisically remove email tagged as deleted during those months.
This program can pull email and labels (and changes to labels) from your GMail account and store them locally in a maildir with the labels synchronized with a notmuch database. The changes to tags in the notmuch database may be pushed back remotely to your GMail account.
Astroid is a lightweight and fast Mail User Agent that provides a graphical interface to searching, displaying and composing email, organized in threads and tags. Astroid uses the notmuch backend for blazingly fast searches through tons of email. Astroid searches, displays and composes emails - and rely on other programs for fetching, syncing and sending email. Check out Astroid in your general mail setup for a suggested complete e-mail solution.
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.
Bower is a curses frontend for the Notmuch email system. I wrote it for me, but you might like it, too.
bower is written in Mercury.
As Emacs user I always want to use Emacs interface to edit documents. When I write e-mails, I also do, so I tried to introduce notmuch, emacs and offlineimap. As a result I feel notmuch on emacs is very useful in terms of tagging, searching, and emacs interface.
Some configurations below were not on the web, so I note here. If you follow my way to handle e-mails, this may help you.
I have tried to get my mail in the traditional Unix way, with an MTA, MDA, MRA, MUA, all that stuff. It was a huge pain. With some more modern programs, though, I can have a setup that still follows the Unix philosophy of single-purpose programs working together, while being a lot easier to understand.
There are four main programs in my setup:
- offlineimap: fetch mail from servers
- notmuch: index and search local mail
- alot: read indexed mail
- msmtp: send mail to servers
My current setup involves four major componenets. Offlineimap to fetch email, notmuch to index email, Astroid to view/search/read/write emails and msmtp to send emails.
notmuch stores all of your mail locally on one machine. Hence, until now, if you wanted the full benefit of notmuch tags, you could only conveniently read your email on a single machine. Muchsync brings notmuch to all of your computers by synchronizing your mail messages and notmuch tags across machines. The protocol is heavily pipelined to work efficiently over high-latency networks such as mobile broadband. Muchsync supports arbitrary pairwise synchronization among replicas.
Its basic task is to provide automatic tagging each time new mail is registered with notmuch. In a classic setup, you might call it after 'notmuch new' in an offlineimap post sync hook.
madonctl is a command line client for the Mastodon distributed social network API.
JMAP is a modern standard for email clients to connect to mail stores. It therefore primarily replaces IMAP + SMTP submission. It does not replace MTA-to-MTA SMTP transmission. JMAP was built by the community, and continues to improve via the IETF standardization process. Upcoming work includes adding contacts and calendars (replacing CardDAV/CalDAV).