1
0
Fork 0
mirror of https://git.sr.ht/~rjarry/aerc synced 2026-01-08 05:07:30 +01:00
cli mail client
Find a file
Fredrik Foss-Indrehus bde0bca3c3 colorize: add error handling for regex compilation
If compilation failed, the uninitialized regex structures would silently
be passed to regexec(), resulting in undefined behavior.

Signed-off-by: Fredrik Foss-Indrehus <fredrik@ffoss.net>
Acked-by: Robin Jarry <robin@jarry.cc>
2026-01-07 11:19:30 +01: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 treewide: run go modernize 2025-12-20 18:06:30 +01:00
commands mark: fix panic on incomplete message 2026-01-07 11:07:34 +01:00
completer treewide: run go modernize 2025-12-20 18:06:30 +01:00
config doc: correct default values to match code 2026-01-07 11:10:49 +01:00
contrib treewide: run go modernize 2025-12-20 18:06:30 +01:00
doc colorize: highlight trailing whitespace in diff lines 2026-01-07 11:19:30 +01:00
filters colorize: add error handling for regex compilation 2026-01-07 11:19:30 +01:00
lib treewide: run go modernize 2025-12-20 18:06:30 +01:00
models templates: add missing methods to TemplateData interface 2026-01-07 11:10:49 +01:00
stylesets colorize: highlight trailing whitespace in diff lines 2026-01-07 11:19:30 +01:00
templates templates: convert html parts before quoting 2025-01-14 21:48:24 +01:00
worker treewide: run go modernize 2025-12-20 18:06:30 +01: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 golangci-lint: update to v2.6.0 2025-11-02 18:01:13 +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 golangci-lint: update to v2.6.0 2025-11-02 18:01:13 +01:00
go.mod viewer: add html-inline-images option 2025-12-04 13:52:37 +01:00
go.sum patch: fix subcommand argument parsing 2025-11-17 09:51:00 +01:00
LICENSE LICENSE: add license name 2022-02-06 16:04:15 +01:00
main.go reload: fix crash when reloading via IPC 2025-09-23 14:02:37 +02: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 help: list pages dynamically from mandb 2025-12-11 21:37:09 +01:00

aerc

logo

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 (no need to be root):

$ gmake install PREFIX=~/.local
$ mandb -q ~/.local/share/man

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
# mandb -q /custom/location/share/man

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/aerc-discuss@lists.sr.ht.

Send patches and development related questions to ~rjarry/aerc-devel@lists.sr.ht.

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

Subscribe to release announcements on ~rjarry/aerc-announce@lists.sr.ht

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

Send security vulnerability reports via emails to ~rjarry/aerc-security@lists.sr.ht 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.