Fork of aerc (github.com/aerc-mail/aerc) with AI pager, undo-send and IPC fixes
  • Go 92.6%
  • Python 3.2%
  • C 2.2%
  • Shell 1.1%
  • Awk 0.5%
  • Other 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Joerg Ziefle 6e9f92458c
Some checks failed
/ MacOS Go 1.21 (push) Has been cancelled
/ MacOS Go 1.22 (push) Has been cancelled
/ MacOS Go 1.23 (push) Has been cancelled
fix(ipc): run IPC commands on the UI goroutine (fixes reload-vs-draw race)
External `aerc :reload` ran on the IPC goroutine, racing the renderer and
exposing a half-rebuilt config (nil styleset) -> crash, notably with
tab-title-account={{.Unread}}. Wrap the IPC handler to marshal commands onto
the UI goroutine via ui.QueueFunc. Unblocks re-enabling tab unread counts.
2026-06-20 11:14:34 +02:00
.builds mark: add filter-based marking 2025-05-12 13:22:03 +02:00
.github/workflows macos: test build on go 1.23 2025-02-05 12:03:40 +01:00
app fix(ipc): run IPC commands on the UI goroutine (fixes reload-vs-draw race) 2026-06-20 11:14:34 +02:00
commands feat(compose): undo-send / send-delay 2026-06-20 10:54:51 +02:00
completer textinput: make completions run async with cancellation 2024-10-24 22:13:51 +02:00
config feat(compose): undo-send / send-delay 2026-06-20 10:54:51 +02:00
contrib readme: add security report mailing list info 2025-06-02 09:46:06 +02:00
doc doc: document msglist pill as scrollbar 2025-08-28 09:55:36 +02:00
filters html: only pass supported w3m options 2025-05-12 13:18:25 +02:00
lib app: improve hook debug logs 2025-08-28 10:19:57 +02:00
models chore: switch to using stdlib helper functions 2025-08-04 12:47:05 +02:00
stylesets stylesets: add solarized-dark 2025-08-28 09:56:54 +02:00
templates templates: convert html parts before quoting 2025-01-14 21:48:24 +01:00
worker imap: always consider recently received unread messages as recent 2025-08-28 10:16:02 +02:00
.codespellrc lib: vendor-in the jwz library 2025-08-28 09:28:16 +02:00
.editorconfig release.sh: update version in GNUMakefile 2023-10-11 10:25:41 +02:00
.gitignore git: Update git ignore list for mac 2025-03-06 17:26:25 +01:00
.golangci.toml lint,validate: fix for openbsd 2023-12-14 23:05:07 +01:00
.mailmap mailmap: fix email typo for tim 2024-09-04 15:02:43 +02:00
CHANGELOG.md Release version 0.21.0 2025-08-28 11:34:18 +02:00
CONTRIBUTING.md contributing: fix double backtick 2024-06-17 09:37:42 +02:00
GNUmakefile Release version 0.21.0 2025-08-28 11:34:18 +02:00
go.mod mod: update all dependencies 2025-08-28 11:28:30 +02:00
go.sum mod: update all dependencies 2025-08-28 11:28:30 +02:00
LICENSE LICENSE: add license name 2022-02-06 16:04:15 +01:00
main.go templates: add filters folders to exec path 2025-01-14 21:48:24 +01:00
MAINTAINERS maintainers: add inwit and ferdinandyb 2023-11-22 23:43:28 +01:00
Makefile mk: deprecate BSD make in favor of GNU make 2023-08-11 21:13:39 +02:00
README.md readme: add security report mailing list info 2025-06-02 09:46:06 +02:00

aerc

builds.sr.ht status GitHub macOS CI status

aerc is an email client for your terminal.

This is a fork of the original aerc by Drew DeVault.

A short demonstration can be found on https://aerc-mail.org/

Join the IRC channel: #aerc on irc.libera.chat for end-user support, and development.

Usage

On its first run, aerc will copy the default config files to ~/.config/aerc on Linux or ~/Library/Preferences/aerc on MacOS (or $XDG_CONFIG_HOME/aerc if set) and show the account configuration wizard.

If you redirect stdout to a file, logging output will be written to that file:

$ aerc > log

Note that the default HTML filter additionally needs w3m to be installed along with optional unshare (from util-linux) or socksify (from dante-utils).

Documentation

Also available as man pages:

User contributions and integration with external tools:

Installation

Binary Packages

Recent versions of aerc are available on:

And likely other platforms.

From Source

Install the dependencies:

  • go (>=1.23) (Go versions are supported until their end-of-life; support for older versions may be dropped at any time due to incompatibilities or newer required language features.)
  • scdoc
  • GNU make

Then compile aerc:

$ gmake

aerc optionally supports notmuch. To enable it, you need to have a recent version of notmuch, including the header files (notmuch.h). The notmuch build tag should be automatically added. To check if it is, run the following command:

$ ./aerc -v
aerc 0.14.0-108-g31e1cd9af565 +notmuch (go1.19.6 amd64 linux)
                              ^^^^^^^^

If it is not, you can force it before building:

$ gmake GOFLAGS=-tags=notmuch

If you have notmuch headers available but do not want to build notmuch support in aerc, force GOFLAGS to an empty value:

$ gmake GOFLAGS=

To install aerc locally:

# gmake install

By default, aerc will install config files to directories under /usr/local/aerc, and will search for templates and stylesets in these locations in order:

  • ${XDG_CONFIG_HOME:-~/.config}/aerc
  • ${XDG_DATA_HOME:-~/.local/share}/aerc
  • /usr/local/share/aerc
  • /usr/share/aerc

At build time it is possible to add an extra location to this list and to use that location as the default install location for config files by setting the PREFIX option like so:

# gmake PREFIX=/custom/location
# gmake install PREFIX=/custom/location

This will install templates and other config files to /custom/location/share/aerc, and man pages to /custom/location/share/man. This extra location will have lower priority than the XDG locations but higher than the fixed paths.

Contributing

Anyone can contribute to aerc. Please refer to the contribution guidelines

Resources

Ask for support or follow general discussions on ~rjarry/[email protected].

Send patches and development related questions to ~rjarry/[email protected].

Instructions for preparing a patch are available at git-send-email.io

Subscribe to release announcements on ~rjarry/[email protected]

Submit confirmed bug reports and confirmed feature requests on https://todo.sr.ht/~rjarry/aerc.

Send security vulnerability reports via emails to ~rjarry/[email protected] encrypted with the GPG key located at contrib/signing-key.asc (fingerprint DC07 18E3 22E2 C760 5EBD C831 4695 7EC0 8FD0 FE90).

License.

Change log.