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

NAME

       meli.conf — configuration file for the meli(1) terminal e-mail client

SYNOPSIS

       $XDG_CONFIG_HOME/meli/config.toml

DESCRIPTION

       Configuration for meli is written in TOML which has a few things to consider (quoting the specification):

       -   TOML is case sensitive.
       -   A TOML file must be a valid UTF-8 encoded Unicode document.
       -   White-space means tab (0x09) or space (0x20).
       -   Newline means LF (0x0A) or CRLF (0x0D 0x0A).

       Refer to TOML documentation for valid TOML syntax.

       Though  not  part  of  TOML  syntax, meli.conf can have nested configuration files by using the following
       m4(1) include macro:

             include("/path/to/file")

SECTIONS

       The top level sections of the configuration are:
       -   accounts
       -   shortcuts
       -   notifications
       -   pager
       -   listing
       -   composing
       -   pgp
       -   terminal
       -   log

EXAMPLES

       An example configuration:

       # Setting up a Maildir account
       [accounts.account-name]
       root_mailbox = "/path/to/root/folder"
       format = "Maildir"
       listing.index_style = "Compact"
       identity="email@example.com"
       subscribed_mailboxes = ["folder", "folder/Sent"] # or [ "*", ] for all mailboxes
       display_name = "Name"

       # Set mailbox-specific settings
         [accounts.account-name.mailboxes]
         "INBOX" = { alias="Inbox" } #inline table
         "drafts" = { alias="Drafts" } #inline table
         [accounts.account-name.mailboxes."foobar-devel"] # or a regular table
           ignore = true # don't show notifications for this mailbox

       # Setting up an mbox account
       [accounts.mbox]
       root_mailbox = "/var/mail/username"
       format = "mbox"
       listing.index_style = "Compact"
       identity="username@hostname.local"
       composing.send_mail = { hostname = "localhost", port = 25, auth = { type = "none" }, security = { type = "none" } }

       [pager]
       filter = "COLUMNS=72 /usr/local/bin/pygmentize -l email"
       html_filter = "w3m -I utf-8 -T text/html"

       [notifications]
       script = "notify-send"

       [composing]
       # required for sending e-mail
       send_mail = 'msmtp --read-recipients --read-envelope-from'
       #send_mail = { hostname = "smtp.example.com", port = 587, auth = { type = "auto", username = "user", password = { type = "command_eval", value = "gpg2 --no-tty -q -d ~/.passwords/user.gpg" } }, security = { type = "STARTTLS" } }
       editor_command = 'vim +/^$'

       [shortcuts]
       [shortcuts.composing]
       edit = 'e'

       [shortcuts.listing]
       new_mail = 'm'
       set_seen = 'n'

       [terminal]
       theme = "light"

       Available options are listed below.

ACCOUNTS

   Account configuration settings
       Default values are shown in parentheses.

       root_mailbox String                   The backend-specific path of the root_mailbox, usually INBOX.

       default_mailbox String                (optional) The mailbox that is the default to open or view for this
                                             account.  Must be a valid mailbox  path.   If  not  specified,  the
                                             default will be the root mailbox.

       format String [maildir mbox imap notmuch jmap]
                                             The format of the mail backend.

       subscribed_mailboxes [String,]        An array of mailbox paths to display in the UI.  Paths are relative
                                             to  the  root  mailbox  (e.g.   INBOX/Sent,  not  Sent).   The glob
                                             wildcard * can be used to match every mailbox name and path.

       identity String                       Your e-mail address that  is  inserted  in  the  From:  headers  of
                                             outgoing mail.

       extra_identities [String,]            Extra  e-mail  address  identities.   When  replying  to  an e-mail
                                             addressed to one of these identities,  the  From:  header  will  be
                                             adjusted to its value instead of the default identity.

       display_name String                   (optional)  A  name  which can be combined with your address: "Name
                                             <email@example.com>".

       read_only boolean                     Attempt to not make any changes to this account.  (false)

       manual_refresh boolean                (optional) If true, do not monitor account for changes (you can use
                                             shortcut listing.refresh).  (false)

       refresh_command String                (optional) command to execute when  manually  refreshing  (shortcut
                                             listing.refresh) (None)

       search_backend String                 (optional)  Choose  which search backend to use.  Available options
                                             are "none" and "sqlite3".  ("sqlite3")

       vcard_folder String                   (optional) Folder that contains .vcf files.  They  are  parsed  and
                                             imported read-only.

       mutt_alias_file String                (optional) Path of mutt(1) compatible alias file in the option They
                                             are parsed and imported read-only.

       mailboxes mailbox                     (optional) Configuration for each mailbox.  Its format is described
                                             below in “mailboxes”.

   notmuch only
       notmuch  is  supported  by  loading the dynamic library libnotmuch.  If its location is missing from your
       library paths, you must add it yourself.  Alternatively, you can specify its path by using a setting.

       notmuch mailboxes are virtual, since they are defined by user-given notmuch queries.  You must explicitly
       state the mailboxes you want in the mailboxes field and set the query  property  to  each  of  them.   To
       create  a  tree  hierarchy with virtual mailboxes, define the parent property to a mailbox as the name of
       the parent mailbox you have used in your configuration.

       Account properties:

       root_mailbox                          points to the directory which contains the .notmuch/ subdirectory.

       library_file_path Path                Use an arbitrary location of  libnotmuch  by  specifying  its  full
                                             filesystem path.  (optional)
       Mailbox properties:

       query String                          The  notmuch  query  that defines what content this virtual mailbox
                                             has.  Refer to notmuch-search-terms(7) for notmuch's search syntax.

       parent String                         If you wish to build a mailbox hierarchy,  define  the  name  of  a
                                             parent mailbox you have used in your configuration.  (optional)

       Example:

       [accounts.notmuch]
       format = "notmuch"
       #library_file_path = "/opt/homebrew/lib/libnotmuch.5.dylib"
       ...
         [accounts.notmuch.mailboxes]
         "INBOX" = {  query="tag:inbox", subscribe = true }
         "Drafts" = {  query="tag:draft", subscribe = true }
         "Sent" = {  query="from:username@example.com from:username2@example.com", subscribe = true }
         "Archives" = {  query="tag:archived", subscribe = true }
         "Archives/2019" = {  query="tag:archived date:01-2019..12-2019", parent="Archives", subscribe = true }

   IMAP only
       IMAP specific options are:

       server_hostname String                example: "mail.example.com"

       server_username String                Server username

       server_password String                Server password

       server_password_command String        (optional) Use instead of server_password

       server_port number                    (optional) The port to connect to (143)

       use_starttls boolean                  (optional)  If  port  is  993 and "use_starttls" is unspecified, it
                                             becomes false by default.  (true)

       use_tls boolean                       (optional) Connect with TLS (or upgrade from  plain  connection  to
                                             TLS if STARTTLS is set.)  (true)

       danger_accept_invalid_certs boolean   (optional) Do not validate TLS certificates.  (false)

       offline_cache boolean                 (optional) Keep mail headers in an sqlite3 database.  (true)

       use_idle boolean                      (optional) Use IDLE extension.  (true)

       use_condstore boolean                 (optional) Use CONDSTORE extension.  (true)

       use_deflate boolean                   (optional)  Use  COMPRESS=DEFLATE  extension (if built with DEFLATE
                                             support) (true)

       use_oauth2 boolean                    (optional) Use  OAUTH2  authentication.   Can  only  be  used  with
                                             server_password_command which should return a base64-encoded OAUTH2
                                             token  ready  to  be passed to IMAP.  For help on setup with Gmail,
                                             see Gmail section below.  (false)

       use_auth_anonymous boolean            (optional)  Use  AUTH=ANONYMOUS   extension   for   authentication.
                                             (false)

       use_id boolean                        (optional)  Use  ID extension to retrieve server metadata, viewable
                                             at the account status  page.   Enabling  this  does  not  send  any
                                             information to the server.  (false)

       timeout integer                       (optional)  Timeout  to  use  for server connections in seconds.  A
                                             timeout of 0 seconds means there is no timeout.  (16)

   Gmail
       Gmail has non-standard IMAP behaviors that need to be worked around.

   Gmail - sending mail
       Option store_sent_mail should be disabled since Gmail auto-saves sent mail by its own.

   Gmail OAUTH2
       To use OAUTH2, you must go through a process to register your own private "application" with Google  that
       can use OAUTH2 tokens, and set the option use_oauth2 as ‘true’ in the account configuration section.  For
       convenience  in  the  meli  repository  under  the  contrib/  directory you can find a python3 file named
       oauth2.py to generate and request the appropriate data to perform OAUTH2 authentication.

       Steps:
       -   In Google APIs, create a custom OAuth client ID and note down the Client ID and Client  Secret.   You
           may need to create a consent screen; follow the steps described in the website.
       -   Run the oauth2.py script as follows (after adjusting binary paths and credentials):

           python3      oauth2.py      --user=xxx@gmail.com     --client_id=1038[...].apps.googleusercontent.com
           --client_secret=VWFn8LIKAMC-MsjBMhJeOplZ --generate_oauth2_token and follow the  instructions.   Note
           down the refresh token.
       -   In server_password_command enter a command like this (after adjusting binary paths and credentials):

           TOKEN=$(python3                 oauth2.py                 --user=xxx@gmail.com                --quiet
           --client_id=1038[...].apps.googleusercontent.com             --client_secret=VWFn8LIKAMC-MsjBMhJeOplZ
           --refresh_token=1/Yzm6MRy4q1xi7Dx2DuWXNgT6s37OrP_DW_IoyTum4YA)       &&       python3       oauth2.py
           --user=xxx@gmail.com --generate_oauth2_string --quiet --access_token=$TOKEN
       -   On startup, meli should evaluate this command which if successful must only return  a  base64-encoded
           token ready to be passed to IMAP.

           Your account section should look like this:

           [accounts."gmail"]
           root_mailbox = '[Gmail]'
           format = "imap"
           server_hostname='imap.gmail.com'
           server_username="username@gmail.com"
           use_oauth2 = true
           server_password_command = "TOKEN=$(py...th2_string --quiet --access_token=$TOKEN"
           server_port="993"
           listing.index_style = "Conversations"
           identity = "username@gmail.com"
           display_name = "Name Name"
           subscribed_mailboxes = ["*" ]
           composing.store_sent_mail = false
           composing.send_mail = { hostname = "smtp.gmail.com", port = 587, auth = { type = "xoauth2", token_command = "...", require_auth = true }, security = { type = "STARTTLS" } }

   JMAP only
       JMAP specific options

       server_url String                     example:  "http://mail.example.com"  "http://mail.example.com:8080"
                                             "https://mail.example.com"

       server_username String                Server username

       server_password String                Server password

       server_password_command String        (optional) Use instead of server_password

       use_token boolean                     Authenticate using the API Bearer token method.   If  enabled,  the
                                             token value must be provided as the configured password.  (false)

       danger_accept_invalid_certs boolean   (optional) Do not validate TLS certificates.  (false)

       timeout integer                       (optional)  Timeout  to  use  for server connections in seconds.  A
                                             timeout of 0 seconds means there is no timeout.  (16)

   mbox only
       mbox specific options:

       prefer_mbox_type String               (optional) Prefer specific mbox format  reader  for  each  message.
                                             Default  is  "mboxcl2"  format.  If the preferred format fails, the
                                             message is retried with mboxrd and then if it fails again there  is
                                             a recover attempt, which discards the invalid message.

                                             Valid values
                                             -   auto
                                             -   mboxo
                                             -   mboxrd
                                             -   mboxcl
                                             -   mboxcl2
                                             (auto)
       To set multiple mailboxes, you have to explicitly state the mailboxes you want in the mailboxes field and
       set the path property to each of them.  Example:

       [accounts.mbox]
       format = "mbox"
       mailboxes."Python mailing list" = { path = "~/.mail/python.mbox", subscribe = true, autoload = true }

   NNTP
       NNTP specific options

       server_hostname String                example: "nntp.example.com"

       server_username String                Server username

       server_password String                Server password

       require_auth boolean                  (optional) require authentication in every case (true)

       use_tls boolean                       (optional) Connect with TLS.  (false)

       server_port number                    (optional) The port to connect to (119)

       danger_accept_invalid_certs boolean   (optional) Do not validate TLS certificates.  (false)

       store_flags_locally boolean           (optional)  Store  seen  status  locally  in  an  sqlite3 database.
                                             (true)

       timeout integer                       (optional) Timeout to use for server  connections  in  seconds.   A
                                             timeout of 0 seconds means there is no timeout.  (16)

       You have to explicitly state the groups you want to see in the mailboxes field.  Example:

       [accounts.sicpm.mailboxes]
         "sic.all" = {}

       To  submit  articles directly to the NNTP server, you must set the special value server_submission in the
       send_mail field.  Example:

       composing.send_mail = "server_submission"

   MAILBOXES
       alias String                          (optional) Show a different name for this mailbox in the UI.

       autoload boolean                      (optional) Load this mailbox on startup (true)

       collapsed boolean                     (optional) Collapse this mailbox subtree in menu.  (false)

       subscribe boolean                     (optional) Watch this mailbox for updates.  (true)

       ignore boolean                        (optional) Silently  insert  updates  for  this  mailbox,  if  any.
                                             (false)

       usage boolean                         (optional) special usage of this mailbox.  Valid values are:
                                             -   Normal (default)
                                             -   Inbox
                                             -   Archive
                                             -   Drafts
                                             -   Flagged
                                             -   Junk
                                             -   Sent
                                             -   Trash
                                             otherwise usage is inferred from the mailbox title.  If for example
                                             your Sent folder is not named "Sent", you must explicitly set it.

       conf_override boolean                 (optional)  Override  global  settings for this mailbox.  Available
                                             sections to override are pager, notifications, shortcuts, composing
                                             and the account options identity.  Example:

                                             [accounts."imap.example.com".mailboxes]
                                               "INBOX" = { index_style = "plain" }
                                               "INBOX/Lists/devlist" = { autoload = false, pager = { filter = "pygmentize -l diff -f 256"} }

       sort_order unsigned integer           (optional) Override sort order on the  sidebar  for  this  mailbox.
                                             Example:

                                             [accounts."imap.example.com".mailboxes]
                                               "INBOX" = { index_style = "plain" }
                                               "INBOX/Sent" = { sort_order = 0 }
                                               "INBOX/Drafts" = { sort_order = 1 }
                                               "INBOX/Lists" = { sort_order = 2 }

       encoding String                       (optional) Override the default UTF-8 charset for the mailbox name.
                                             Useful only for UTF-7 mailboxes.  (utf7, utf-7, utf8, utf-8)

COMPOSING

   Composing specific configuration settings
       Default values are shown in parentheses.

       send_mail String|SmtpServerConf       Command  to  pipe  new mail to (exit code must be 0 for success) or
                                             settings  for  an  SMTP  server  connection.   See  section   “SMTP
                                             Connections” for its fields.

       editor_command String                 Command  to  launch editor.  Can have arguments.  Draft filename is
                                             given as the last  argument.   If  it's  missing,  the  environment
                                             variable EDITOR is looked up.

       embedded_pty boolean                  (optional)  Embedded  editor  within  meli.   Editor  must be xterm
                                             compliant.  (false)

       format_flowed boolean                 (optional) Set format=flowed [RFC3676] in  text/plain  attachments.
                                             (true)

       insert_user_agent boolean             (optional) Add meli User-Agent header in new drafts.  (true)

       default_header_values hash table String[String]
                                             (optional)  Default  header  values used when creating a new draft.
                                             ({})

       wrap_header_preamble Option<(String, String)>
                                             (optional) Wrap header pre-ample when editing a draft in an editor.
                                             This allows you to write non-plain text email without the  preamble
                                             creating syntax errors.  They are stripped when you return from the
                                             editor.   The  values  should  be a two element array of strings, a
                                             prefix and suffix.  This can be  useful  when  for  example  you're
                                             writing  Markdown;  you  can set the value to ["<!--", "-->"] which
                                             wraps the headers in an HTML comment.  (None)

       store_sent_mail boolean               (optional) Store  sent  mail  after  successful  submission.   This
                                             setting  is  meant  to  be  disabled  for non-standard behaviour in
                                             Gmail, which auto-saves sent mail on its own.  (true)

       attribution_format_string String      (optional) The attribution line  appears  above  the  quoted  reply
                                             text.  The format specifiers for the replied address are:
                                             -   %+f — the sender's name and email address.
                                             -   %+n  —  the  sender's  name  (or  email  address, if no name is
                                                 included).
                                             -   %+a — the sender's email address.
                                             The format  string  is  passed  to  strftime(3)  with  the  replied
                                             envelope's date.  (On %a, %0e %b %Y %H:%M, %+f wrote:%n)

       attribution_use_posix_locale boolean  (optional)  Whether the strftime(3) call for the attribution string
                                             uses the POSIX locale instead of the user's active locale.  (true)

       forward_as_attachment boolean or ask  (optional) Forward emails as attachment? (Alternative  is  inline).
                                             (ask)

       reply_prefix_list_to_strip [String]   (optional) Alternative lists of reply prefixes (etc. ["Re:", "RE:",
                                             ...]) to strip.
                                                   [Re:,  RE:,  Fwd:,  Fw:,  回复:, 回覆:, SV:, Sv:, VS:, Antw:,
                                                   Doorst:, VS:, VL:, REF:, TR:, TR:, AW:, WG:, ΑΠ:,  Απ:,  απ:,
                                                   ΠΡΘ:, Πρθ:, πρθ:, ΣΧΕΤ:, Σχετ:, σχετ:, ΠΡΘ:, Πρθ:, πρθ:, Vá:,
                                                   Továbbítás:,  R:,  I:,  RIF:, FS:, BLS:, TRS:, VS:, VB:, RV:,
                                                   RES:, Res, ENC:, Odp:, PD:, YNT:, İLT:, ATB:, YML:]

       reply_prefix String                   (optional) The prefix to use in reply subjects.  The default prefix
                                             is ‘Re:’.  (‘Re:’)

                                             RFC 2822, "Internet Message Format" has this to say on the matter:
                                                   When used in a reply, the field body MAY start with the string "Re: " (from
                                                   the Latin "res", in the matter of) followed by the contents of the "Subject:"
                                                   field body of the original message.

       custom_compose_hooks [{ name = String, command = String }]
                                             (optional) Custom compose-hooks that run shell  scripts.   compose-
                                             hooks   run  before  submitting  an  e-mail.   They  perform  draft
                                             validation and/or transformations.  If a custom hook exits with  an
                                             error status or prints output to stdout and stderr, it will show up
                                             in the UI as a notification.

                                             Example:

                                             [composing]
                                             editor_cmd = '~/.local/bin/vim +/^$'
                                             embed = true
                                             custom_compose_hooks = [ { name ="spellcheck", command="aspell --mode email --dont-suggest --ignore-case list" }]

       disabled_compose_hooks [String]       (optional)   Disabled   compose-hooks.   compose-hooks  run  before
                                             submitting  an  e-mail.   They  perform  draft  validation   and/or
                                             transformations.  If a hook encounters an error or warning, it will
                                             show up as a notification.  The currently available hooks are:
                                             -   past-date-warn  —  Warn if Date header value is far in the past
                                                 or future.
                                             -   important-header-warn — Warn if important headers (From,  Date,
                                                 To, Cc, Bcc) are missing or invalid.
                                             -   missing-attachment-warn  — Warn if Subjector draft body mention
                                                 attachments but they are missing.
                                             -   empty-draft-warn — Warn if draft has no subject and no body.

       signature_file Path                   (optional) Plain text file with signature that will pre-populate an
                                             email draft.  Signatures must be explicitly  enabled  to  be  used,
                                             otherwise this setting will be ignored.  (None)

       use_signature bool                    Pre-populate email drafts with signature, if any.  meli will lookup
                                             the signature value in this order:
                                             1.   The signature_file setting.
                                             2.   ${XDG_CONFIG_DIR}/meli/<account>/signature
                                             3.   ${XDG_CONFIG_DIR}/meli/signature
                                             4.   ${XDG_CONFIG_DIR}/signature
                                             5.   ${HOME}/.signature
                                             6.   No signature otherwise.
                                             (false)

       signature_delimiter String            (optional) Signature delimiter, that is, text that will be prefixed
                                             to  your  signature  to  separate it from the email body.  (‘\n\n--
                                             \n’)

SHORTCUTS

   Values corresponding to keyboard keys, keycodes
       Shortcuts can take the following values:

       -   Backspace
       -   Left
       -   Right
       -   Up
       -   Down
       -   Home
       -   End
       -   PageUp
       -   PageDown
       -   Delete
       -   Insert
       -   Enter
       -   Tab
       -   Esc
       -   F1..F12
       -   M-char
       -   C-char
       -   char

       Where char is a single character string, maximum 4 bytes long, like the corresponding type in Rust.

       In the next subsection, you will find lists for each shortcut category.  The headings  before  each  list
       indicate  the  map  key  of  the  shortcut  list.   For  example  for  the  first list titled general the
       configuration is typed as follows:

       [shortcuts.general]
       next_tab = 'T'

       and for listing:

       [shortcuts.listing]
       open_entry = "Enter"
       exit_entry = 'i'

       commands

       In addition, each shortcuts section supports a TOML array of commands to associate a key to an  array  of
       COMMAND mode commands.

       [shortcuts.listing]
       commands = [ { command = [ "tag remove trash", "flag unset trash" ], shortcut = "D" },
                    { command = [ "tag add trash", "flag set trash" ], shortcut = "d" } ]

   Shortcut configuration settings
       Default values are shown in parentheses.

       general

       toggle_help                           Toggle help and shortcuts view.  (?)

       enter_command_mode                    Enter COMMAND mode.  (:)

       quit                                  Quit meli.  (q)

       go_to_tab                             Go to the nth tab (M-n)

       next_tab                              Go to the next tab.  (T)

       scroll_right                          Generic scroll right (catch-all setting) (l)

       scroll_left                           Generic scroll left (catch-all setting) (h)

       scroll_up                             Generic scroll up (catch-all setting) (k)

       scroll_down                           Generic scroll down (catch-all setting) (j)

       next_page                             Go to next page.  (catch-all setting) (PageDown)

       prev_page                             Go to previous page.  (catch-all setting) (PageUp)

       home_page                             Go to first page.  (catch-all setting) (Home)

       end_page                              Go to last page. (catch-all setting) (End)

       open_entry                            Open list entry. (catch-all setting) (Enter)

       info_message_next                     Show next info message, if any.  (>)

       info_message_previous                 Show previous info message, if any.  (<)

       focus_in_text_field                   Focus on a text field.  (Enter)

       next_search_result                    Scroll to next search result.  (n)

       previous_search_result                Scroll to previous search result.  (N)

       listing

       scroll_up                             Scroll up list.  (k)

       scroll_down                           Scroll down list.  (j)

       next_page                             Go to next page.  (PageDown)

       prev_page                             Go to previous page.  (PageUp)

       new_mail                              Start new mail draft in new tab.  (m)

       next_account                          Go to next account.  (H)

       prev_account                          Go to previous account.  (L)

       next_mailbox                          Go to next mailbox.  (J)

       prev_mailbox                          Go to previous mailbox.  (K)

       open_mailbox                          Open selected mailbox (Enter)

       toggle_mailbox_collapse               Toggle mailbox visibility in menu.  (Space)

       search                                Search within list of e-mails.  (/)

       refresh                               Manually request a mailbox refresh.  (F5)

       set_seen                              Set thread as seen.  (n)

       send_to_trash                         Send entry to trash folder.  (D)

       union_modifier                        Union modifier.  (C-u)

       diff_modifier                         Difference modifier.  (C-d)

       intersection_modifier                 Intersection modifier.  (i)

       select_entry                          Select (or toggle) thread entry.  (V)

       select_motion                         Perform select motion with a movement.  (v)

       increase_sidebar                      Increase sidebar width.  (C-f)

       decrease_sidebar                      Decrease sidebar width.  (C-d)

       next_entry                            When  reading  a mail item, change focus on next entry according to
                                             the current sorting.  (C-n)

       previous_entry                        When reading a mail item, change focus on previous entry  according
                                             to the current sorting.  (C-p)

       toggle_menu_visibility                Toggle visibility of side menu in mail list.  (`)

       focus_left                            Switch focus on the left.  (Left)

       focus_right                           Switch focus on the right.  (Right)

       exit_entry                            Exit e-mail entry.  (i)

       open_entry                            Open e-mail entry.  (Enter)

       pager

       page_down                             Go to next page.  (PageDown)

       page_up                               Go to previous page.  (PageUp)

       scroll_down                           Scroll down pager.  (j)

       scroll_up                             Scroll up pager.  (k)

       select_filter                         Select content filter.  (f)

                                             See also named_filters setting.

       contact-list

       scroll_up                             Scroll up list.  (k)

       scroll_down                           Scroll down list.  (j)

       create_contact                        Create new contact.  (c)

       edit_contact                          Edit contact under cursor.  (e)

       export_contact                        Export contact under cursor to .vcf.  (E)

       delete_contact                        Delete contact under cursor.  (d)

       mail_contact                          Mail contact under cursor.  (m)

       next_account                          Go to next account.  (H)

       prev_account                          Go to previous account.  (L)

       toggle_menu_visibility                Toggle visibility of side menu in mail list.  (`)

       composing

       edit                                  Edit mail.  (e)

       send_mail                             Deliver draft to mailer (s)

       scroll_up                             Change field focus.  (k)

       scroll_down                           Change field focus.  (j)

       envelope-view

       To  select  an  attachment,  type  its  index (you will see the typed result in the command buffer on the
       bottom right of the status line), then issue the corresponding command.

       add_addresses_to_contacts             Select addresses from envelope to add to contacts.  (c)

       edit                                  Open envelope in composer.  (e)

       go_to_url                             Go to url of given index (with the command url_launcher setting  in
                                             “PAGER” section) (g)

       open_attachment                       Opens selected attachment with xdg-open (a)

       open_mailcap                          Opens  selected  attachment  according  to  its mailcap entry.  See
                                             meli(1) FILES for the mailcap file locations.  (m)

       open_html                             Opens html attachment in the default browser.  (v)

       reply                                 Reply to envelope.  (R)

       reply_to_author                       Reply to author.  (C-r)

       reply_to_all                          Reply to all/Reply to list/Follow up.  (C-g)

       forward                               Forward email.  (C-f)

       return_to_normal_view                 Return to envelope if viewing raw source or attachment.  (r)

       toggle_expand_headers                 Expand extra headers (References and others) (h)

       toggle_url_mode                       Toggles url open mode.  When active, it prepends an index  next  to
                                             each  url  that  you  can  select  by  typing the index and open by
                                             issuing go_to_url (u)

       view_raw_source                       View raw envelope source in a pager.  (M-r)

       change_charset                        Force attachment charset for decoding.  (d)

       thread-view

       scroll_up                             Scroll up list.  (k)

       scroll_down                           Scroll down list.  (j)

       collapse_subtree                      collapse thread branches.  (h)

       next_page                             Go to next page.  (PageDown)

       prev_page                             Go to previous page.  (PageUp)

       reverse_thread_order                  reverse thread order.  (C-r)

       toggle_mailview                       toggle mail view visibility.  (p)

       toggle_threadview                     toggle thread view visibility.  (t)

       toggle_layout                         Toggle between horizontal and vertical layout.  (Space)

NOTIFICATIONS

   Notification configuration settings
       Default values are shown in parentheses.

       enable boolean                        Enable notifications.  (true)

       script String                         (optional) Script to pass notifications to, with title as  1st  arg
                                             and body as 2nd (none)

       new_mail_script String                (optional)  A  command  to  pipe  new  mail  notifications  through
                                             (preferred over script), with title as 1st arg  and  body  as  2nd.
                                             (none)

       xbiff_file_path String                (optional)  File  that gets its size updated when new mail arrives.
                                             (none)

       play_sound boolean                    (optional) Play theme sound in notifications if possible.  (false)

       sound_file String                     (optional) Play sound file in notifications if possible.  (none)

PAGER

   Pager (viewing text) configuration settings
       Default values are shown in parentheses.

       sticky_headers boolean                (optional) Always show headers when scrolling.  (false)

       html_filter String                    (optional) Pipe html attachments through this filter before display
                                             (none)

       html_open String                      (optional) A command to open html files.  (none)

       filter String                         (optional) A command to pipe mail output  through  for  viewing  in
                                             pager.

       named_filters String[String]          (optional) Named filter commands to use at will.  (empty)

                                             Show menu with an empty filter command.  Example:

                                             [pager]
                                             named_filters = { diff = "pygmentize -l diff -f 256", par = "par 72" }

       format_flowed boolean                 (optional) Respect format=flowed (true)

       split_long_lines boolean              (optional)  Split  long  lines  that  would overflow on the x axis.
                                             (true)

       minimum_width num                     (optional) Minimum text width in columns.  (80)

       auto_choose_multipart_alternative boolean
                                             (optional) Choose text/html alternative if text/plain is  empty  in
                                             multipart/alternative attachments.  (true)

       show_date_in_my_timezone boolean      (optional) Show Date: in local timezone (true)

       url_launcher String                   (optional) A command to launch URLs with.  The URL will be given as
                                             the first argument of the command.  (xdg-open)

       show_extra_headers [String]           (optional)  Extra  headers  to  display, if present, in the default
                                             header preamble of the pager.  (empty)

                                             This setting is useful especially  when  used  per-folder  or  per-
                                             account.  For example, if you use rss2email (See r2e(1)) the e-mail
                                             you  will  receive will have the X-RSS-Feed header by default.  You
                                             can show them only in the folder where you keep your feed items:

                                             [accounts."personal".mailboxes]
                                             INBOX = {}
                                             "INBOX/Sent" = { sort_order=0 }
                                             "INBOX/Feeds" = { pager.show_extra_headers = ["X-RSS-Feed"] }

LISTING

   Listing (lists of e-mail entries in a mailbox) configuration settings
       Default values are shown in parentheses.

       show_menu_scrollbar boolean           (optional)
                                              Show auto-hiding scrollbar in accounts sidebar menu.  (true)

       datetime_fmt String                   (optional) Datetime  formatting  passed  verbatim  to  strftime(3).
                                             (%Y-%m-%d %T)

       recent_dates Boolean                  (optional)  Show  recent dates as ‘X {minutes,hours,days} ago’ , up
                                             to 7 days. (true)

       filter Query                          (optional) Show only envelopes matching  this  query.   (For  query
                                             syntax see meli(1) QUERY ABNF SYNTAX) (None)

                                             Example:

                                             filter = "not flags:seen" # show only unseen messages

       index_style String                    Sets 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 │
                                             └───────────────┴─────────────────────────────────────────────────┘

       sidebar_mailbox_tree_has_sibling String
                                             (optional) Sets the string to print in the mailbox tree for a level
                                             where  its  root  has  a  sibling.   See  example below for a clear
                                             explanation and examples.

       sidebar_mailbox_tree_no_sibling String
                                             (optional) Sets the string to print in the mailbox tree for a level
                                             where its root has no sibling.

       sidebar_mailbox_tree_has_sibling_leaf String
                                             (optional) Sets the string to print in the mailbox tree for a  leaf
                                             level where its root has a sibling.

       sidebar_mailbox_tree_no_sibling_leaf String
                                             (optional)  Sets the string to print in the mailbox tree for a leaf
                                             level where its root has no sibling.

       sidebar_divider char                  (optional) Sets the character to print as the divider  between  the
                                             accounts list and the message list.

       sidebar_ratio Integer                 (optional)  This  is the width of the right container to the entire
                                             screen width.  (90)

       unseen_flag Option<String>            Flag to show if thread entry contains unseen mail.  ()

       thread_snoozed_flag Option<String>    Flag to show if thread has been snoozed.  ("💤\u{FE0E}")  [Rendered
                                             as: r##"💤︎"##]

       selected_flag Option<String>          Flag  to  show  if thread entry has been selected.  ("☑️ \u{2007}")
                                             [Rendered as: r##"☑️ "##]

       attachment_flag Option<String>        Flag to show if thread entry contains attachments.   ("📎\u{FE0E}")
                                             [Rendered as: r##"📎︎"##]

       highlight_self_flag Option<String>    Flag  to  show  if  any  thread  entry  contains  your address as a
                                             receiver.  Useful to make mailing list threads that  CC  you  stand
                                             out.  ()

       highlight_self boolean                Show highlight_self_flag or not.  (false)

       thread_subject_pack boolean           Should  threads  with differentiating Subjects show a list of those
                                             subjects on the entry title?  (true)

       threaded_repeat_identical_from_values boolean
                                             In threaded listing style,  repeat  identical  From  column  values
                                             within a thread.  Not repeating adds empty space in the From column
                                             which might result in less visual clutter.  (false)

       relative_menu_indices boolean         Show  relative  indices  in  menu  mailboxes  to  quickly help with
                                             jumping to them.  (true)

       relative_list_indices boolean         Show relative indices in listings to quickly help with  jumping  to
                                             them.  (true)

       hide_sidebar_on_launch boolean        Start app with sidebar hidden.  (false)

       mail_view_divider char                Character  to  show  in  the  divider  space  between mail view and
                                             listing.  (' ')

       thread_layout auto | vertical | horizontal
                                             Force specific layout in thread  view.   The  layout  can  also  be
                                             toggled at runtime with the listing.toggle_layout shortcut.  (auto)

   Examples of sidebar mailbox tree customization
       The default values

        has_sibling = " "
        no_sibling = " ";
        has_sibling_leaf = " "
        no_sibling_leaf = " "

       render a mailbox tree like the following:

       0  Inbox 3
       1   Archive
       2   Drafts
       3   Lists
       4    example-list-a
       5    example-list-b
       6   Sent
       7   Spam
       8   Trash

       Other possible trees:

       has_sibling = " ┃"
       no_sibling = "  "
       has_sibling_leaf = " ┣━"
       no_sibling_leaf = " ┗━"

       0  Inbox 3
       1   ┣━Archive
       2   ┣━Drafts
       3   ┣━Lists
       4   ┃ ┣━example-list-a
       5   ┃ ┗━example-list-b
       6   ┣━Sent
       7   ┣━Spam
       8   ┗━Trash

       A completely ASCII one:

       has_sibling = " |"
       no_sibling = "  "
       has_sibling_leaf = " |\_"
       no_sibling_leaf = " \_"

       0  Inbox 3
       1   |\_Archive
       2   |\_Drafts
       3   |\_Lists
       4   | |\_example-list-a
       5   |  \_example-list-b
       6   |\_Sent
       7   |\_Spam
       8    \_Trash

TAGS

   Tags (e-mail metadata in backends that support them) configuration settings
       Default values are shown in parentheses.

       colours hash table String[Color]      (optional) Set UI colors for tags

       ignore_tags Array String              (optional) Hide tags (not the tagged messages themselves)

       Example:

       [tags]
       # valid inputs: #HHHHHH, #ABC -> #AABBCC, XTERM_NAME, 0-255 byte
       colors = { signed="#Ff6600", replied="DeepSkyBlue4", draft="#f00", replied="8" }
       [accounts.dummy]
       ...
         [accounts.dummy.mailboxes]
         # per mailbox override:
         "INBOX" = { tags.ignore_tags=["inbox", ] }

PGP

       Default values are shown in parentheses.

       auto_verify_signatures boolean        Auto verify signed e-mail according to RFC3156 (true)

       auto_decrypt boolean                  (optional) Always decrypt encrypted e-mail (true)

       auto_sign boolean                     (optional) Always sign sent messages (false)

       auto_encrypt boolean                  (optional) Always encrypt sent messages (false)

       sign_key String                       (optional) ID of key to be used for signatures (none)

       decrypt_key String                    (optional) ID of key to be used for decryption (none)

       encrypt_key String                    (optional) ID of key to be used for encryption (none)

       auto_remote_lookup boolean            (optional) Allow remote lookups (false)

       remote_lookup_mechanisms LocateKey    (optional) Remote lookup mechanisms.  Use comma to separate values.
                                             (Local,WKD)

                                             Possible mechanisms:
                                             -   cert
                                             -   pka
                                             -   dane
                                             -   wkd
                                             -   ldap
                                             -   keyserver
                                             -   keyserver-url
                                             -   local

TERMINAL

   Note about emojis and other multi-width characters in string values
       Some  useful  unicode  combining  marks  (invisible  characters  that  modify the presentation of visible
       characters before them) are:

       \u{FE0E} Emoji variation sequence select 15: renders an emoji as text style (monochrome)
       \u{FE0F} Emoji variation sequence select 16: renders an emoji in color
       \u{2007} Figure space, a space character with the width of a digit in a monospace typeface

   Terminal configuration settings
       Default values are shown in parentheses.

       theme String                          (optional) Theme name to use.  (dark)

       ascii_drawing boolean                 (optional) If true, box drawing will be done with ASCII characters.
                                             (false)

       use_color boolean                     (optional) If false, no ANSI colors are used.  (true)

       force_text_presentation boolean       (optional) If true, text presentations of color symbols  and  emoji
                                             will  be  enforced as much as possible.  Might not work on all non-
                                             text symbols and is experimental.  (false)

       window_title String                   (optional) Set window title in xterm compatible terminals An  empty
                                             string means no window title is set.  (meli)

       file_picker_command String            (optional)  Set command that prints file paths in stdout, separated
                                             by NUL bytes.  Used with add-attachment-file-picker when  composing
                                             new mail.  (None)

       themes hash table String[String[Attribute]]
                                             Define UI themes.  See meli-themes(5) for details.

                                             [terminal]
                                             theme = "themeB"

                                             [terminal.themes.themeA]
                                             "mail.view.body" = {fg = "HotPink3", bg = "LightSalmon1"}
                                             ...
                                             [terminal.themes.themeB]
                                             "mail.view.body" = {fg = "CadetBlue", bg = "White"}
                                             ...
                                             [terminal.themes.themeC]
                                             ...

       use_mouse boolean                     Use  mouse  events.  This will disable text selection, but you will
                                             be able to resize some widgets.  This setting can be  toggled  with
                                             toggle mouse.  (false)

       mouse_flag String                     String to show in status bar if mouse is active.  (🖱️)

       progress_spinner_sequence Either < Integer, ProgressSpinner >
                                             Choose  between  37  built  in sequences (integers between 0-36) or
                                             define your own list of strings for the progress spinner animation.
                                             Set to an empty array to disable the progress spinner.  (20)

                                             Built-in sequences are:

                                             0   ["-", "\", "|", "/"]
                                             1   ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
                                             2   ["⣀", "⣄", "⣤", "⣦", "⣶", "⣷", "⣿"]
                                             3   ["⣀", "⣄", "⣆", "⣇", "⣧", "⣷", "⣿"]
                                             4   ["○", "◔", "◐", "◕", "⬤"]
                                             5   ["□", "◱", "◧", "▣", "■"]
                                             6   ["□", "◱", "▨", "▩", "■"]
                                             7   ["□", "◱", "▥", "▦", "■"]
                                             8   ["░", "▒", "▓", "█"]
                                             9   ["░", "█"]
                                             10  ["⬜", "⬛"]
                                             11  ["▱", "▰"]
                                             12  ["▭", "◼"]
                                             13  ["▯", "▮"]
                                             14  ["◯", "⬤"]
                                             15  ["⚪", "⚫"]
                                             16  ["▖", "▗", "▘", "▝", "▞", "▚", "▙", "▟", "▜", "▛"]
                                             17  ["|", "/", "-", "\"]
                                             18  [".", "o", "O", "@", "*"]
                                             19  ["◡◡", "⊙⊙", "◠◠", "⊙⊙"]
                                             20  ["◜ ", " ◝", " ◞", "◟ "]
                                             21  ["←", "↖", "↑", "↗", "→", "↘", "↓", "↙"]
                                             22  ["▁", "▃", "▄", "▅", "▆", "▇", "█", "▇", "▆", "▅", "▄", "▃"]
                                             23  [ "▉", "▊", "▋", "▌", "▍", "▎", "▏", "▎", "▍", "▌", "▋", "▊", "▉" ]
                                             24  ["▖", "▘", "▝", "▗"]
                                             25  ["▌", "▀", "▐", "▄"]
                                             26  ["┤", "┘", "┴", "└", "├", "┌", "┬", "┐"]
                                             27  ["◢", "◣", "◤", "◥"]
                                             28  ["⠁", "⠂", "⠄", "⡀", "⢀", "⠠", "⠐", "⠈"]
                                             29  ["⢎⡰", "⢎⡡", "⢎⡑", "⢎⠱", "⠎⡱", "⢊⡱", "⢌⡱", "⢆⡱"]
                                             30  [".", "o", "O", "°", "O", "o", "."]
                                             31  ["㊂", "㊀", "㊁"]
                                             32  ["💛 ", "💙 ", "💜 ", "💚 ", "❤️ "]
                                             33  [ "🕛 ", "🕐 ", "🕑 ", "🕒 ", "🕓 ", "🕔 ", "🕕 ", "🕖 ", "🕗 ", "🕘 ", "🕙 ", "🕚 " ]
                                             34  ["🌍 ", "🌎 ", "🌏 "]
                                             35  [ "[    ]", "[=   ]", "[==  ]", "[=== ]", "[ ===]", "[  ==]", "[   =]", "[    ]", "[   =]", "[  ==]", "[ ===]", "[====]", "[=== ]", "[==  ]", "[=   ]" ]
                                             36  ["🌑 ", "🌒 ", "🌓 ", "🌔 ", "🌕 ", "🌖 ", "🌗 ", "🌘 "]

                                             Or, define an array of strings each consisting of a  frame  in  the
                                             progress sequence indicator for a custom spinner:

                                             interval_ms u64                       (optional)   Frame  interval.
                                                                                   (50)

                                             frames [String]                       The animation frames.

                                             Example:

                                             progress_spinner_sequence = { interval_ms = 150, frames = [ "-", "=", "≡" ] }

LOG

   Logging configuration settings
       Default values are shown in parentheses.

       log_file String                       (optional) path of the log file ($XDG_DATA_HOME/meli/meli.log)

       maximum_level String                  (optional) maximum level of messages to log.  All  levels  less  or
                                             equal  to  the  maximum_level  will  be  appended  to the log file.
                                             Available levels are, in partial order:
                                             -   OFF
                                             -   ERROR
                                             -   WARN
                                             -   INFO
                                             -   DEBUG
                                             -   TRACE
                                             This means that to turn logging  off,  set  maximum_level  to  OFF.
                                             (INFO)

SMTP Connections

   SMTP configuration settings
       Default values are shown in parentheses.

       hostname String                       server hostname

       port Integer                          server port

       envelope_from String                  (optional) address to set as sender in SMTP transactions (none)

       auth SmtpAuth                         SMTP server authentication.  See “SmtpAuth” subsection.

       security SmtpSecurity                 (optional)   gpg  binary  name  or  file  location  to  use.   (see
                                             “SmtpSecurity” subsection)

       extensions SmtpExtensions             (optional) set support for SMTP extensions if they  are  advertised
                                             by the server.  (see “SmtpExtensions” subsection)

   SmtpAuth
       type none | auto | xoauth2

       For type "auto":

       username String

       password SmtpPassword

       require_auth boolean                  (optional) require authentication in every case.  (true)

       For type "xoauth2":

       token_command String                  Command to evaluate that returns an XOAUTH2 token.

       require_auth boolean                  (optional) require authentication in every case.  (true)

       Examples:

       auth = { type = "auto", username = "user", password = { type = "raw", value = "hunter2" } }

       auth = { type = "auto", username = "user", password = "hunter2" }

       auth = { type = "none" }

       For Gmail (see “Gmail OAUTH2” for details on the authentication token command):

       auth = { type = "xoauth2", token_command = "TOKEN=$(python3 oauth2.py --user=xxx@gmail.com --quiet --client_id=1038[...].apps.googleusercontent.com --client_secret=[..] --refresh_token=[..] && python3 oauth2.py --user=xxx@gmail.com --generate_oauth2_string --quiet --access_token=$TOKEN" }

   SmtpPassword
       type raw | command_evaluation

       value String                          Either a raw password string, or command to execute.

       Examples:

       password = { type = "raw", value = "hunter2" }

       password = { type = "command_eval", value = "gpg2 --no-tty -q -d ~/.passwords/user.gpg" }

   SmtpSecurity
       Default security type is auto.

       type none | auto | starttls | tls

       danger_accept_invalid_certs boolean   Accept invalid SSL / TLS certificates (false)

   SmtpExtensions
       pipelining boolean                    RFC2920 (true)

       chunking boolean                      RFC3030 (true)

       prdr boolean                          draft-hall-prdr-00 (true)

       dsn_notify String                     RFC3461 (FAILURE)

SEE ALSO

       meli(1), meli-themes(5)

STANDARDS

       TOML Standard v.0.5.0 https://toml.io/en/v0.5.0

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

Debian                                            May 20, 2024                                      MELI.CONF(5)