Provided by: meli_0.8.9+dfsg-4_amd64 bug

NAME

     meli — terminal e-mail client μέλι is the Greek word for honey

SYNOPSIS

     meli [--help | -h] [--version | -v] [--config path]

                --help | -h
                      Show help message and exit.

                --version | -v
                      Show version and exit.

                --config path
                      Start meli with given configuration file.

                create-config [path]
                      Create configuration file in path if given, or at
                      $XDG_CONFIG_HOME/meli/config.toml.  If path is - the result is printed to
                      the standard output stream.

                test-config [path]
                      Test a configuration for syntax issues or missing options.  The
                      configuration is read from path if given, or from
                      $XDG_CONFIG_HOME/meli/config.toml.  If path is - the configuration is read
                      from the standard input stream.

                man [page]
                      Print documentation page and exit (Piping to a pager is recommended).

                install-man [path]
                      Install manual pages to the first location provided by MANPATH or
                      manpath(1), unless you specify the directory as an argument.

                compiled-with
                      Print compile time feature flags of this binary.

                edit-config
                      Edit configuration files with EDITOR or VISUAL.

                help  Prints help information or the help of the given subcommand(s).

                print-app-directories
                      Print all directories that meli creates and uses.

                print-config-path
                      Print location of configuration file that will be loaded on normal app
                      startup.

                print-default-theme
                      Print default theme keys and values in TOML syntax, to be used as a
                      blueprint.

                print-loaded-themes
                      Print all loaded themes in TOML syntax.

                print-log-path
                      Print log file location.

                view  View mail from input file.

DESCRIPTION

     meli is a terminal mail client aiming for extensive and user-friendly configurability.

          ^^      .-=-=-=-.  ^^
      ^^        (`-=-=-=-=-`)         ^^
              (`-=-=-=-=-=-=-`)  ^^         ^^
        ^^   (`-=-=-=-=-=-=-=-`)   ^^
            ( `-=-=-=-(@)-=-=-` )      ^^
            (`-=-=-=-=-=-=-=-=-`)  ^^
            (`-=-=-=-=-=-=-=-=-`)          ^^
            (`-=-=-=-=-=-=-=-=-`)
     ^^     (`-=-=-=-=-=-=-=-=-`)  ^^
        ^^   (`-=-=-=-=-=-=-=-`)          ^^
              (`-=-=-=-=-=-=-`)  ^^
       ^^       (`-=-=-=-=-`)
                 `-=-=-=-=-`          ^^

STARTING WITH meli

     When launched for the first time, meli will search for its configuration directory,
     $XDG_CONFIG_HOME/meli/.  If it doesn't exist, you will be asked if you want to create one
     and presented with a sample configuration file ($XDG_CONFIG_HOME/meli/config.toml) that
     includes the basic settings required for setting up accounts allowing you to copy and edit
     right away.  See meli.conf(5) for the available configuration options.

     At any time, you may press ⟨?⟩  (shortcuts.general.toggle_help) for a searchable list of all
     available actions and shortcuts, along with every possible setting and command that your
     version supports.

     The main visual navigation tool, the left-side sidebar may be toggled with ⟨`⟩
     (shortcuts.listing.toggle_menu_visibility).

     Each mailbox may be viewed in 4 modes:
     -   Plain views each mail individually,
     -   Threaded shows their thread relationship visually,
     -   Conversations collapses each thread of e-mails into a single entry,
     -   Compact shows one row per thread.

     If you're using a light color palette in your terminal, you should set theme = light in the
     terminal section of your configuration.  See meli-themes(5) for complete documentation on
     user themes.

     See meli(7) for a more detailed tutorial on using meli.

SHORTCUTS

     See meli.conf(5) SHORTCUTS for shortcuts and their default values.

VIEWING MAIL

     Open attachments by typing their index in the attachments list and then ⟨a⟩
     (shortcuts.envelope_view.open_attachment).  meli will attempt to open text inside its pager,
     and other content via xdg-open.  Press ⟨m⟩  (shortcuts.envelope_view.open_mailcap) instead
     to use the mailcap entry for the MIME type of the attachment, if any.  See FILES for the
     location of the mailcap files and mailcap(5) for their syntax.  You can save individual
     attachments with the

     save-attachment INDEX path-to-file

     command.  INDEX is the attachment's index in the listing.  If the path provided is a
     directory, the attachment is saved with its filename set to the filename in the attachment,
     if any.  If the 0th index is provided, the entire message is saved.  If the path provided is
     a directory, the message is saved as an eml file with its filename set to the messages
     message-id.

SEARCH

     Each e-mail storage backend has a default search method assigned.  IMAP uses the SEARCH
     command, notmuch uses libnotmuch and Maildir/mbox performs a slow linear search.  It is
     advised to use a search backend on Maildir/mbox accounts.  meli, if built with sqlite3,
     includes the ability to perform full text search on the following fields: From, To, Cc, Bcc,
     In-Reply-To, References, Subject and Date.  The message body (in plain text human readable
     form) and the flags can also be queried.  To enable sqlite3 indexing for an account set
     search_backend to sqlite3 in the configuration file and to create the sqlite3 index issue
     command:

     reindex ACCOUNT_NAME

     To search in the message body type your keywords without any special formatting.  To search
     in specific fields, prepend your search keyword with "field:" like so:

           subject:helloooo or subject:"call for help" or "You remind me today of a small,
           Mexican chihuahua."

           not ((from:unrealistic and (to:complex or not query )) or flags:seen,draft)

           alladdresses:mailing@example.com and cc:me@example.com

     Boolean operators are or, and and not (alias: !) String keywords with spaces must be quoted.
     Quotes should always be escaped.

   Important Notice about IMAP/JMAP
     To prevent downloading all your messages from your IMAP/JMAP server, don't set
     search_backend to sqlite3.  meli will relay your queries to the IMAP server.  Expect a delay
     between query and response.  Sqlite3 on the contrary at reasonable mailbox sizes should have
     a non noticeable delay.

   QUERY ABNF SYNTAX
     -   query = "(" query ")" | from | to | cc | bcc | message_id | in_reply_to | references |
         header | all_addresses | subject | flags | has_attachment | query "or" query | query
         "and" query | not query
     -   not = "not" | "!"
     -   has_attachment = "has:attachment" | "has:attachments"
     -   quoted = ALPHA / SP *(ALPHA / DIGIT / SP)
     -   term = ALPHA *(ALPHA / DIGIT) | DQUOTE quoted DQUOTE
     -   tagname = term
     -   flagval = "passed" | "replied" | "seen" | "read" | "junk" | "trash" | "trashed" |
         "draft" | "flagged" | tagname
     -   flagterm = flagval | flagval "," flagterm
     -   flags = "flag:" flag | "flags:" flag | "tag:" flag | "tags:" flag | "is:" flag
     -   from = "from:" term
     -   to = "to:" term
     -   cc = "cc:" term
     -   bcc = "bcc:" term
     -   message_id = "message-id:" term | "msg-id:" term
     -   in_reply_to = "in-reply-to:" term
     -   references = "references:" term
     -   header = "header:" field_name "," field_value
     -   field_name = term
     -   field_value = term
     -   all_addresses = "all-addresses:" term
     -   subject = "subject:" term

FLAGS

     meli supports the basic maildir flags: passed, replied, seen, trashed, draft and flagged.
     Flags can be searched with the ‘flags:’ prefix in a search query, and can be modified by

     flag set FLAG

     and

     flag unset FLAG

TAGS

     meli supports tagging in notmuch and IMAP/JMAP backends.  Tags can be searched with the
     ‘tags:’ or ‘flags:’ prefix in a search query, and can be modified by

     tag add TAG

     and

     tag remove TAG

     (see meli.conf(5) TAGS, settings colors and ignore_tags for how to set tag colors and tag
     visibility)

COMPOSING

   Opening the message Composer tab
     To create a new mail message, press ⟨m⟩  (shortcuts.listing.new_mail) while viewing a
     mailbox.  To reply to a mail, press ⟨R⟩ (shortcuts.envelope_view.reply).  Both these actions
     open the mail composer view in a new tab.

   Editing text
     -   Edit the header fields by selecting with the arrow keys and pressing ⟨Enter⟩
         (shortcuts.general.focus_in_text_field) to enter INSERT mode and Esc key to exit.
     -   At any time you may press ⟨e⟩  (shortcuts.composing.edit) to launch your editor (see
         meli.conf(5) COMPOSING, setting editor_command for how to select which editor to
         launch).
     -   Your editor can be used in meli's embed terminal emulator by setting embed to true in
         your composing settings (You can return to meli at any time by pressing ⟨Ctrl-Z⟩)
     -   When launched, your editor captures all input until it exits or stops.
     -   To stop your editor and return to meli press ⟨Ctrl-z⟩ and to resume editing press the
         edit command again.

   Attachments
     Attachments may be handled with the add-attachment, remove-attachment commands (see below).

   Sending
     Finally, pressing ⟨s⟩  (shortcuts.composing.send_mail) will send your message according to
     your settings (see meli.conf(5) COMPOSING, setting name send_mail).  With no Draft or Sent
     mailbox, meli tries first saving mail in your INBOX and then at any other mailbox.  On
     complete failure to save your draft or sent message it will be saved in your tmp directory
     instead and you will be notified of its location.

   Drafts
     To save your draft without sending it, issue COMMAND close and select 'save as draft'.

     To open a draft for further editing, select your draft in the mail listing and press edit.

CONTACTS

     meli supports three kinds of contact backends:
     1.   an internal format that gets saved under $XDG_DATA_HOME/meli/account_name/contacts.
     2.   vCard files (v3, v4) through the vcard_folder option in the account section.  The path
          defined as vcard_folder can hold multiple vCards per file.  They are loaded read only.
     3.   a mutt(1) compatible alias file in the option mutt_alias_file

     See meli.conf(5) ACCOUNTS for the complete account contact configuration values.

MODES

     NORMAL    is the default mode
     COMMAND   commands are issued in COMMAND mode, by default started with ⟨:⟩
               (shortcuts.general.enter_command_mode) and exited with ⟨Esc⟩ key.
     EMBED     is the mode of the embed terminal emulator
     INSERT    captures all input as text input, and is exited with Esc key.

COMMAND

   Mail listing commands
     set plain | threaded | compact | conversations
                                           set the way mailboxes are displayed

     ┌──────────────┬─────────────────────────────────────────────────┐
     │conversations │ shows one entry per thread                      │
     ├──────────────┼─────────────────────────────────────────────────┤
     │compact       │ shows one row per thread                        │
     ├──────────────┼─────────────────────────────────────────────────┤
     │threaded      │ shows threads as a tree structure               │
     ├──────────────┼─────────────────────────────────────────────────┤
     │plain         │ shows one row per mail, regardless of threading │
     └──────────────┴─────────────────────────────────────────────────┘
     sort [subject | date] asc | desc      sort mail listing

     subsort [subject | date] asc | desc   sorts only the first level of replies.

     go n                                  where n is a mailbox prefixed with the n number in the
                                           side menu for the current account

     toggle thread_snooze                  don't issue notifications for thread under cursor in
                                           thread listing

     search STRING                         search mailbox with STRING query.  Escape exits search
                                           results.

     select STRING                         select threads matching STRING query.

     clear-selection                       Clear current selection.

     set seen | unseen                     Set seen status of message.

     import FILEPATH MAILBOX_PATH          Import mail from file into given mailbox.

     copyto, moveto MAILBOX_PATH           Copy or move to other mailbox.

     copyto, moveto ACCOUNT MAILBOX_PATH   Copy or move to another account's mailbox.

     delete                                Delete selected entries.

     export-mbox FILEPATH                  Export selected threads to mboxcl2 file.

     create-mailbox ACCOUNT MAILBOX_PATH   create mailbox with given path.  Be careful with
                                           backends and separator sensitivity (eg IMAP)

     subscribe-mailbox ACCOUNT MAILBOX_PATH
                                           subscribe to mailbox with given path

     unsubscribe-mailbox ACCOUNT MAILBOX_PATH
                                           unsubscribe to mailbox with given path

     rename-mailbox ACCOUNT MAILBOX_PATH_SRC MAILBOX_PATH_DEST
                                           rename mailbox

     delete-mailbox ACCOUNT MAILBOX_PATH   deletes mailbox in the mail backend.  This action is
                                           irreversible.

   Mail view commands
     pipe EXECUTABLE [ARGS]                pipe pager contents to binary

     filter EXECUTABLE [ARGS]              filter and display pager contents through command

     filter                                select a filter from pager.named_filters configuration
                                           value (See meli.conf(5) PAGER for its syntax)

     list-post                             post in list of viewed envelope

     list-unsubscribe                      unsubscribe automatically from list of viewed envelope

     list-archive                          open list archive with xdg-open

   Composing mail commands
     mailto MAILTO_ADDRESS                 Opens a composer tab with initial values parsed from
                                           the mailto: address.

     add-attachment PATH                   in composer, add PATH as an attachment

     add-attachment < CMD ARGS             in composer, pipe CMD ARGS output into an attachment

     add-attachment-file-picker            Launch command defined in the configuration value
                                           file_picker_command in meli.conf(5) TERMINAL

     add-attachment-file-picker < CMD ARGS
                                           Launch command CMD ARGS.  The command should print
                                           file paths in stdout, separated by NUL bytes.  Example
                                           usage with fzf:
                                                 add-attachment-file-picker < fzf --print0

     remove-attachment INDEX               remove attachment with given index

     toggle sign                           toggle between signing and not signing this message.
                                           If the gpg invocation fails then the mail won't be
                                           sent.  See meli.conf(5) PGP for PGP configuration.

     save-draft                            saves a copy of the draft in the Draft folder

   Generic commands
     open-in-tab                           opens envelope view in new tab

     close                                 closes closeable tabs

     setenv KEY=VALUE                      set environment variable KEY to VALUE

     printenv KEY                          print environment variable KEY

     quit                                  Quits meli.

     reload-config                         Reloads configuration but only if account
                                           configuration is unchanged.  Useful if you want to
                                           reload some settings without restarting meli.

EXIT STATUS

     meli exits with 0 on a successful run.  Other exit statuses are:

     1      catchall for general errors

     101    process panic

ENVIRONMENT

           EDITOR                           Specifies the editor to use

           MELI_CONFIG                      Override the configuration file

           NO_COLOR                         When defined (regardless of its value), prevents the
                                            addition of ANSI color.  The configuration value
                                            use_color overrides this.

FILES

     meli uses the following parts of the XDG standard:

           XDG_CONFIG_HOME                  defaults to ~/.config/

           XDG_CACHE_HOME                   defaults to ~/.cache/

     and appropriates the following locations:

           $XDG_CONFIG_HOME/meli/           User configuration directory

           $XDG_CONFIG_HOME/meli/config.toml
                                            User configuration file, see meli.conf(5) for its
                                            syntax and values.

           $XDG_CACHE_HOME/meli/*           Internal cached data used by meli.

           $XDG_DATA_HOME/meli/*            Internal data used by meli.

           $XDG_DATA_HOME/meli/meli.log     Operation log.

           /tmp/meli/*                      Temporary files generated by meli.

     Mailcap entries are searched for in the following files, in this order:

           1.   $XDG_CONFIG_HOME/meli/mailcap
           2.   $XDG_CONFIG_HOME/.mailcap
           3.   $HOME/.mailcap
           4.   /etc/mailcap
           5.   /usr/etc/mailcap
           6.   /usr/local/etc/mailcap

STANDARDS

     -   Waldo Bastian, Allison Karlitskaya, Lennart Poettering, and Johannes Löthberg, XDG Base
         Directory Specification, https://specifications.freedesktop.org/basedir-spec/basedir-
         spec-latest.html, May 08, 2021, Version 0.8.
     -   Daniel J. Bernstein, maildir, https://cr.yp.to/proto/maildir.html, 1995.
     -   Dr. Nathaniel S. Borenstein, RFC1524 A User Agent Configuration Mechanism For Multimedia
         Mail Format Information, Legacy, https://datatracker.ietf.org/doc/rfc1524/, September
         01, 1993, mailcap file.
     -   Keith Moore, RFC2047 MIME (Multipurpose Internet Mail Extensions) Part Three: Message
         Header Extensions for Non-ASCII Text, IETF, https://datatracker.ietf.org/doc/rfc2047/,
         November 01, 1996.
     -   Rens Troost, Steve Dorner, and Keith Moore, RFC2183 Communicating Presentation
         Information in Internet Messages: The Content-Disposition Header Field, Legacy,
         https://datatracker.ietf.org/doc/rfc2183/, August 01, 1997.
     -   Joshua D. Baer and Grant Neufeld, RFC2369 The Use of URLs as Meta-Syntax for Core Mail
         List Commands and their Transport through Message Header Fields, Legacy,
         https://datatracker.ietf.org/doc/rfc2369/, July 01, 1998.
     -   Frank Dawson and Tim Howes, RFC2426 vCard MIME Directory Profile, IETF,
         https://datatracker.ietf.org/doc/rfc2426/, September 01, 1998, vCard Version 3.
     -   Tim Showalter, RFC2971 IMAP4 ID extension, IETF,
         https://datatracker.ietf.org/doc/rfc2971/, October 01, 2000.
     -   Thomas Roessler, Michael Elkins, Raph Levien, and Dave Del Torto, RFC3156 MIME Security
         with OpenPGP, IETF, https://datatracker.ietf.org/doc/rfc3156/, August 01, 2001.
     -   Keith Moore, RFC3461 Simple Mail Transfer Protocol (SMTP) Service Extension for Delivery
         Status Notifications (DSNs), IETF, https://datatracker.ietf.org/doc/rfc3461/, January
         23, 2003.
     -   Mark Crispin, RFC3501 INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1, IETF,
         https://datatracker.ietf.org/doc/rfc3501/, March 18, 2003.
     -   Randall Gellens, RFC3676 The Text/Plain Format and DelSp Parameters, IETF,
         https://datatracker.ietf.org/doc/rfc3676/, February 19, 2004.
     -   Alexey Melnikov, RFC3691 Internet Message Access Protocol (IMAP) UNSELECT command, IETF,
         https://datatracker.ietf.org/doc/rfc3691/, February 20, 2004.
     -   Clive Feather, RFC3977 Network News Transfer Protocol (NNTP), IETF,
         https://datatracker.ietf.org/doc/rfc3977/, October 26, 2006.
     -   Kurt Zeilenga, RFC4505 Anonymous Simple Authentication and Security Layer (SASL)
         Mechanism, IETF, https://datatracker.ietf.org/doc/rfc4505/, June 12, 2006.
     -   Alexey Melnikov, RFC4549 Synchronization Operations for Disconnected IMAP4 Clients,
         IETF, https://datatracker.ietf.org/doc/rfc4549/, June 16, 2006.
     -   Kurt Zeilenga, RFC4616 The PLAIN Simple Authentication and Security Layer (SASL)
         Mechanism, IETF, https://datatracker.ietf.org/doc/rfc4616/, August 31, 2006.
     -   Rob Siemborski and Alexey Melnikov, RFC4954 SMTP Service Extension for Authentication,
         IETF, https://datatracker.ietf.org/doc/rfc4954/, July 23, 2007.
     -   Dr. John C. Klensin, RFC5321 Simple Mail Transfer Protocol, IETF,
         https://datatracker.ietf.org/doc/rfc5321/, October 01, 2008.
     -   Pete Resnick, RFC5322 Internet Message Format, IETF,
         https://datatracker.ietf.org/doc/rfc5322/, October 01, 2008.
     -   Julien ÉLIE, RFC6048 Network News Transfer Protocol (NNTP) Additions to LIST Command,
         IETF, https://datatracker.ietf.org/doc/rfc6048/, November 22, 2010.
     -   Dave Crocker, Dr. John C. Klensin, Dr. Marshall T. Rose, and Ned Freed, RFC6152 SMTP
         Service Extension for 8-bit MIME Transport, IETF,
         https://datatracker.ietf.org/doc/rfc6152/, March 07, 2011.
     -   Simon Perreault, RFC6350 vCard Format Specification, IETF,
         https://datatracker.ietf.org/doc/rfc6350/, August 31, 2011, vCard Version 4.
     -   Abel Yang, Shawn Steele, and Ned Freed, RFC6532 Internationalized Email Headers, IETF,
         https://datatracker.ietf.org/doc/rfc6532/, February 17, 2012.
     -   Cyrus Daboo, RFC6868 Parameter Value Encoding in iCalendar and vCard, IETF,
         https://datatracker.ietf.org/doc/rfc6868/, February 14, 2013.
     -   Alexey Melnikov and Dave Cridland, RFC7162 IMAP Extensions: Quick Flag Changes
         Resynchronization (CONDSTORE) and Quick Mailbox Resynchronization (QRESYNC), IETF,
         https://datatracker.ietf.org/doc/rfc7162/, May 23, 2014.
     -   Neil Jenkins and Chris Newman, RFC8620 The JSON Meta Application Protocol (JMAP), IETF,
         https://datatracker.ietf.org/doc/rfc8620/, July 18, 2019.
     -   Neil Jenkins and Chris Newman, RFC8621 The JSON Meta Application Protocol (JMAP) for
         Mail, IETF, https://datatracker.ietf.org/doc/rfc8621/, August 08, 2019.

SEE ALSO

     meli.conf(5), meli-themes(5), meli(7), xdg-open(1), mailcap(5)

AUTHORS

     Copyright 2017–2024 Manos Pitsidianakis <manos@pitsidianak.is>

     Released under the GPL, version 3 or greater.  This software carries no warranty of any
     kind.  (See COPYING for full copyright and warranty notices.)

   Links
     Website: https://meli-email.org
     Main git repository and issue tracker: https://git.meli-email.org/meli/meli
     Official read-only git mirror on codeberg.org: https://codeberg.org/meli/meli
     Official read-only git mirror on github.com: https://github.com/meli/meli
     meli crate on crates.io: https://crates.io/crates/meli