meli/docs/meli.1

17 KiB
Raw Blame History

MELI(1)                     General Commands Manual                    MELI(1)

NAME
     meli – Meli Mail User Agent. meli 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

                test-config [path]
                      Test a configuration file for syntax issues or missing
                      options.

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

                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.

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

                view  View mail from input file.


DESCRIPTION
     meli is a terminal mail client aiming for extensive and user-frendly
     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 emails 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.

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:

     index 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 noticable delay.

   QUERY ABNF SYNTAX
     β€’   query = "(" query ")" | from | to | cc | bcc | alladdresses | subject
         | flags | has_attachments | query "or" query | query "and" query |
         not query

     β€’   not = "not" | "!"

     β€’   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

     β€’   from = "from:" term

     β€’   to = "to:" term

     β€’   cc = "cc:" term

     β€’   bcc = "bcc:" term

     β€’   alladdresses = "alladdresses:" term

     β€’   subject = "subject:" term

     β€’   flags = "flags:" flag | "tags:" flag | "is:" 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_mail) 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_mail 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_mail.

CONTACTS
     meli supports two kinds of contact backends:

           1.   an internal format that gets saved under
                $XDG_DATA_HOME/meli/account_name/addressbook.
           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.

     See meli.conf(5) ACCOUNTS for the complete account 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 Mode

   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.

     set seen, set 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 threads.

     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
                                           unreversible.

   Mail view commands
     pipe EXECUTABLE ARGS                  pipe pager contents to binary

     filter EXECUTABLE ARGS                filter and display pager contents
                                           through command

     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
     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
                                           stderr, separated by NULL bytes.

     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.

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

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 present (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_CONFIG_HOME/meli/hooks/*    Reserved for event hooks.

           $XDG_CONFIG_HOME/meli/plugins/*  Reserved for plugin files.

           $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

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

CONFORMING TO
     β€’   XDG Standard
         https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html.
     β€’   mailcap file, RFC 1524: A User Agent Configuration Mechanism For
         Multimedia Mail Format Information
     β€’   RFC 5322: Internet Message Format
     β€’   RFC 6532: Internationalized Email Headers
     β€’   RFC 2047: MIME (Multipurpose Internet Mail Extensions) Part Three:
         Message Header Extensions for Non-ASCII Text
     β€’   RFC 3676: The Text/Plain Format and DelSp Parameters
     β€’   RFC 3156: MIME Security with OpenPGP
     β€’   RFC 2183: Communicating Presentation Information in Internet
         Messages: The Content-Disposition Header Field
     β€’   RFC 2369: The Use of URLs as Meta-Syntax for Core Mail List Commands
         and their Transport through Message Header Fields
     β€’   maildir https://cr.yp.to/proto/maildir.html.
     β€’   RFC 5321: Simple Mail Transfer Protocol
     β€’   RFC 3461: Simple Mail Transfer Protocol (SMTP) Service Extension for
         Delivery Status Notifications (DSNs)
     β€’   RFC 4954: SMTP Service Extension for Authentication
     β€’   RFC 6152: SMTP Service Extension for 8-bit MIME Transport
     β€’   RFC 4616: The PLAIN Simple Authentication and Security Layer (SASL)
         Mechanism
     β€’   RFC 3501: INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1
     β€’   RFC 3691: Internet Message Access Protocol (IMAP) UNSELECT command
     β€’   RFC 4549: Synch Ops for Disconnected IMAP4 Clients
     β€’   RFC 7162: IMAP Extensions: Quick Flag Changes Resynchronization
         (CONDSTORE) and Quick Mailbox Resynchronization (QRESYNC)
     β€’   RFC 8620: The JSON Meta Application Protocol (JMAP)
     β€’   RFC 8621: The JSON Meta Application Protocol (JMAP) for Mail
     β€’   RFC 3977: Network News Transfer Protocol (NNTP)
     β€’   RFC 6048: Network News Transfer Protocol (NNTP) Additions to LIST
         Command
     β€’   vCard Version 3, RFC 2426: vCard MIME Directory Profile
     β€’   vCard Version 4, RFC 6350: vCard Format Specification
     β€’   RFC 6868 Parameter Value Encoding in iCalendar and vCard

AUTHORS
     Copyright 2017-2022 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).

     https://meli.delivery

Debian                           July 29, 2019                          Debian