mirror of https://git.meli.delivery/meli/meli
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2278 lines
49 KiB
Groff
2278 lines
49 KiB
Groff
.\" meli - meli.conf.5
|
|
.\"
|
|
.\" Copyright 2017-2019 Manos Pitsidianakis
|
|
.\"
|
|
.\" This file is part of meli.
|
|
.\"
|
|
.\" meli is free software: you can redistribute it and/or modify
|
|
.\" it under the terms of the GNU General Public License as published by
|
|
.\" the Free Software Foundation, either version 3 of the License, or
|
|
.\" (at your option) any later version.
|
|
.\"
|
|
.\" meli is distributed in the hope that it will be useful,
|
|
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
.\" GNU General Public License for more details.
|
|
.\"
|
|
.\" You should have received a copy of the GNU General Public License
|
|
.\" along with meli. If not, see <http://www.gnu.org/licenses/>.
|
|
.\"
|
|
.de HorizontalRule
|
|
.\"\l'\n(.l\(ru1.25'
|
|
.sp
|
|
..
|
|
.de LiteralStringValue
|
|
.Sm
|
|
.Po Qo
|
|
.Em Li \\$1
|
|
.Qc Pc
|
|
.Sm
|
|
..
|
|
.de LiteralStringValueRenders
|
|
.LiteralStringValue \\$1
|
|
.shift 1
|
|
.Bo
|
|
.Sm
|
|
Rendered as:
|
|
.Li r##
|
|
.Qo
|
|
\\$1
|
|
.Qc
|
|
.Li ##
|
|
.Bc
|
|
.Sm
|
|
..
|
|
.\".Dd November 11, 2022
|
|
.Dd March 10, 2024
|
|
.Dt MELI.CONF 5
|
|
.Os
|
|
.Sh NAME
|
|
.Nm meli.conf
|
|
.Nd configuration file for the
|
|
.Xr meli 1
|
|
terminal e-mail client
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh SYNOPSIS
|
|
.Pa $XDG_CONFIG_HOME/meli/config.toml
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh DESCRIPTION
|
|
Configuration for
|
|
.Sy meli
|
|
is written in
|
|
.Tn TOML
|
|
which has a few things to consider (quoting the specification):
|
|
.sp
|
|
.Bl -dash -compact
|
|
.It
|
|
.Tn TOML
|
|
is case sensitive.
|
|
.It
|
|
A
|
|
.Tn TOML
|
|
file must be a valid
|
|
.Tn UTF-8
|
|
encoded Unicode document.
|
|
.It
|
|
White-space means
|
|
.Sy tab
|
|
.Pq Li 0x09
|
|
or
|
|
.Sy space
|
|
.Pq Li 0x20 Ns
|
|
\&.
|
|
.It
|
|
Newline means
|
|
.Sy LF
|
|
.Pq Li 0x0A
|
|
or
|
|
.Sy CRLF
|
|
.Pq Li 0x0D 0x0A Ns
|
|
\&.
|
|
.El
|
|
.sp
|
|
Refer to
|
|
.Tn TOML
|
|
documentation for valid
|
|
.Tn TOML
|
|
syntax.
|
|
.sp
|
|
Though not part of
|
|
.Tn TOML
|
|
syntax,
|
|
.Nm
|
|
can have nested configuration files by using the following
|
|
.Xr m4 1
|
|
include macro:
|
|
.sp
|
|
.Dl include(\&"/path/to/file\&")
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh SECTIONS
|
|
The top level sections of the configuration are:
|
|
.Bl -dash -compact
|
|
.It
|
|
accounts
|
|
.It
|
|
shortcuts
|
|
.It
|
|
notifications
|
|
.It
|
|
pager
|
|
.It
|
|
listing
|
|
.It
|
|
composing
|
|
.It
|
|
pgp
|
|
.It
|
|
terminal
|
|
.It
|
|
log
|
|
.El
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh EXAMPLES
|
|
An example configuration:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
# 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"
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.sp
|
|
Available options are listed below.
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh ACCOUNTS
|
|
.Ss Account configuration settings
|
|
Default values are shown in parentheses.
|
|
.Bl -tag -width 36n
|
|
.It Ic root_mailbox Ar String
|
|
The backend-specific path of the root_mailbox, usually
|
|
.Sy INBOX Ns
|
|
\&.
|
|
.It Ic default_mailbox Ar String
|
|
.Pq Em 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.
|
|
.It Ic format Ar String Op maildir mbox imap notmuch jmap
|
|
The format of the mail backend.
|
|
.It Ic subscribed_mailboxes Ar [String,]
|
|
An array of mailbox paths to display in the UI.
|
|
Paths are relative to the root mailbox (e.g.
|
|
.Sy INBOX/Sent Ns
|
|
, not
|
|
.Sy Sent Ns
|
|
).
|
|
The glob wildcard
|
|
.Em \&*
|
|
can be used to match every mailbox name and path.
|
|
.It Ic identity Ar String
|
|
Your e-mail address that is inserted in the
|
|
.Li From Ns
|
|
:
|
|
headers of outgoing mail.
|
|
.It Ic extra_identities Ar [String,]
|
|
Extra e-mail address identities.
|
|
When replying to an e-mail addressed to one of these identities, the
|
|
.Li From Ns
|
|
:
|
|
header will be adjusted to its value instead of the default identity.
|
|
.El
|
|
.Bl -tag -width 36n
|
|
.It Ic display_name Ar String
|
|
.Pq Em optional
|
|
A name which can be combined with your address:
|
|
.Qq Li Name <email@example.com> Ns
|
|
\&.
|
|
.It Ic read_only Ar boolean
|
|
Attempt to not make any changes to this account.
|
|
.Pq Em false
|
|
.It Ic manual_refresh Ar boolean
|
|
.Pq Em optional
|
|
If true, do not monitor account for changes
|
|
.Po
|
|
you can use shortcut
|
|
.Li listing.refresh
|
|
.Pc Ns
|
|
\&.
|
|
.Pq Em false
|
|
.It Ic refresh_command Ar String
|
|
.Pq Em optional
|
|
command to execute when manually refreshing
|
|
.Po
|
|
shortcut
|
|
.Li listing.refresh
|
|
.Pc
|
|
.Pq Em None
|
|
.It Ic search_backend Ar String
|
|
.Pq Em optional
|
|
Choose which search backend to use.
|
|
Available options are
|
|
.Qq Li none
|
|
and
|
|
.Qq Li sqlite3 Ns
|
|
\&.
|
|
.Pq Qq sqlite3
|
|
.It Ic vcard_folder Ar String
|
|
.Pq Em optional
|
|
Folder that contains
|
|
.Sy .vcf
|
|
files.
|
|
They are parsed and imported read-only.
|
|
.It Ic mutt_alias_file Ar String
|
|
.Pq Em optional
|
|
Path of
|
|
.Xr mutt 1
|
|
compatible alias file in the option
|
|
They are parsed and imported read-only.
|
|
.It Ic mailboxes Ar mailbox
|
|
.Pq Em optional
|
|
Configuration for each mailbox.
|
|
Its format is described below in
|
|
.Sx mailboxes Ns
|
|
\&.
|
|
.El
|
|
.Ss notmuch only
|
|
.HorizontalRule
|
|
notmuch is supported by loading the dynamic library
|
|
.Sy libnotmuch Ns
|
|
\&.
|
|
If its location is missing from your library paths, you must add it yourself.
|
|
Alternatively, you can specify its path by using a setting.
|
|
.sp
|
|
notmuch mailboxes are virtual, since they are defined by user-given notmuch
|
|
queries.
|
|
You must explicitly state the mailboxes you want in the
|
|
.Ic mailboxes
|
|
field and set the
|
|
.Ar query
|
|
property to each of them.
|
|
To create a tree hierarchy with virtual mailboxes, define the
|
|
.Ar parent
|
|
property to a mailbox as the name of the parent mailbox you have used in your
|
|
configuration.
|
|
.sp
|
|
Account properties:
|
|
.Bl -tag -width 36n
|
|
.It Ic root_mailbox
|
|
points to the directory which contains the
|
|
.Pa .notmuch/
|
|
subdirectory.
|
|
.It Ic library_file_path Ar Path
|
|
Use an arbitrary location of
|
|
.Sy libnotmuch
|
|
by specifying its full filesystem path.
|
|
.Pq Em optional
|
|
.El
|
|
Mailbox properties:
|
|
.Bl -tag -width 36n
|
|
.It Ic query Ar String
|
|
The
|
|
.Sy notmuch
|
|
query that defines what content this virtual mailbox has.
|
|
Refer to
|
|
.Xr notmuch-search-terms 7
|
|
for
|
|
.Sy notmuch Ns
|
|
\&'s search syntax.
|
|
.It Ic parent Ar String
|
|
If you wish to build a mailbox hierarchy, define the name of a parent mailbox
|
|
you have used in your configuration.
|
|
.Pq Em optional
|
|
.El
|
|
.sp
|
|
Example:
|
|
.sp
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
[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 }
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Ss IMAP only
|
|
.HorizontalRule
|
|
.Tn IMAP
|
|
specific options are:
|
|
.Bl -tag -width 36n
|
|
.It Ic server_hostname Ar String
|
|
example:
|
|
.Qq mail.example.com
|
|
.It Ic server_username Ar String
|
|
Server username
|
|
.It Ic server_password Ar String
|
|
Server password
|
|
.It Ic server_password_command Ar String
|
|
.Pq Em optional
|
|
Use instead of
|
|
.Ic server_password
|
|
.It Ic server_port Ar number
|
|
.Pq Em optional
|
|
The port to connect to
|
|
.Pq Em 143 \" default value
|
|
.It Ic use_starttls Ar boolean
|
|
.Pq Em optional
|
|
If port is
|
|
.Li 993
|
|
and
|
|
.Qq Li use_starttls
|
|
is unspecified, it becomes false by default.
|
|
.Pq Em true \" default value
|
|
.It Ic use_tls Ar boolean
|
|
.Pq Em optional
|
|
Connect with
|
|
.Tn TLS
|
|
.Po
|
|
or upgrade from plain connection to
|
|
.Tn TLS
|
|
if
|
|
.Tn STARTTLS
|
|
is set.
|
|
.Pc
|
|
.Pq Em true \" default value
|
|
.It Ic danger_accept_invalid_certs Ar boolean
|
|
.Pq Em optional
|
|
Do not validate
|
|
.Tn TLS
|
|
certificates.
|
|
.Pq Em false \" default value
|
|
.It Ic use_idle Ar boolean
|
|
.Pq Em optional
|
|
Use
|
|
.Tn IDLE
|
|
extension.
|
|
.Pq Em true \" default value
|
|
.It Ic use_condstore Ar boolean
|
|
.Pq Em optional
|
|
Use
|
|
.Tn CONDSTORE
|
|
extension.
|
|
.Pq Em true \" default value
|
|
.It Ic use_deflate Ar boolean
|
|
.Pq Em optional
|
|
Use
|
|
.Tn COMPRESS=DEFLATE
|
|
extension
|
|
.Po if built with
|
|
.Tn DEFLATE
|
|
support
|
|
.Pc
|
|
.Pq Em true \" default value
|
|
.It Ic use_oauth2 Ar boolean
|
|
.Pq Em optional
|
|
Use
|
|
.Tn OAUTH2
|
|
authentication.
|
|
Can only be used with
|
|
.Ic server_password_command
|
|
which should return a base64-encoded
|
|
.Tn OAUTH2
|
|
token ready to be passed to
|
|
.Tn IMAP Ns
|
|
\&.
|
|
For help on setup with
|
|
.Tn Gmail Ns
|
|
, see
|
|
.Tn Gmail
|
|
section below.
|
|
.Pq Em false \" default value
|
|
.It Ic timeout Ar integer
|
|
.Pq Em optional
|
|
Timeout to use for server connections in seconds.
|
|
A timeout of
|
|
.Li 0
|
|
seconds means there is no timeout.
|
|
.Pq Em 16 \" default value
|
|
.El
|
|
.Ss Gmail
|
|
.HorizontalRule
|
|
.Tn Gmail
|
|
has non-standard
|
|
.Tn IMAP
|
|
behaviors that need to be worked around.
|
|
.Ss Gmail - sending mail
|
|
.HorizontalRule
|
|
Option
|
|
.Ic store_sent_mail
|
|
should be disabled since
|
|
.Tn Gmail
|
|
auto-saves sent mail by its own.
|
|
.Ss Gmail OAUTH2
|
|
.HorizontalRule
|
|
To use
|
|
.Tn OAUTH2 Ns
|
|
, you must go through a process to register your own private
|
|
.Qq application
|
|
with
|
|
.Tn Google
|
|
that can use
|
|
.Tn OAUTH2
|
|
tokens,
|
|
and set the option
|
|
.Ic use_oauth2
|
|
as
|
|
.Ql true
|
|
in the account configuration section.
|
|
For convenience in the
|
|
.Sy meli
|
|
repository under the
|
|
.Pa contrib/
|
|
directory you can find a
|
|
.Sy python3
|
|
file named
|
|
.Li oauth2.py
|
|
to generate and request the appropriate data to perform
|
|
.Tn OAUTH2
|
|
authentication.
|
|
.sp
|
|
Steps:
|
|
.Bl -dash -compact
|
|
.It
|
|
In
|
|
.Tn Google API Ns
|
|
s, 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.
|
|
.It
|
|
Run the
|
|
.Li oauth2.py
|
|
script as follows
|
|
.Pq after adjusting binary paths and credentials Ns
|
|
:
|
|
.sp
|
|
.Cm 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.
|
|
.It
|
|
In
|
|
.Ic server_password_command
|
|
enter a command like this
|
|
.Pq after adjusting binary paths and credentials Ns
|
|
:
|
|
.sp
|
|
.Cm 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
|
|
.It
|
|
On startup,
|
|
.Sy meli
|
|
should evaluate this command which if successful must only return a
|
|
.Tn base64 Ns
|
|
-encoded token ready to be passed to
|
|
.Tn IMAP.
|
|
.Pp
|
|
Your account section should look like this:
|
|
.Bd -literal
|
|
[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" } }
|
|
.Ed
|
|
.El
|
|
.Ss JMAP only
|
|
.HorizontalRule
|
|
.Tn JMAP
|
|
specific options
|
|
.Bl -tag -width 36n
|
|
.It Ic server_url Ar String
|
|
example:
|
|
.Qq http://mail.example.com
|
|
.Qq http://mail.example.com:8080
|
|
.Qq https://mail.example.com
|
|
.It Ic server_username Ar String
|
|
Server username
|
|
.It Ic server_password Ar String
|
|
Server password
|
|
.It Ic danger_accept_invalid_certs Ar boolean
|
|
.Pq Em optional
|
|
Do not validate
|
|
.Tn TLS
|
|
certificates.
|
|
.Pq Em false \" default value
|
|
.El
|
|
.Ss mbox only
|
|
.HorizontalRule
|
|
.Tn mbox
|
|
specific options:
|
|
.Bl -tag -width 36n
|
|
.It Ic prefer_mbox_type Ar String
|
|
.Pq Em optional
|
|
Prefer specific
|
|
.Tn mbox
|
|
format reader for each message.
|
|
Default is
|
|
.Qq Li 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.
|
|
.sp
|
|
Valid values
|
|
.Bl -dash -compact
|
|
.It
|
|
.Ar auto
|
|
.It
|
|
.Ar mboxo
|
|
.It
|
|
.Ar mboxrd
|
|
.It
|
|
.Ar mboxcl
|
|
.It
|
|
.Ar mboxcl2
|
|
.El
|
|
.Pq Em auto \" default value
|
|
.El
|
|
To set multiple mailboxes, you have to explicitly state the mailboxes you want
|
|
in the
|
|
.Ic mailboxes
|
|
field and set the
|
|
.Ar path
|
|
property to each of them.
|
|
Example:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
[accounts.mbox]
|
|
format = "mbox"
|
|
mailboxes."Python mailing list" = { path = "~/.mail/python.mbox", subscribe = true, autoload = true }
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Ss NNTP
|
|
.HorizontalRule
|
|
.Tn NNTP
|
|
specific options
|
|
.Bl -tag -width 36n
|
|
.It Ic server_hostname Ar String
|
|
example:
|
|
.Qq nntp.example.com
|
|
.It Ic server_username Ar String
|
|
Server username
|
|
.It Ic server_password Ar String
|
|
Server password
|
|
.It Ic require_auth Ar boolean
|
|
.Pq Em optional
|
|
require authentication in every case
|
|
.Pq Em true \" default value
|
|
.It Ic use_tls Ar boolean
|
|
.Pq Em optional
|
|
Connect with
|
|
.Tn TLS Ns
|
|
\&.
|
|
.Pq Em false \" default value
|
|
.It Ic server_port Ar number
|
|
.Pq Em optional
|
|
The port to connect to
|
|
.Pq Em 119 \" default value
|
|
.It Ic danger_accept_invalid_certs Ar boolean
|
|
.Pq Em optional
|
|
Do not validate
|
|
.Tn TLS
|
|
certificates.
|
|
.Pq Em false \" default value
|
|
.It Ic store_flags_locally Ar boolean
|
|
.Pq Em optional
|
|
Store seen status locally in an
|
|
.Sy sqlite3
|
|
database.
|
|
.Pq Em true \" default value
|
|
.El
|
|
.Pp
|
|
You have to explicitly state the groups you want to see in the
|
|
.Ic mailboxes
|
|
field.
|
|
Example:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
[accounts.sicpm.mailboxes]
|
|
"sic.all" = {}
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Pp
|
|
To submit articles directly to the
|
|
.Tn NNTP
|
|
server, you must set the special value
|
|
.Em server_submission
|
|
in the
|
|
.Ic send_mail
|
|
field.
|
|
Example:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
composing.send_mail = "server_submission"
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Ss MAILBOXES
|
|
.HorizontalRule
|
|
.Bl -tag -width 36n
|
|
.It Ic alias Ar String
|
|
.Pq Em optional
|
|
Show a different name for this mailbox in the
|
|
.Tn UI Ns
|
|
\&.
|
|
.It Ic autoload Ar boolean
|
|
.Pq Em optional
|
|
Load this mailbox on startup
|
|
.Pq Em true \" default value
|
|
.It Ic collapsed Ar boolean
|
|
.Pq Em optional
|
|
Collapse this mailbox subtree in menu.
|
|
.Pq Em false \" default value
|
|
.It Ic subscribe Ar boolean
|
|
.Pq Em optional
|
|
Watch this mailbox for updates.
|
|
.Pq Em true \" default value
|
|
.It Ic ignore Ar boolean
|
|
.Pq Em optional
|
|
Silently insert updates for this mailbox, if any.
|
|
.Pq Em false \" default value
|
|
.It Ic usage Ar boolean
|
|
.Pq Em optional
|
|
special usage of this mailbox.
|
|
Valid values are:
|
|
.Bl -dash -compact
|
|
.It
|
|
.Ar Normal
|
|
.Pq Em default
|
|
.It
|
|
.Ar Inbox
|
|
.It
|
|
.Ar Archive
|
|
.It
|
|
.Ar Drafts
|
|
.It
|
|
.Ar Flagged
|
|
.It
|
|
.Ar Junk
|
|
.It
|
|
.Ar Sent
|
|
.It
|
|
.Ar Trash
|
|
.El
|
|
otherwise usage is inferred from the mailbox title.
|
|
If for example your Sent folder is not named
|
|
.Qq Li Sent Ns
|
|
, you must explicitly set it.
|
|
.It Ic conf_override Ar boolean
|
|
.Pq Em optional
|
|
Override global settings for this mailbox.
|
|
Available sections to override are
|
|
.Em pager, notifications, shortcuts, composing
|
|
and the account options
|
|
.Em identity Ns
|
|
\&.
|
|
Example:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
[accounts."imap.example.com".mailboxes]
|
|
"INBOX" = { index_style = "plain" }
|
|
"INBOX/Lists/devlist" = { autoload = false, pager = { filter = "pygmentize -l diff -f 256"} }
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.It Ic sort_order Ar unsigned integer
|
|
.Pq Em optional
|
|
Override sort order on the sidebar for this mailbox.
|
|
Example:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
[accounts."imap.example.com".mailboxes]
|
|
"INBOX" = { index_style = "plain" }
|
|
"INBOX/Sent" = { sort_order = 0 }
|
|
"INBOX/Drafts" = { sort_order = 1 }
|
|
"INBOX/Lists" = { sort_order = 2 }
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.It Ic encoding Ar String
|
|
.Pq Em optional
|
|
Override the default
|
|
.Tn UTF-8
|
|
charset for the mailbox name.
|
|
Useful only for
|
|
.Tn UTF-7
|
|
mailboxes.
|
|
.Pq Em "utf7", "utf-7", "utf8", "utf-8" \" default value
|
|
.El
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh COMPOSING
|
|
.Ss Composing specific configuration settings
|
|
Default values are shown in parentheses.
|
|
.Bl -tag -width 36n
|
|
.It Ic send_mail Ar String|SmtpServerConf
|
|
Command to pipe new mail to
|
|
.Po
|
|
exit code must be
|
|
.Li 0
|
|
for success
|
|
.Pc
|
|
or settings for an
|
|
.Tn SMTP
|
|
server connection.
|
|
See section
|
|
.Sx SMTP Connections
|
|
for its fields.
|
|
.It Ic editor_command Ar String
|
|
Command to launch editor.
|
|
Can have arguments.
|
|
Draft filename is given as the last argument.
|
|
If it's missing, the environment variable
|
|
.Ev EDITOR
|
|
is looked up.
|
|
.It Ic embedded_pty Ar boolean
|
|
.Pq Em optional
|
|
Embedded editor within
|
|
.Sy meli Ns
|
|
\&.
|
|
Editor must be
|
|
.Sy xterm
|
|
compliant.
|
|
.Pq Em false \" default value
|
|
.It Ic format_flowed Ar boolean
|
|
.Pq Em optional
|
|
Set
|
|
.Li format=flowed
|
|
.Bq RFC3676
|
|
in
|
|
.Li text/plain
|
|
attachments.
|
|
.Pq Em true \" default value
|
|
.It Ic insert_user_agent Ar boolean
|
|
.Pq Em optional
|
|
Add
|
|
.Sy meli
|
|
.Li User-Agent
|
|
header in new drafts.
|
|
.Pq Em true \" default value
|
|
.It Ic default_header_values Ar hash table String[String]
|
|
.Pq Em optional
|
|
Default header values used when creating a new draft.
|
|
.Pq Em [] \" default value
|
|
.It Ic wrap_header_preamble Ar Option<(String, String)>
|
|
.Pq Em 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
|
|
.Em ["<!--",\ "-->"]
|
|
which wraps the headers in an
|
|
.Tn HTML
|
|
comment.
|
|
.Pq Em None \" default value
|
|
.It Ic store_sent_mail Ar boolean
|
|
.Pq Em optional
|
|
Store sent mail after successful submission.
|
|
This setting is meant to be disabled for non-standard behaviour in
|
|
.Tn Gmail Ns
|
|
, which auto-saves sent mail on its own.
|
|
.Pq Em true \" default value
|
|
.It Ic attribution_format_string Ar String
|
|
.Pq Em optional
|
|
The attribution line appears above the quoted reply text.
|
|
The format specifiers for the replied address are:
|
|
.Bl -dash -compact
|
|
.It
|
|
.Li %+f
|
|
— the sender's name and email address.
|
|
.It
|
|
.Li %+n
|
|
— the sender's name (or email address, if no name is included).
|
|
.It
|
|
.Li %+a
|
|
— the sender's email address.
|
|
.El
|
|
The format string is passed to
|
|
.Xr strftime 3
|
|
with the replied envelope's date.
|
|
.Pq Em "On %a, %0e %b %Y %H:%M, %+f wrote:%n" \" default value
|
|
.It Ic attribution_use_posix_locale Ar boolean
|
|
.Pq Em optional
|
|
Whether the
|
|
.Xr strftime 3
|
|
call for the attribution string uses the
|
|
.Tn POSIX
|
|
locale instead of the user's active locale.
|
|
.Pq Em true \" default value
|
|
.It Ic forward_as_attachment Ar boolean or "ask"
|
|
.Pq Em optional
|
|
Forward emails as attachment? (Alternative is inline).
|
|
.Pq Em ask \" default value
|
|
.It Ic reply_prefix_list_to_strip Ar [String]
|
|
.Pq Em optional
|
|
Alternative lists of reply prefixes (etc. ["Re:", "RE:", ...]) to strip.
|
|
.Dl Em [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:] \" default value
|
|
.It Ic reply_prefix Ar String
|
|
.Pq Em optional
|
|
The prefix to use in reply subjects.
|
|
The default prefix is
|
|
.Ns Ql Re: Ns
|
|
\&.
|
|
.Pq Ql Re: \" default value
|
|
.Pp
|
|
RFC 2822, "Internet Message Format" has this to say on the matter:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal -offset indent -compact
|
|
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.
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.It Ic custom_compose_hooks Ar [{ name = String, command = String }]
|
|
.Pq Em 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.
|
|
.sp
|
|
Example:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
[composing]
|
|
editor_cmd = '~/.local/bin/vim +/^$'
|
|
embed = true
|
|
custom_compose_hooks = [ { name ="spellcheck", command="aspell --mode email --dont-suggest --ignore-case list" }]
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.It Ic disabled_compose_hooks Ar [String]
|
|
.Pq Em 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:
|
|
.Bl -dash -compact
|
|
.It
|
|
.Ic past-date-warn
|
|
— Warn if
|
|
.Li Date
|
|
header value is far in the past or future.
|
|
.It
|
|
.Ic important-header-warn
|
|
— Warn if important headers
|
|
.Po
|
|
.Li From Ns
|
|
,
|
|
.Li Date Ns
|
|
,
|
|
.Li To Ns
|
|
,
|
|
.Li Cc Ns
|
|
,
|
|
.Li Bcc
|
|
.Pc
|
|
are missing or invalid.
|
|
.It
|
|
.Ic missing-attachment-warn
|
|
— Warn if
|
|
.Li Subject Ns
|
|
or draft body mention attachments but they are missing.
|
|
.It
|
|
.Ic empty-draft-warn
|
|
— Warn if draft has no subject and no body.
|
|
.El
|
|
.El
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh SHORTCUTS
|
|
.Ss Values corresponding to keyboard keys, keycodes
|
|
Shortcuts can take the following values:
|
|
.sp
|
|
.Bl -dash -compact
|
|
.It
|
|
.Em Backspace
|
|
.It
|
|
.Em Left
|
|
.It
|
|
.Em Right
|
|
.It
|
|
.Em Up
|
|
.It
|
|
.Em Down
|
|
.It
|
|
.Em Home
|
|
.It
|
|
.Em End
|
|
.It
|
|
.Em PageUp
|
|
.It
|
|
.Em PageDown
|
|
.It
|
|
.Em Delete
|
|
.It
|
|
.Em Insert
|
|
.It
|
|
.Em Enter
|
|
.It
|
|
.Em Tab
|
|
.It
|
|
.Em Esc
|
|
.It
|
|
.Em F1..F12
|
|
.It
|
|
.Em M-char
|
|
.It
|
|
.Em C-char
|
|
.It
|
|
.Em char
|
|
.El
|
|
.sp
|
|
Where
|
|
.Em char
|
|
is a single character string, maximum 4 bytes long, like the corresponding type
|
|
in Rust.
|
|
.Pp
|
|
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
|
|
.Em general
|
|
the configuration is typed as follows:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
[shortcuts.general]
|
|
next_tab = 'T'
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.sp
|
|
and for
|
|
.Em listing Ns
|
|
:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
[shortcuts.listing]
|
|
open_entry = "Enter"
|
|
exit_entry = 'i'
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.sp
|
|
.Pp
|
|
.Em commands
|
|
.sp
|
|
In addition, each shortcuts section supports a TOML array of commands to
|
|
associate a key to an array of
|
|
.Em COMMAND
|
|
mode commands.
|
|
.sp
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
[shortcuts.listing]
|
|
commands = [ { command = [ "tag remove trash", "flag unset trash" ], shortcut = "D" },
|
|
{ command = [ "tag add trash", "flag set trash" ], shortcut = "d" } ]
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Ss Shortcut configuration settings
|
|
.HorizontalRule
|
|
Default values are shown in parentheses.
|
|
.sp
|
|
.Em general
|
|
.Bl -tag -width 36n
|
|
.It Ic toggle_help
|
|
Toggle help and shortcuts view.
|
|
.Pq Em \&? \" default value
|
|
.It Ic enter_command_mode
|
|
Enter
|
|
.Em COMMAND
|
|
mode.
|
|
.Pq Em \&: \" default value
|
|
.It Ic quit
|
|
Quit meli.
|
|
.Pq Em q \" default value
|
|
.It Ic go_to_tab
|
|
Go to the
|
|
.Em n Ns
|
|
th tab
|
|
.Pq Em M-n
|
|
.It Ic next_tab
|
|
Go to the next tab.
|
|
.Pq Em T \" default value
|
|
.It Ic scroll_right
|
|
Generic scroll right (catch-all setting)
|
|
.Pq Em l \" default value
|
|
.It Ic scroll_left
|
|
Generic scroll left (catch-all setting)
|
|
.Pq Em h \" default value
|
|
.It Ic scroll_up
|
|
Generic scroll up (catch-all setting)
|
|
.Pq Em k \" default value
|
|
.It Ic scroll_down
|
|
Generic scroll down (catch-all setting)
|
|
.Pq Em j \" default value
|
|
.It Ic next_page
|
|
Go to next page.
|
|
(catch-all setting)
|
|
.Pq Em PageDown \" default value
|
|
.It Ic prev_page
|
|
Go to previous page.
|
|
(catch-all setting)
|
|
.Pq Em PageUp \" default value
|
|
.It Ic home_page
|
|
Go to first page.
|
|
(catch-all setting)
|
|
.Pq Em Home \" default value
|
|
.It Ic end_page
|
|
Go to last page. (catch-all setting)
|
|
.Pq Em End \" default value
|
|
.It Ic open_entry
|
|
Open list entry. (catch-all setting)
|
|
.Pq Em Enter \" default value
|
|
.It Ic info_message_next
|
|
Show next info message, if any.
|
|
.Pq Em M-> \" default value
|
|
.It Ic info_message_previous
|
|
Show previous info message, if any.
|
|
.Pq Em M-< \" default value
|
|
.It Ic focus_in_text_field
|
|
Focus on a text field.
|
|
.Pq Em Enter \" default value
|
|
.It Ic next_search_result
|
|
Scroll to next search result.
|
|
.Pq Em n \" default value
|
|
.It Ic previous_search_result
|
|
Scroll to previous search result.
|
|
.Pq Em N
|
|
.El
|
|
.sp
|
|
.Em listing
|
|
.Bl -tag -width 36n
|
|
.It Ic scroll_up
|
|
Scroll up list.
|
|
.Pq Em k \" default value
|
|
.It Ic scroll_down
|
|
Scroll down list.
|
|
.Pq Em j \" default value
|
|
.It Ic next_page
|
|
Go to next page.
|
|
.Pq Em PageDown \" default value
|
|
.It Ic prev_page
|
|
Go to previous page.
|
|
.Pq Em PageUp \" default value
|
|
.It Ic new_mail
|
|
Start new mail draft in new tab.
|
|
.Pq Em m \" default value
|
|
.It Ic next_account
|
|
Go to next account.
|
|
.Pq Em H \" default value
|
|
.It Ic prev_account
|
|
Go to previous account.
|
|
.Pq Em L \" default value
|
|
.It Ic next_mailbox
|
|
Go to next mailbox.
|
|
.Pq Em J \" default value
|
|
.It Ic prev_mailbox
|
|
Go to previous mailbox.
|
|
.Pq Em K \" default value
|
|
.It Ic open_mailbox
|
|
Open selected mailbox
|
|
.Pq Em Enter \" default value
|
|
.It Ic toggle_mailbox_collapse
|
|
Toggle mailbox visibility in menu.
|
|
.Pq Em Space \" default value
|
|
.It Ic search
|
|
Search within list of e-mails.
|
|
.Pq Em / \" default value
|
|
.It Ic refresh
|
|
Manually request a mailbox refresh.
|
|
.Pq Em F5 \" default value
|
|
.It Ic set_seen
|
|
Set thread as seen.
|
|
.Pq Em n \" default value
|
|
.It Ic union_modifier
|
|
Union modifier.
|
|
.Pq Em C-u \" default value
|
|
.It Ic diff_modifier
|
|
Difference modifier.
|
|
.Pq Em C-d \" default value
|
|
.It Ic intersection_modifier
|
|
Intersection modifier.
|
|
.Pq Em i \" default value
|
|
.It Ic select_entry
|
|
Select thread entry.
|
|
.Pq Em v \" default value
|
|
.It Ic increase_sidebar
|
|
Increase sidebar width.
|
|
.Pq Em C-f \" default value
|
|
.It Ic decrease_sidebar
|
|
Decrease sidebar width.
|
|
.Pq Em C-d \" default value
|
|
.It Ic next_entry
|
|
When reading a mail item, change focus on next entry according to the current
|
|
sorting.
|
|
.Pq Em C-n \" default value
|
|
.It Ic previous_entry
|
|
When reading a mail item, change focus on previous entry according to the
|
|
current sorting.
|
|
.Pq Em C-p \" default value
|
|
.It Ic toggle_menu_visibility
|
|
Toggle visibility of side menu in mail list.
|
|
.Pq Em \(ga \" default value
|
|
.It Ic focus_left
|
|
Switch focus on the left.
|
|
.Pq Em Left \" default value
|
|
.It Ic focus_right
|
|
Switch focus on the right.
|
|
.Pq Em Right \" default value
|
|
.It Ic exit_entry
|
|
Exit e-mail entry.
|
|
.Pq Em i \" default value
|
|
.It Ic open_entry
|
|
Open e-mail entry.
|
|
.Pq Em Enter \" default value
|
|
.El
|
|
.sp
|
|
.Em pager
|
|
.Bl -tag -width 36n
|
|
.It Ic scroll_up
|
|
Scroll up pager.
|
|
.Pq Em k \" default value
|
|
.It Ic scroll_down
|
|
Scroll down pager.
|
|
.Pq Em j \" default value
|
|
.It Ic page_up
|
|
Go to previous pager page
|
|
.Pq Em PageUp \" default value
|
|
.It Ic page_down
|
|
Go to next pager pag
|
|
.Pq Em PageDown \" default value
|
|
.El
|
|
.sp
|
|
.Em contact-list
|
|
.Bl -tag -width 36n
|
|
.It Ic scroll_up
|
|
Scroll up list.
|
|
.Pq Em k \" default value
|
|
.It Ic scroll_down
|
|
Scroll down list.
|
|
.Pq Em j \" default value
|
|
.It Ic create_contact
|
|
Create new contact.
|
|
.Pq Em c \" default value
|
|
.It Ic edit_contact
|
|
Edit contact under cursor.
|
|
.Pq Em e \" default value
|
|
.It Ic delete_contact
|
|
Delete contact under cursor.
|
|
.Pq Em d \" default value
|
|
.It Ic mail_contact
|
|
Mail contact under cursor.
|
|
.Pq Em m \" default value
|
|
.It Ic next_account
|
|
Go to next account.
|
|
.Pq Em H \" default value
|
|
.It Ic prev_account
|
|
Go to previous account.
|
|
.Pq Em L \" default value
|
|
.It Ic toggle_menu_visibility
|
|
Toggle visibility of side menu in mail list.
|
|
.Pq Em \(ga \" default value
|
|
.El
|
|
.sp
|
|
.sp
|
|
.Em composing
|
|
.Bl -tag -width 36n
|
|
.It Ic edit
|
|
Edit mail.
|
|
.Pq Em e \" default value
|
|
.It Ic send_mail
|
|
Deliver draft to mailer
|
|
.Pq Em s \" default value
|
|
.It Ic scroll_up
|
|
Change field focus.
|
|
.Pq Em k \" default value
|
|
.It Ic scroll_down
|
|
Change field focus.
|
|
.Pq Em j \" default value
|
|
.El
|
|
.sp
|
|
.Em envelope-view
|
|
.Pp
|
|
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.
|
|
.Bl -tag -width 36n
|
|
.It Ic add_addresses_to_contacts Ns
|
|
Select addresses from envelope to add to contacts.
|
|
.Pq Em c \" default value
|
|
.It Ic edit
|
|
Open envelope in composer.
|
|
.Pq Em e \" default value
|
|
.It Ic go_to_url
|
|
Go to url of given index (with the command
|
|
.Ic url_launcher
|
|
setting in
|
|
.Sx PAGER
|
|
section)
|
|
.Pq Em g \" default value
|
|
.It Ic open_attachment
|
|
Opens selected attachment with
|
|
.Cm xdg-open
|
|
.Pq Em a \" default value
|
|
.It Ic open_mailcap
|
|
Opens selected attachment according to its mailcap entry.
|
|
See
|
|
.Xr meli 1 FILES
|
|
for the mailcap file locations.
|
|
.Pq Em m \" default value
|
|
.It Ic open_html
|
|
Opens html attachment in the default browser.
|
|
.Pq Em v \" default value
|
|
.It Ic reply
|
|
Reply to envelope.
|
|
.Pq Em R \" default value
|
|
.It Ic reply_to_author
|
|
Reply to author.
|
|
.Pq Em C-r \" default value
|
|
.It Ic reply_to_all
|
|
Reply to all/Reply to list/Follow up.
|
|
.Pq Em C-g \" default value
|
|
.It Ic forward
|
|
Forward email.
|
|
.Pq Em C-f \" default value
|
|
.It Ic return_to_normal_view
|
|
Return to envelope if viewing raw source or attachment.
|
|
.Pq Em r \" default value
|
|
.It Ic toggle_expand_headers
|
|
Expand extra headers (References and others)
|
|
.Pq Em h \" default value
|
|
.It Ic 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
|
|
.Ic go_to_url
|
|
.Pq Em u \" default value
|
|
.It Ic view_raw_source
|
|
View raw envelope source in a pager.
|
|
.Pq Em M-r \" default value
|
|
.It Ic change_charset
|
|
Force attachment charset for decoding.
|
|
.Pq Em d \" default value
|
|
.El
|
|
.sp
|
|
.Em thread-view
|
|
.Bl -tag -width 36n
|
|
.It Ic scroll_up
|
|
Scroll up list.
|
|
.Pq Em k \" default value
|
|
.It Ic scroll_down
|
|
Scroll down list.
|
|
.Pq Em j \" default value
|
|
.It Ic collapse_subtree
|
|
collapse thread branches.
|
|
.Pq Em h \" default value
|
|
.It Ic next_page
|
|
Go to next page.
|
|
.Pq Em PageDown \" default value
|
|
.It Ic prev_page
|
|
Go to previous page.
|
|
.Pq Em PageUp \" default value
|
|
.It Ic reverse_thread_order
|
|
reverse thread order.
|
|
.Pq Em C-r \" default value
|
|
.It Ic toggle_mailview
|
|
toggle mail view visibility.
|
|
.Pq Em p \" default value
|
|
.It Ic toggle_threadview
|
|
toggle thread view visibility.
|
|
.Pq Em t \" default value
|
|
.It Ic toggle_layout
|
|
Toggle between horizontal and vertical layout.
|
|
.Pq Em Space \" default value
|
|
.El
|
|
.sp
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh NOTIFICATIONS
|
|
.Ss Notification configuration settings
|
|
Default values are shown in parentheses.
|
|
.Bl -tag -width 36n
|
|
.It Ic enable Ar boolean
|
|
Enable notifications.
|
|
.Pq Em true \" default value
|
|
.It Ic script Ar String
|
|
.Pq Em optional
|
|
Script to pass notifications to, with title as 1st arg and body as 2nd
|
|
.Pq Em none \" default value
|
|
.It Ic new_mail_script Ar String
|
|
.Pq Em optional
|
|
A command to pipe new mail notifications through (preferred over
|
|
.Ic script Ns
|
|
), with title as 1st arg and body as 2nd.
|
|
.Pq Em none \" default value
|
|
.It Ic xbiff_file_path Ar String
|
|
.Pq Em optional
|
|
File that gets its size updated when new mail arrives.
|
|
.Pq Em none
|
|
.It Ic play_sound Ar boolean \" default value
|
|
.Pq Em optional
|
|
Play theme sound in notifications if possible.
|
|
.Pq Em false
|
|
.It Ic sound_file Ar String \" default value
|
|
.Pq Em optional
|
|
Play sound file in notifications if possible.
|
|
.Pq Em none \" default value
|
|
.El
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh PAGER
|
|
.Ss Pager (viewing text) configuration settings
|
|
Default values are shown in parentheses.
|
|
.Bl -tag -width 36n
|
|
.It Ic sticky_headers Ar boolean
|
|
.Pq Em optional
|
|
Always show headers when scrolling.
|
|
.Pq Em false \" default value
|
|
.It Ic html_filter Ar String
|
|
.Pq Em optional
|
|
Pipe html attachments through this filter before display
|
|
.Pq Em none \" default value
|
|
.It Ic html_open Ar String
|
|
.Pq Em optional
|
|
A command to open html files.
|
|
.Pq Em none \" default value
|
|
.It Ic filter Ar String
|
|
.Pq Em optional
|
|
A command to pipe mail output through for viewing in pager.
|
|
.Pq Em none \" default value
|
|
.It Ic format_flowed Ar boolean
|
|
.Pq Em optional
|
|
Respect format=flowed
|
|
.Pq Em true \" default value
|
|
.It Ic split_long_lines Ar boolean
|
|
.Pq Em optional
|
|
Split long lines that would overflow on the x axis.
|
|
.Pq Em true \" default value
|
|
.It Ic minimum_width Ar num
|
|
.Pq Em optional
|
|
Minimum text width in columns.
|
|
.Pq Em 80 \" default value
|
|
.It Ic auto_choose_multipart_alternative Ar boolean
|
|
.Pq Em optional
|
|
Choose
|
|
.Li text/html
|
|
alternative if
|
|
.Li text/plain
|
|
is empty in
|
|
.Li multipart/alternative
|
|
attachments.
|
|
.Pq Em true \" default value
|
|
.It Ic show_date_in_my_timezone Ar boolean
|
|
.Pq Em optional
|
|
Show
|
|
.Li Date Ns
|
|
: in local timezone
|
|
.Pq Em true \" default value
|
|
.It Ic url_launcher Ar String
|
|
.Pq Em optional
|
|
A command to launch URLs with.
|
|
The URL will be given as the first argument of the command.
|
|
.Pq Em xdg-open \" default value
|
|
.It Ic show_extra_headers Ar [String]
|
|
.Pq Em optional
|
|
Extra headers to display, if present, in the default header preamble of the
|
|
pager.
|
|
This setting is useful especially when used per-folder or per-account.
|
|
For example, if you use
|
|
.Sy rss2email
|
|
.Pq See Xr r2e 1
|
|
the e-mail you will receive will have the
|
|
.Sy X-RSS-Feed
|
|
header by default.
|
|
You can show them only in the folder where you keep your feed items:
|
|
.Pp
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal -compact
|
|
[accounts."personal".mailboxes]
|
|
INBOX = {}
|
|
"INBOX/Sent" = { sort_order=0 }
|
|
"INBOX/Feeds" = { pager.show_extra_headers = ["X-RSS-Feed"] }
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Pq Em empty \" default value
|
|
.El
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh LISTING
|
|
.Ss Listing (lists of e-mail entries in a mailbox) configuration settings
|
|
Default values are shown in parentheses.
|
|
.Bl -tag -width 36n
|
|
.It Ic show_menu_scrollbar Ar boolean
|
|
.Pq Em optional
|
|
Show auto-hiding scrollbar in accounts sidebar menu.
|
|
.Pq Em true \" default value
|
|
.It Ic datetime_fmt Ar String
|
|
.Pq Em optional
|
|
Datetime formatting passed verbatim to
|
|
.Xr strftime 3 Ns
|
|
\&.
|
|
.Pq Em \&%Y-\&%m-\&%d \&%T \" default value
|
|
.It Ic recent_dates Ar Boolean
|
|
.Pq Em optional
|
|
Show recent dates as
|
|
.Ns Ql X {minutes,hours,days} ago
|
|
.Ns , up to 7 days.
|
|
.Pq Em true \" default value
|
|
.It Ic filter Ar Query
|
|
.Pq Em optional
|
|
Show only envelopes matching this query.
|
|
.Po
|
|
For query syntax see
|
|
.Xr meli 1 QUERY ABNF SYNTAX
|
|
.Pc
|
|
.Pq Em None \" default value
|
|
.Pp
|
|
Example:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
filter = "not flags:seen" # show only unseen messages
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.It Ic index_style Ar String
|
|
Sets the way mailboxes are displayed.
|
|
.TS
|
|
allbox tab(:);
|
|
lb l.
|
|
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
|
|
.TE
|
|
.It Ic sidebar_mailbox_tree_has_sibling Ar String
|
|
.Pq Em 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.
|
|
.It Ic sidebar_mailbox_tree_no_sibling Ar String
|
|
.Pq Em optional
|
|
Sets the string to print in the mailbox tree for a level where its root has no
|
|
sibling.
|
|
.It Ic sidebar_mailbox_tree_has_sibling_leaf Ar String
|
|
.Pq Em optional
|
|
Sets the string to print in the mailbox tree for a leaf level where its root
|
|
has a sibling.
|
|
.It Ic sidebar_mailbox_tree_no_sibling_leaf Ar String
|
|
.Pq Em optional
|
|
Sets the string to print in the mailbox tree for a leaf level where its root
|
|
has no sibling.
|
|
.It Ic sidebar_divider Ar char
|
|
.Pq Em optional
|
|
Sets the character to print as the divider between the accounts list and the
|
|
message list.
|
|
.It Ic sidebar_ratio Ar Integer
|
|
.Pq Em optional
|
|
This is the width of the right container to the entire screen width.
|
|
.Pq Em 90 \" default value
|
|
.It Ic unseen_flag Ar Option<String>
|
|
Flag to show if thread entry contains unseen mail.
|
|
.Pq Em "●" \" default value
|
|
.It Ic thread_snoozed_flag Ar Option<String>
|
|
Flag to show if thread has been snoozed.
|
|
.LiteralStringValueRenders 💤\e\uu{FE0E} 💤︎ \" default value
|
|
.It Ic selected_flag Ar Option<String>
|
|
Flag to show if thread entry has been selected.
|
|
.LiteralStringValueRenders ☑️ \e\uu{2007} ☑️
|
|
.It Ic attachment_flag Ar Option<String>
|
|
Flag to show if thread entry contains attachments.
|
|
.LiteralStringValueRenders 📎\e\uu{FE0E} 📎︎ \" default value
|
|
.It Ic highlight_self_flag Ar 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.
|
|
.Pq Em "✸" \" default value
|
|
.It Ic highlight_self Ar boolean
|
|
Show
|
|
.Ic highlight_self_flag
|
|
or not.
|
|
.Pq Em false \" default value
|
|
.It Ic thread_subject_pack Ar boolean
|
|
Should threads with differentiating Subjects show a list of those subjects on
|
|
the entry title?
|
|
.Pq Em true \" default value
|
|
.It Ic threaded_repeat_identical_from_values Ar 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.
|
|
.Pq Em false \" default value
|
|
.It Ic relative_menu_indices Ar boolean
|
|
Show relative indices in menu mailboxes to quickly help with jumping to them.
|
|
.Pq Em true \" default value
|
|
.It Ic relative_list_indices Ar boolean
|
|
Show relative indices in listings to quickly help with jumping to them.
|
|
.Pq Em true \" default value
|
|
.It Ic hide_sidebar_on_launch Ar boolean
|
|
Start app with sidebar hidden.
|
|
.Pq Em false \" default value
|
|
.El
|
|
.Ss Examples of sidebar mailbox tree customization
|
|
.HorizontalRule
|
|
The default values
|
|
.sp
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
has_sibling = " "
|
|
no_sibling = " ";
|
|
has_sibling_leaf = " "
|
|
no_sibling_leaf = " "
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.sp
|
|
render a mailbox tree like the following:
|
|
.sp
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
0 Inbox 3
|
|
1 Archive
|
|
2 Drafts
|
|
3 Lists
|
|
4 example-list-a
|
|
5 example-list-b
|
|
6 Sent
|
|
7 Spam
|
|
8 Trash
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.sp
|
|
Other possible trees:
|
|
.sp
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
has_sibling = " ┃"
|
|
no_sibling = " "
|
|
has_sibling_leaf = " ┣━"
|
|
no_sibling_leaf = " ┗━"
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.sp
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
0 Inbox 3
|
|
1 ┣━Archive
|
|
2 ┣━Drafts
|
|
3 ┣━Lists
|
|
4 ┃ ┣━example-list-a
|
|
5 ┃ ┗━example-list-b
|
|
6 ┣━Sent
|
|
7 ┣━Spam
|
|
8 ┗━Trash
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.sp
|
|
A completely ASCII one:
|
|
.sp
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
has_sibling = " |"
|
|
no_sibling = " "
|
|
has_sibling_leaf = " |\\_"
|
|
no_sibling_leaf = " \\_"
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.sp
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
0 Inbox 3
|
|
1 |\\_Archive
|
|
2 |\\_Drafts
|
|
3 |\\_Lists
|
|
4 | |\\_example-list-a
|
|
5 | \\_example-list-b
|
|
6 |\\_Sent
|
|
7 |\\_Spam
|
|
8 \\_Trash
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.sp
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh TAGS
|
|
.Ss Tags (e-mail metadata in backends that support them) configuration settings
|
|
Default values are shown in parentheses.
|
|
.Bl -tag -width 36n
|
|
.It Ic colours Ar hash table String[Color]
|
|
.Pq Em optional
|
|
Set UI colors for tags
|
|
.It Ic ignore_tags Ar Array String
|
|
.Pq Em optional
|
|
Hide tags (not the tagged messages themselves)
|
|
.El
|
|
.sp
|
|
Example:
|
|
.sp
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
[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", ] }
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh PGP
|
|
Default values are shown in parentheses.
|
|
.Bl -tag -width 36n
|
|
.\" #[serde(default = "true_val", alias = "auto-verify-signatures")]
|
|
.\" pub auto_verify_signatures: bool,
|
|
.It Ic auto_verify_signatures Ar boolean
|
|
Auto verify signed e-mail according to RFC3156
|
|
.Pq Em true \" default value
|
|
.\" #[serde(default = "true_val", alias = "auto-decrypt")]
|
|
.\" pub auto_decrypt: bool,
|
|
.It Ic auto_decrypt Ar boolean
|
|
.Pq Em optional
|
|
Always decrypt encrypted e-mail
|
|
.Pq Em true \" default value
|
|
.\" #[serde(default = "false_val", alias = "auto-sign")]
|
|
.\" pub auto_sign: bool,
|
|
.It Ic auto_sign Ar boolean
|
|
.Pq Em optional
|
|
Always sign sent messages
|
|
.Pq Em false \" default value
|
|
.\" #[serde(default = "false_val", alias = "auto-encrypt")]
|
|
.\" pub auto_encrypt: bool,
|
|
.It Ic auto_encrypt Ar boolean
|
|
.Pq Em optional
|
|
Always encrypt sent messages
|
|
.Pq Em false \" default value
|
|
.\" #[serde(default = "none", alias = "sign-key")]
|
|
.\" pub sign_key: Option<String>,
|
|
.It Ic sign_key Ar String
|
|
.Pq Em optional
|
|
ID of key to be used for signatures
|
|
.Pq Em none \" default value
|
|
.\" #[serde(default = "none", alias = "decrypt-key")]
|
|
.\" pub decrypt_key: Option<String>,
|
|
.It Ic decrypt_key Ar String
|
|
.Pq Em optional
|
|
ID of key to be used for decryption
|
|
.Pq Em none \" default value
|
|
.\" #[serde(default = "none", alias = "encrypt-key")]
|
|
.\" pub encrypt_key: Option<String>,
|
|
.It Ic encrypt_key Ar String
|
|
.Pq Em optional
|
|
ID of key to be used for encryption
|
|
.Pq Em none \" default value
|
|
.\" #[serde(default = "internal_value_false", alias = "allow-remote-lookups")]
|
|
.\" pub allow_remote_lookup: ToggleFlag,
|
|
.It Ic auto_remote_lookup Ar boolean
|
|
.Pq Em optional
|
|
Allow remote lookups
|
|
.Pq Em false \" default value
|
|
.\" pub remote_lookup_mechanisms: melib::gpgme::LocateKey,
|
|
.It Ic remote_lookup_mechanisms Ar LocateKey
|
|
.Pq Em optional
|
|
Remote lookup mechanisms.
|
|
Use comma to separate values.
|
|
.Pq Em Local,WKD \" default value
|
|
.Pp
|
|
Possible mechanisms:
|
|
.Bl -dash -compact
|
|
.It
|
|
.Em cert
|
|
.It
|
|
.Em pka
|
|
.It
|
|
.Em dane
|
|
.It
|
|
.Em wkd
|
|
.It
|
|
.Em ldap
|
|
.It
|
|
.Em keyserver
|
|
.It
|
|
.Em keyserver-url
|
|
.It
|
|
.Em local
|
|
.El
|
|
.El
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh TERMINAL
|
|
.Ss Note about emojis and other multi-width characters in string values
|
|
Some useful unicode combining marks
|
|
.Po
|
|
invisible characters that modify the presentation of visible characters before
|
|
them
|
|
.Pc
|
|
are:
|
|
.sp
|
|
.Bl -tag -width 15n
|
|
.It Ns
|
|
.Li \e\uu{FE0E}
|
|
Emoji variation sequence select 15: renders an emoji as text style (monochrome)
|
|
.It Ns
|
|
.Li \e\uu{FE0F}
|
|
Emoji variation sequence select 16: renders an emoji in color
|
|
.It Ns
|
|
.Li \e\uu{2007}
|
|
Figure space, a space character with the width of a digit in a monospace
|
|
typeface
|
|
.El
|
|
.sp
|
|
.Ss Terminal configuration settings
|
|
.HorizontalRule
|
|
Default values are shown in parentheses.
|
|
.Bl -tag -width 36n
|
|
.It Ic theme Ar String
|
|
.Pq Em optional
|
|
Theme name to use.
|
|
.Pq Em dark \" default value
|
|
.It Ic ascii_drawing Ar boolean
|
|
.Pq Em optional
|
|
If true, box drawing will be done with ASCII characters.
|
|
.Pq Em false \" default value
|
|
.It Ic use_color Ar boolean
|
|
.Pq Em optional
|
|
If false, no
|
|
.Tn ANSI
|
|
colors are used.
|
|
.Pq Em true \" default value
|
|
.It Ic window_title Ar String
|
|
.Pq Em optional
|
|
Set window title in xterm compatible terminals An empty string means no window
|
|
title is set.
|
|
.Pq Em "meli" \" default value
|
|
.It Ic file_picker_command Ar String
|
|
.Pq Em optional
|
|
Set command that prints file paths in stderr, separated by NULL bytes.
|
|
Used with
|
|
.Ic add-attachment-file-picker
|
|
when composing new mail.
|
|
.Pq Em None \" default value
|
|
.It Ic themes Ar hash table String[String[Attribute]]
|
|
Define
|
|
.Tn UI
|
|
themes.
|
|
See
|
|
.Xr meli-themes 5
|
|
for details.
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
[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]
|
|
\&...
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.It Ic use_mouse Ar boolean
|
|
Use mouse events.
|
|
This will disable text selection, but you will be able to resize some widgets.
|
|
This setting can be toggled with
|
|
.Cm toggle mouse Ns
|
|
\&.
|
|
.Pq Em false \" default value
|
|
.It Ic mouse_flag Ar String
|
|
String to show in status bar if mouse is active.
|
|
.Pq Em 🖱️ \" default value
|
|
.It Ic progress_spinner_sequence Ar 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.
|
|
.Pq Em 20 \" default value
|
|
.sp
|
|
Built-in sequences are:
|
|
.sp
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
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 ["🌑 ", "🌒 ", "🌓 ", "🌔 ", "🌕 ", "🌖 ", "🌗 ", "🌘 "]
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.sp
|
|
Or, define an array of strings each consisting of a frame in the progress
|
|
sequence indicator for a custom spinner:
|
|
.Bl -tag -width 36n
|
|
.It Ic interval_ms Ar u64
|
|
.Pq Em optional
|
|
Frame interval.
|
|
.Pq 50 \" default value
|
|
.It Ic frames Ar [String]
|
|
The animation frames.
|
|
.El
|
|
.Pp
|
|
Example:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
progress_spinner_sequence = { interval_ms = 150, frames = [ "-", "=", "≡" ] }
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.El
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh LOG
|
|
.Ss Logging configuration settings
|
|
Default values are shown in parentheses.
|
|
.Bl -tag -width 36n
|
|
.It Ic log_file Ar String
|
|
.Pq Em optional
|
|
path of the log file
|
|
.Pq Pa $XDG_DATA_HOME/meli/meli.log \" default value
|
|
.It Ic maximum_level Ar String
|
|
.Pq Em optional
|
|
maximum level of messages to log.
|
|
All levels less or equal to the
|
|
.Ic maximum_level
|
|
will be appended to the log file.
|
|
Available levels are, in partial order:
|
|
.Bl -dash -compact
|
|
.It
|
|
.Em OFF
|
|
.It
|
|
.Em ERROR
|
|
.It
|
|
.Em WARN
|
|
.It
|
|
.Em INFO
|
|
.It
|
|
.Em DEBUG
|
|
.It
|
|
.Em TRACE
|
|
.El
|
|
This means that to turn logging off, set
|
|
.Ic maximum_level
|
|
to
|
|
.Em OFF Ns
|
|
\&.
|
|
.Pq Em INFO \" default value
|
|
.El
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh SMTP Connections
|
|
.Ss SMTP configuration settings
|
|
Default values are shown in parentheses.
|
|
.Bl -tag -width 36n
|
|
.It Ic hostname Ar String
|
|
server hostname
|
|
.It Ic port Ar Integer
|
|
server port
|
|
.It Ic envelope_from Ar String
|
|
.Pq Em optional
|
|
address to set as sender in SMTP transactions
|
|
.Pq Em none \" default value
|
|
.It Ic auth Ar SmtpAuth
|
|
.Tn SMTP
|
|
server authentication.
|
|
See
|
|
.Sx SmtpAuth
|
|
subsection.
|
|
.It Ic security Ar SmtpSecurity
|
|
.Pq Em optional
|
|
.Sy gpg
|
|
binary name or file location to use.
|
|
.Po see \" default value
|
|
.Sx SmtpSecurity
|
|
subsection
|
|
.Pc
|
|
.It Ic extensions Ar SmtpExtensions
|
|
.Pq Em optional
|
|
set support for
|
|
.Tn SMTP
|
|
extensions if they are advertised by the server.
|
|
.Po see \" default value
|
|
.Sx SmtpExtensions
|
|
subsection
|
|
.Pc
|
|
.El
|
|
.Ss SmtpAuth
|
|
.Bl -tag -width 36n
|
|
.It Ic type Ar "none" | "auto" | "xoauth2"
|
|
.El
|
|
.Pp
|
|
For type
|
|
.Qq auto Ns
|
|
:
|
|
.Bl -tag -width 36n
|
|
.It Ic username Ar String
|
|
.It Ic password Ar SmtpPassword
|
|
.It Ic require_auth Ar boolean
|
|
.Pq Em optional
|
|
require authentication in every case.
|
|
.Pq Em true \" default value
|
|
.El
|
|
.sp
|
|
For type
|
|
.Qq xoauth2 Ns
|
|
:
|
|
.Bl -tag -width 36n
|
|
.It Ic token_command Ar String
|
|
Command to evaluate that returns an
|
|
.Tn XOAUTH2
|
|
token.
|
|
.It Ic require_auth Ar boolean
|
|
.Pq Em optional
|
|
require authentication in every case.
|
|
.Pq Em true \" default value
|
|
.El
|
|
.sp
|
|
Examples:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
auth = { type = "auto", username = "user", password = { type = "raw", value = "hunter2" } }
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
auth = { type = "auto", username = "user", password = "hunter2" }
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
auth = { type = "none" }
|
|
.Ed
|
|
.sp
|
|
For
|
|
.Tn Gmail
|
|
(see
|
|
.Sx Gmail OAUTH2
|
|
for details on the authentication token command):
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
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" }
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Ss SmtpPassword
|
|
.Bl -tag -width 36n
|
|
.It Ic type Ar "raw" | "command_evaluation"
|
|
.It Ic value Ar String
|
|
Either a raw password string, or command to execute.
|
|
.El
|
|
.sp
|
|
Examples:
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
password = { type = "raw", value = "hunter2" }
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Bd -literal
|
|
password = { type = "command_eval", value = "gpg2 --no-tty -q -d ~/.passwords/user.gpg" }
|
|
.Ed
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Ss SmtpSecurity
|
|
Default security type is
|
|
.Em auto Ns
|
|
\&.
|
|
.Bl -tag -width 36n
|
|
.It Ic type Ar "none" | "auto" | "starttls" | "tls"
|
|
.It Ic danger_accept_invalid_certs Ar boolean
|
|
Accept invalid
|
|
.Tn SSL
|
|
/
|
|
.Tn TLS
|
|
certificates
|
|
.Pq Em false \" default value
|
|
.El
|
|
.Ss SmtpExtensions
|
|
.Bl -tag -width 36n
|
|
.It Ic pipelining Ar boolean
|
|
RFC2920
|
|
.Pq Em true \" default value
|
|
.It Ic chunking Ar boolean
|
|
RFC3030
|
|
.Pq Em true \" default value
|
|
.It Ic prdr Ar boolean
|
|
draft-hall-prdr-00
|
|
.Pq Em true \" default value
|
|
.It Ic dsn_notify Ar String
|
|
RFC3461
|
|
.Pq Em FAILURE \" default value
|
|
.El
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.\"
|
|
.Sh SEE ALSO
|
|
.Xr meli 1 ,
|
|
.Xr meli-themes 5
|
|
.Sh STANDARDS
|
|
.Bl -item -compact
|
|
.It
|
|
.Tn TOML
|
|
Standard
|
|
.Li v.0.5.0
|
|
.Lk https://toml.io/en/v0.5.0
|
|
.El
|
|
.Sh AUTHORS
|
|
Copyright 2017\(en2024
|
|
.An Manos Pitsidianakis Aq Mt manos@pitsidianak.is
|
|
.Pp
|
|
Released under the GPL, version 3 or greater.
|
|
This software carries no warranty of any kind.
|
|
.Po
|
|
See
|
|
.Pa COPYING
|
|
for full copyright and warranty notices.
|
|
.Pc
|
|
.Ss Links
|
|
.Bl -item -compact
|
|
.It
|
|
.Lk https://meli\-email.org "Website"
|
|
.It
|
|
.Lk https://git.meli\-email.org/meli/meli "Main\ git\ repository\ and\ issue\ tracker"
|
|
.It
|
|
.Lk https://codeberg.org/meli/meli "Official\ read-only\ git\ mirror\ on\ codeberg.org"
|
|
.It
|
|
.Lk https://github.com/meli/meli "Official\ read-only\ git\ mirror\ on\ github.com"
|
|
.It
|
|
.Lk https://crates.io/crates/meli "meli\ crate\ on\ crates.io"
|
|
.El
|