20 KiB
20 KiB
MELI.CONF(5) File Formats Manual MELI.CONF(5)
NAME
meli.conf – configuration file for the Meli Mail User Agent
SYNOPSIS
$XDG_CONFIG_HOME/meli/config.toml
DESCRIPTION
Configuration for meli is written in TOML which has a few things to
consider (quoting the spec):
• TOML is case sensitive.
• A TOML file must be a valid UTF-8 encoded Unicode document.
• Whitespace 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 config are:
• accounts
• shortcuts
• notifications
• pager
• listing
• composing
• pgp
• terminal
• log
EXAMPLES
example configuration
# Setting up a Maildir account
[accounts.account-name]
root_mailbox = "/path/to/root/folder"
format = "Maildir"
index_style = "Compact"
identity="email@address.tld"
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"
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.mail.tld", 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_mail = 'e'
[shortcuts.listing]
new_mail = 'm'
set_seen = 'n'
[terminal]
theme = "light"
Available options are listed below. Default values are shown in
parentheses.
ACCOUNTS
root_mailbox String The backend-specific path of the
root_mailbox, usually INBOX.
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 (eg
"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.
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 │
└──────────────┴─────────────────────────────────────────────────┘
display_name String (optional) A name which can be
combined with your address: "Name
<email@address.tld>".
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.
mailboxes mailbox (optional) Configuration for each
mailbox. Its format is described
below in mailboxes.
notmuch only
root_mailbox points to the directory which contains the .notmuch/
subdirectory. 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.
Example:
[accounts.notmuch]
format = "notmuch"
...
[accounts.notmuch.mailboxes]
"INBOX" = { query="tag:inbox", subscribe = true }
"Drafts" = { query="tag:draft", subscribe = true }
"Sent" = { query="from:username@server.tld from:username2@server.tld", subscribe = true }
IMAP only
IMAP specific options are:
server_hostname String example: "mail.example.tld"
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)
danger_accept_invalid_certs boolean (optional) Do not validate TLS
certificates. (false)
JMAP only
JMAP specific options
server_hostname String example: "mail.example.tld"
server_username String Server username
server_password String Server password
server_port number (optional) The port to connect to
(443)
danger_accept_invalid_certs boolean (optional) Do not validate TLS
certificates. (false)
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's 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 }
MAILBOXES
alias String (optional) Show a different name
for this mailbox in the UI
autoload boolean (optional) Load this mailbox on
startup (true)
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
and index_style. Example:
[accounts."imap.domain.tld".mailboxes."INBOX"]
index_style = "plain"
[accounts."imap.domain.tld".mailboxes."INBOX".pager]
filter = ""
COMPOSING
Composing specific options
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.
embed boolean (optional) Embed editor within
meli. Editor must be xterm
compliant. (false)
format_flowed boolean (optional) Set format=flowed
[RFC3676] in text/plain
attachments. (true)
default_header_values hash table String[String]
Default header values used when
creating a new draft.
SHORTCUTS
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
char is a single character string.
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 compact-listing:
[shortcuts.compact-listing]
open_thread = "Enter"
exit_thread = 'i'
general
next_tab Go to next tab. (T)
go_to_tab Go to the nth tab (cannot be
redefined)
listing
prev_page Go to previous page. (PageUp)
next_page Go to next page. (PageDown)
prev_mailbox Go to previous mailbox. (K)
next_mailbox Go to next mailbox. (J)
prev_account Go to previous account. (l)
next_account Go to next account. (h)
new_mail Start new mail draft in new tab (m)
set_seen Set thread as seen. (n)
refresh Manually request a mailbox refresh.
(F5)
search Search within list of e-mails. (/)
toggle_menu_visibility Toggle visibility of side menu in
mail list. (`)
compact-listing
exit_thread Exit thread view (i)
open_thread Open thread. (Enter)
select_entry Select thread entry. (v)
pager
scroll_up Scroll up pager. (k)
scroll_down Scroll down pager. (j)
page_up Go to previous pager page (PageUp)
page_down Go to next pager pag (PageDown)
contact-list
create_contact Create new contact. (c)
edit_contact Edit contact under cursor (e)
mail_contact Mail contact under cursor (m)
toggle_menu_visibility Toggle visibility of side menu in
mail list. (`)
composing
send_mail Deliver draft to mailer (s)
edit_mail Edit mail. (e)
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)
view_raw_source View raw envelope source in a
pager. (M-r)
reply Reply to envelope. (R)
edit Open envelope in composer. (e)
return_to_normal_view Return to envelope if viewing raw
source or attachment. (r)
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)
go_to_url Go to url of given index (g)
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)
toggle_expand_headers Expand extra headers (References
and others) (h)
thread-view
reverse_thread_order Reverse thread order. (r)
toggle_mailview Toggle mail view visibility. (p)
toggle_threadview Toggle thread view visibility. (t)
collapse_subtree Collapse thread branches. (h)
prev_page Go to previous page. (PageUp)
next_page Go to next page. (PageDown)
NOTIFICATIONS
enable boolean Enable freedesktop-spec
notifications. (true)
script String (optional) Script to pass
notifications to, 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
headers_sticky boolean (optional) Always show headers when
scrolling. (true)
html_filter String (optional) Pipe html attachments
through this filter before display
(none)
filter String (optional) A command to pipe mail
output through for viewing in
pager. (none)
format_flowed bool (optional) Respect format=flowed
(true)
split_long_lines bool (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)
LISTING
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
TAGS
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
auto_verify_signatures boolean Auto verify signed e-mail according
to RFC3156 (true)
auto_sign boolean (optional) Always sign sent
messages (false)
key String (optional) Key to be used when
signing/encrypting (not functional
yet) (none)
gpg_binary String (optional) The gpg binary name or
file location to use (gpg2)
TERMINAL
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)
window_title String (optional) Set window title in
xterm compatible terminals An empty
string means no window title is
set. (meli)
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]
...
LOG
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
• FATAL
• ERROR
• WARN
• INFO
• DEBUG
• TRACE
This means that to turn logging
off, set maximum_level to OFF.
(INFO)
SMTP Connections
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
For type "auto":
username String
password String|SmtpPassword
require_auth bool (optional) require authentication
in every case (true)
SmtpPassword
type raw | command_evaluation
value String Either a raw password string, or
command to execute.
SmtpSecurity
Default security type is auto.
type none | auto | starttls | tls
danger_accept_invalid_certs bool Accept invalid SSL/TLS certificates
(false)
SmtpExtensions
pipelining bool rfc2920 (true)
chunking bool rfc3030 (true)
prdr bool draft-hall-prdr-00 (true)
dsn_notify String RFC3461 (FAILURE)
SEE ALSO
meli(1), meli-themes(5)
CONFORMING TO
TOML Standard v.0.5.0 https://toml.io/en/v0.5.0
AUTHORS
Copyright 2017-2019 Manos Pitsidianakis ⟨epilys@nessuent.xyz⟩ 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 September 16, 2019 Debian