meli-terminal-mail-client/meli
Manos Pitsidianakis ce53925f36
Bump version to 0.8.9
This is mostly a fixups release.

Added
=====

- cf16bf65 meli/sqlite3: add tests for reindexing
- a389772d accounts: suggest tips on mailbox_by_path error

Bug Fixes
=========

- 25f0a3f8 conf/terminal: fix serde of ProgressSpinnerSequence
- c375b48e terminal: fix Synchronized Output response parsed as input
  in PR #523 "terminal: fix Synchronized Output response parsed as
  input"
- b7e215f9
  melib/utils: fix test_fd_locks() on platforms without OFD support in
  PR #524 "melib/utils: fix test_fd_locks() on platforms without OFD
  support"
- 25c32a6b meli/docs/meli.conf.examples.5: fix .Dt macro arguments
- 18ae5848 meli: fix reindex of previously indexed account with sqlite3
  backend
- 13e917d9 Fix some compilation errors with cfg feature attrs in PR #531
  "accounts: suggest tips on mailbox_by_path error"
- 8c176d38 contacts/editor: fix crash on saving contact in PR #532
  "contacts/editor: fix crash on saving contact"
- fb5a88c2
  melib/collection: ensure mailbox exists when inserting new envelopes
  in PR #529 "Small account stuff fixes"

Changes
=======

- 7f8f1cf6 melib/gpgme bindings renewal in PR #533 "melib/gpgme
  bindings renewal"
- 9b7825bc Update futures-util dep, remove stderrlog dep
- 4be69360 Remove obsolete "encoding" dependency in PR #530
  "Remove/update obsolete dependencies"

Refactoring
===========

- 5af6e059 meli/accounts: use Arc<str> for account name
- 567270e1 melib: use Vec instead of SmallVec for search results
- 2bd8d7ba
  conf/tests.rs: Rename test functions to follow path convention

Documentation
=============

- 97242482 meli/docs: add meli.conf.examples to CLI and tests
- 0f096338 README.md: Update ways to install, add gitlab mirror link
  in PR #528 "Integrate meli.conf.examples.5 into CLI and build, also
  update README with installation instructions"

Continuous Integration
======================

- 630df308 CI: Add arm64 runners in job matrices in PR #527 "CI: Add
  arm64 runners in job matrices"
- 49ecbb56 CI: .gitea/Makefile.lint: check if nightly exists

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
2024-11-27 16:16:29 +02:00
..
docs meli/docs/meli.conf.examples.5: fix .Dt macro arguments 2024-11-24 11:56:07 +02:00
src Bump version to 0.8.9 2024-11-27 16:16:29 +02:00
tests meli/docs: add meli.conf.examples to CLI and tests 2024-11-24 11:56:23 +02:00
build.rs meli/docs: add meli.conf.examples to CLI and tests 2024-11-24 11:56:23 +02:00
Cargo.toml Bump version to 0.8.9 2024-11-27 16:16:29 +02:00
config_macros.rs conf: refactor into submodules 2024-08-11 13:53:48 +03:00
README.md Add meli/README.md symbolic link 2023-08-29 15:01:42 +03:00

meli Established, created in 2017 Minimum Supported Rust Version GitHub license Crates.io IRC channel

BSD/Linux/macos terminal email client with support for multiple accounts and Maildir / mbox / notmuch / IMAP / JMAP / NNTP (Usenet).

Try an old, outdated but online and interactive web demo powered by WebAssembly!

Table of contents:

Install

Packaging status table by repology.org

Build

Run make or cargo build --release --bin meli.

For detailed building instructions, see BUILD.md

Quick start

# Create configuration file in ${XDG_CONFIG_HOME}/meli/config.toml:
$ meli create-config
# Edit configuration in ${EDITOR} or ${VISUAL}:
$ meli edit-config
# Optionally, install manual pages if installed via cargo:
$ meli install-man
# Ready to go.
$ meli
# You can read any manual page with the CLI subcommand `man`:
$ meli man meli.7
# See help output for all options and subcommands.
$ meli --help

See a comprehensive tour of meli in the manual page meli(7).

See also the Quickstart tutorial online.

After installing meli, see meli(1), meli.conf(5), meli(7) and meli-themes(5) for documentation. Sample configuration and theme files can be found in the meli/docs/samples/ subdirectory. Examples for configuration file settings can be found in meli.conf.examples(5) Manual pages are also hosted online. meli by default looks for a configuration file in this location: ${XDG_CONFIG_HOME}/meli/config.toml.

You can run meli with arbitrary configuration files by setting the ${MELI_CONFIG} environment variable to their locations, i.e.:

MELI_CONFIG=./test_config cargo run

See meli(7) for an extensive tutorial and meli.conf(5) for all configuration values.

Main view Compact main view Compose with embed terminal editor
Main view screenshot Compact main view screenshot Compose with embed terminal editor screenshot

Supported E-mail backends

Protocol Support
IMAP full
Maildir full
notmuch full1
mbox read-only
JMAP functional
NNTP / Usenet functional

E-mail submission backends

  • SMTP
  • Pipe to shell script
  • Server-side submission when supported

Non-exhaustive list of features

  • TLS
  • email threading support
  • multithreaded, async operation
  • optionally run your editor of choice inside meli, with an embedded xterm-compatible terminal emulator
  • plain text configuration in TOML
  • ability to open emails in UI tabs and switch to them
  • optional sqlite3 index search
  • override almost any setting per mailbox, per account
  • contact list (+read-only vCard and mutt alias file support)
  • forced UTF-8 (other encodings are read-only)
  • configurable shortcuts
  • theming
  • NO_COLOR support
  • ascii-only drawing characters option
  • view text/html attachments through an html filter command (w3m by default)
  • pipe attachments/mail to stuff
  • use external attachment file picker instead of typing in an attachment's full path
  • GPG signing, encryption, signing + encryption
  • GPG signature verification

HTML Rendering

HTML rendering is achieved using w3m by default. You can use the pager.html_filter setting to override this (for more details you can consult meli.conf(5)).

Documentation

See a comprehensive tour of meli in the manual page meli(7).

See also the Quickstart tutorial online.

After installing meli, see meli(1), meli.conf(5), meli(7) and meli-themes(5) for documentation. Sample configuration and theme files can be found in the meli/docs/samples/ subdirectory. Manual pages are also hosted online.

meli by default looks for a configuration file in this location: ${XDG_CONFIG_HOME}/meli/config.toml

You can run meli with arbitrary configuration files by setting the ${MELI_CONFIG} environment variable to their locations, or use the [-c, --config] argument:

MELI_CONFIG=./test_config meli

or

meli -c ./test_config

  1. there's no support for searching through all email directly, you'd have to create a mailbox with a notmuch query that returns everything and search inside that mailbox. ↩︎