mirror of
https://git.meli.delivery/meli/meli
synced 2024-11-01 15:40:27 +00:00
565 lines
14 KiB
Groff
565 lines
14 KiB
Groff
.\" meli - meli.1
|
|
.\"
|
|
.\" 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/>.
|
|
.\"
|
|
.Dd July 29, 2019
|
|
.Dt MELI 1
|
|
.Os
|
|
.Sh NAME
|
|
.Nm meli
|
|
.Nd Meli Mail User Agent. meli is the Greek word for honey
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl -help | h
|
|
.Op Fl -version | v
|
|
.Op Fl -config Ar path
|
|
.Bl -tag -width flag -offset indent
|
|
.It Fl -help | h
|
|
Show help message and exit.
|
|
.It Fl -version | v
|
|
Show version and exit.
|
|
.It Fl -config Ar path
|
|
Start meli with given configuration file.
|
|
.It Cm create-config Op Ar path
|
|
Create configuration file in
|
|
.Pa path
|
|
if given, or at
|
|
.Pa $XDG_CONFIG_HOME/meli/config.toml
|
|
.It Cm test-config Op Ar path
|
|
Test a configuration file for syntax issues or missing options.
|
|
.It Cm man Op Ar page
|
|
Print documentation page and exit (Piping to a pager is recommended.)
|
|
.It Cm print-default-theme
|
|
Print default theme keys and values in TOML syntax, to be used as a blueprint.
|
|
.It Cm print-loaded-themes
|
|
Print all loaded themes in TOML syntax.
|
|
.It Cm view
|
|
View mail from input file.
|
|
.El
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
is a terminal mail client aiming for extensive and user-frendly configurability.
|
|
.Bd -literal
|
|
^^ .-=-=-=-. ^^
|
|
^^ (`-=-=-=-=-`) ^^
|
|
(`-=-=-=-=-=-=-`) ^^ ^^
|
|
^^ (`-=-=-=-=-=-=-=-`) ^^
|
|
( `-=-=-=-(@)-=-=-` ) ^^
|
|
(`-=-=-=-=-=-=-=-=-`) ^^
|
|
(`-=-=-=-=-=-=-=-=-`) ^^
|
|
(`-=-=-=-=-=-=-=-=-`)
|
|
^^ (`-=-=-=-=-=-=-=-=-`) ^^
|
|
^^ (`-=-=-=-=-=-=-=-`) ^^
|
|
(`-=-=-=-=-=-=-`) ^^
|
|
^^ (`-=-=-=-=-`)
|
|
`-=-=-=-=-` ^^
|
|
.Ed
|
|
.Sh STARTING WITH meli
|
|
When launched for the first time,
|
|
.Nm
|
|
will search for its configuration directory,
|
|
.Pa $XDG_CONFIG_HOME/meli/ Ns
|
|
\&.
|
|
If it doesn't exist, you will be asked if you want to create one along with a sample configuration.
|
|
The sample configuration
|
|
.Pa $XDG_CONFIG_HOME/meli/config.toml
|
|
includes comments with the basic settings required for setting up accounts allowing you to copy and edit right away.
|
|
See
|
|
.Xr meli.conf 5
|
|
for the available configuration options.
|
|
.Pp
|
|
At any time, you may press
|
|
.Cm \&?
|
|
to show a searchable list of all available actions and shortcuts, along with every possible setting and command that your version supports.
|
|
.Pp
|
|
The main visual navigation tool is the left-side sidebar.
|
|
The menu's visibility may be toggled with
|
|
.Cm `
|
|
(shortcuts.listing:
|
|
.Ic toggle_menu_visibility Ns
|
|
).
|
|
.Pp
|
|
The view into each mailbox has 4 modes: plain, threaded, conversations and compact.
|
|
Plain views each mail indvidually, threaded shows their thread relationship visually, and conversations includes one entry per thread of emails (compact is one row per thread).
|
|
.Pp
|
|
If you're using a light color palette in your terminal, you may set
|
|
.Em theme = "light"
|
|
in the
|
|
.Em terminal
|
|
section of your configuration.
|
|
See
|
|
.Xr meli-themes 5
|
|
for complete documentation on user themes.
|
|
.Sh VIEWING MAIL
|
|
Open attachments by typing their index in the attachments list and then
|
|
.Cm a Ns
|
|
\&.
|
|
.Nm
|
|
will attempt to open text inside its pager and other content via
|
|
.Cm xdg-open Ns
|
|
\&.
|
|
Press
|
|
.Cm m
|
|
instead to use the mailcap entry for the MIME type of the attachment, if any.
|
|
See
|
|
.Sx FILES
|
|
for the location of the mailcap files and
|
|
.Xr mailcap 5
|
|
for their syntax.
|
|
You can save individual attachments with the
|
|
.Cm save-attachment Ar INDEX Ar path-to-file
|
|
where
|
|
.Ar INDEX
|
|
is the attachment's index in the listing.
|
|
If the zeroth index is provided, the entire message is saved.
|
|
If the path provided is a directory, the message is saved as an eml file with its filename set to the messages message-id.
|
|
.Sh SEARCH
|
|
Each e-mail storage backend has its default search method.
|
|
.Em IMAP
|
|
uses the SEARCH command,
|
|
.Em notmuch
|
|
uses libnotmuch and
|
|
.Em Maildir/mbox
|
|
have to do a slow linear search.
|
|
Thus it is advised to use a cache on
|
|
.Em Maildir/mbox
|
|
accounts.
|
|
.Nm Ns
|
|
, if built with sqlite3, includes the ability to perform full text search on the following fields: From, To, Cc, Bcc, In-Reply-To, References, Subject and Date.
|
|
The message body (in plain text human readable form) and the flags can also be queried.
|
|
To enable sqlite3 indexing for an account set
|
|
.Em cache_type
|
|
to
|
|
.Em sqlite3
|
|
in the configuration file and to create the sqlite3 index issue command
|
|
.Cm index Ar ACCOUNT_NAME Ns \&.
|
|
.sp
|
|
To search in the message body type your keywords without any special formatting.
|
|
To search in specific fields, prepend your search keyword with "field:" like so:
|
|
.Pp
|
|
.D1 subject:helloooo or subject:\&"call for help\&" or \&"You remind me today of a small, Mexican chihuahua.\&"
|
|
.Pp
|
|
.D1 not ((from:unrealistic and (to:complex or not "query")) or flags:seen,draft)
|
|
.Pp
|
|
.D1 alladdresses:mailing@list.tld and cc:me@domain.tld
|
|
.Pp
|
|
Boolean operators are
|
|
.Em or Ns
|
|
,
|
|
.Em and
|
|
and
|
|
.Em not
|
|
.Po
|
|
alias:
|
|
.Em \&!
|
|
.Pc
|
|
String keywords with spaces must be quoted.
|
|
Quotes should always be escaped.
|
|
.sp
|
|
.Sy Important Notice about IMAP/JMAP
|
|
.sp
|
|
To prevent downloading all your messages from your IMAP/JMAP server, don't set
|
|
.Em cache_type
|
|
to
|
|
.Em sqlite3 Ns
|
|
\&.
|
|
.Nm
|
|
will relay your queries to the IMAP server.
|
|
Expect a delay between query and response.
|
|
Sqlite3 on the contrary at reasonable mailbox sizes should have a non noticable delay.
|
|
.Sh TAGS
|
|
.Nm
|
|
supports tagging in notmuch and IMAP/JMAP backends.
|
|
Tags can be searched with the `tags:` or `flags:` prefix in a search query, and can be modified by
|
|
.Cm tag add TAG
|
|
and
|
|
.Cm tag remove TAG
|
|
(see
|
|
.Xr meli.conf 5 TAGS Ns
|
|
, settings
|
|
.Ic colors
|
|
and
|
|
.Ic ignore_tags
|
|
for how to set tag colors and tag visiblity)
|
|
.Sh COMPOSING
|
|
To send mail, press
|
|
.Cm m
|
|
while viewing the appropriate account to open a new composing tab.
|
|
To reply to a mail, press
|
|
.Cm R Ns
|
|
\&.
|
|
You may edit some of the header fields from within the view, by selecting with the arrow keys and pressing
|
|
.Cm enter
|
|
to enter
|
|
.Ar INSERT
|
|
mode.
|
|
At any time you may press
|
|
.Cm e
|
|
to launch your editor (see
|
|
.Xr meli.conf 5 COMPOSING Ns
|
|
, setting
|
|
.Ic editor_cmd
|
|
for how to select which editor to launch).
|
|
Attachments may be handled with the
|
|
.Em add-attachment Ns
|
|
,
|
|
.Em remove-attachment
|
|
commands (see below).
|
|
Finally, pressing
|
|
.Cm s
|
|
will send your message by piping it into a binary of your choosing (see
|
|
.Xr meli.conf 5 COMPOSING Ns
|
|
, setting
|
|
.Ic mailer_cmd Ns
|
|
).
|
|
To save your draft without sending it, issue command
|
|
.Cm close
|
|
and select 'save as draft'.
|
|
.Pp
|
|
With no Draft or Sent mailbox,
|
|
.Nm
|
|
tries first saving mail in your INBOX and then at any other mailbox.
|
|
On complete failure to save your draft or sent message it will be saved in your
|
|
.Em tmp
|
|
directory instead and you will be notified of its location.
|
|
.Pp
|
|
To open a draft for editing later, select your draft in the mail listing and press
|
|
.Cm e Ns
|
|
\&.
|
|
.sp
|
|
Your editor can be used in
|
|
.Nm Ns
|
|
\&'s embed terminal emulator by setting
|
|
.Ic embed
|
|
to
|
|
.Em true
|
|
in your composing settings.
|
|
When launched, your editor captures all input until it exits or stops.
|
|
To stop your editor and return to
|
|
.Nm
|
|
issue Ctrl-z and to resume editing press the
|
|
.Ic edit_mail
|
|
command again (default
|
|
.Em e Ns
|
|
).
|
|
.Sh CONTACTS
|
|
.Nm
|
|
supports two kinds of contact backends:
|
|
.sp
|
|
.Bl -enum -compact -offset indent
|
|
.It
|
|
an internal format that gets saved under
|
|
.Pa $XDG_DATA_HOME/meli/account_name/addressbook Ns
|
|
\&.
|
|
.It
|
|
vCard files (v3, v4) through the
|
|
.Ic vcard_folder
|
|
option in the account section.
|
|
The path defined as
|
|
.Ic vcard_folder
|
|
can hold multiple vCards per file.
|
|
They are loaded read only.
|
|
.El
|
|
.sp
|
|
See
|
|
.Xr meli.conf 5 ACCOUNTS
|
|
for the complete account configuration values.
|
|
.Sh EXECUTE mode
|
|
Commands are issued in EXECUTE mode, by default started with Space and exited with Escape key.
|
|
.Pp
|
|
the following commands are valid in the mail listing context:
|
|
.Bl -tag -width 36n
|
|
.It Cm set Ar plain | threaded | compact | conversations
|
|
set the way mailboxes are displayed
|
|
.El
|
|
.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
|
|
.Bl -tag -width 36n
|
|
.It Cm sort Ar subject | date \ Ar asc | desc
|
|
sort mail listing
|
|
.It Cm subsort Ar subject | date \ Ar asc | desc
|
|
sorts only the first level of replies.
|
|
.It Cm go Ar n
|
|
where
|
|
.Ar n
|
|
is a mailbox prefixed with the
|
|
.Ar n
|
|
number in the side menu for the current account
|
|
.It Cm toggle_thread_snooze
|
|
don't issue notifications for thread under cursor in thread listing
|
|
.It Cm search Ar STRING
|
|
search mailbox with
|
|
.Ar STRING
|
|
key.
|
|
Escape exits search results
|
|
.It Cm set read, set unread
|
|
.It Cm create-mailbox Ar ACCOUNT Ar MAILBOX_PATH
|
|
create mailbox with given path.
|
|
Be careful with backends and separator sensitivity (eg IMAP)
|
|
.It Cm subscribe-mailbox Ar ACCOUNT Ar MAILBOX_PATH
|
|
subscribe to mailbox with given path
|
|
.It Cm unsubscribe-mailbox Ar ACCOUNT Ar MAILBOX_PATH
|
|
unsubscribe to mailbox with given path
|
|
.It Cm rename-mailbox Ar ACCOUNT Ar MAILBOX_PATH_SRC Ar MAILBOX_PATH_DEST
|
|
rename mailbox
|
|
.It Cm delete-mailbox Ar ACCOUNT Ar MAILBOX_PATH
|
|
delete mailbox
|
|
.El
|
|
.Pp
|
|
envelope view commands:
|
|
.Bl -tag -width 36n
|
|
.It Cm pipe Ar EXECUTABLE Ar ARGS
|
|
pipe pager contents to binary
|
|
.It Cm list-post
|
|
post in list of viewed envelope
|
|
.It Cm list-unsubscribe
|
|
unsubscribe automatically from list of viewed envelope
|
|
.It Cm list-archive
|
|
open list archive with
|
|
.Cm xdg-open
|
|
.El
|
|
.Pp
|
|
composing mail commands:
|
|
.Bl -tag -width 36n
|
|
.It Cm add-attachment Ar PATH
|
|
in composer, add
|
|
.Ar PATH
|
|
as an attachment
|
|
.It Cm add-attachment < Ar CMD Ar ARGS
|
|
in composer, pipe
|
|
.Ar CMD Ar ARGS
|
|
output into an attachment
|
|
.It Cm remove-attachment Ar INDEX
|
|
remove attachment with given index
|
|
.It Cm toggle sign
|
|
toggle between signing and not signing this message.
|
|
If the gpg invocation fails then the mail won't be sent.
|
|
.It Cm save-draft
|
|
saves a copy of the draft in the Draft folder
|
|
.El
|
|
.Pp
|
|
generic commands:
|
|
.Bl -tag -width 36n
|
|
.It Cm open-in-tab
|
|
opens envelope view in new tab
|
|
.It Cm close
|
|
closes closeable tabs
|
|
.It Cm setenv Ar KEY=VALUE
|
|
set environment variable
|
|
.Ar KEY
|
|
to
|
|
.Ar VALUE
|
|
.It Cm printenv Ar KEY
|
|
print environment variable
|
|
.Ar KEY
|
|
.El
|
|
.Sh SHORTCUTS
|
|
Non-complete list of shortcuts and their default values.
|
|
.Bl -tag -width 36n
|
|
.It Ic open_thread
|
|
\&'\\n'
|
|
.It Ic exit_thread
|
|
\&'i'
|
|
.It Ic create_contact
|
|
\&'c'
|
|
.It Ic edit_contact
|
|
\&'e'
|
|
.It Ic prev_page
|
|
PageUp,
|
|
.It Ic next_page
|
|
PageDown
|
|
.It Ic prev_mailbox
|
|
\&'K'
|
|
.It Ic next_mailbox
|
|
\&'J'
|
|
.It Ic prev_account
|
|
\&'l'
|
|
.It Ic next_account
|
|
\&'h'
|
|
.It Ic new_mail
|
|
\&'m'
|
|
.It Ic scroll_up
|
|
\&'k'
|
|
.It Ic scroll_down
|
|
\&'j'
|
|
.It Ic page_up
|
|
PageUp
|
|
.It Ic page_down
|
|
PageDown
|
|
.It Ic toggle-menu-visibility
|
|
\&'`'
|
|
.It Ic select
|
|
\&'v'
|
|
.It Ic `
|
|
toggles hiding of sidebar in mail listings
|
|
.It Ic \&?
|
|
opens up a shortcut window that shows available actions in the current component you are using (eg mail listing, contact list, mail composing)
|
|
.It Ic m
|
|
starts a new mail composer
|
|
.It Ic R
|
|
replies to the viewed mail.
|
|
.It Ic u
|
|
displays numbers next to urls in the body text of an email and
|
|
.Ar n Ns Ic g
|
|
opens the
|
|
.Ar n Ns
|
|
th
|
|
url with xdg-open
|
|
.It Ar n Ns Ic a
|
|
opens the
|
|
.Ar n Ns
|
|
th
|
|
attachment.
|
|
.It Ar n Ns Ic m
|
|
opens the
|
|
.Ar n Ns
|
|
th
|
|
attachment according to its mailcap entry.
|
|
.It Ic v
|
|
(un)selects mail entries in mail listings
|
|
.El
|
|
.Sh QUERY ABNF SYNTAX
|
|
.Bl -bullet
|
|
.It
|
|
.Li query = \&"(\&" query \&")\&" | from | to | cc | bcc | alladdresses | subject | flags | has_attachments | query \&"or\&" query | query \&"and\&" query | not query
|
|
.It
|
|
.Li not = \&"not\&" | \&"!\&"
|
|
.It
|
|
.Li quoted = ALPHA / SP *(ALPHA / DIGIT / SP)
|
|
.It
|
|
.Li term = ALPHA *(ALPHA / DIGIT) | DQUOTE quoted DQUOTE
|
|
.It
|
|
.Li tagname = term
|
|
.It
|
|
.Li flagval = \&"passed\&" | \&"replied\&" | \&"seen\&" | \&"read\&" | \&"junk\&" | \&"trash\&" | \&"trashed\&" | \&"draft\&" | \&"flagged\&" | tagname
|
|
.It
|
|
.Li flagterm = flagval | flagval \&",\&" flagterm
|
|
.It
|
|
.Li from = \&"from:\&" term
|
|
.It
|
|
.Li to = \&"to:\&" term
|
|
.It
|
|
.Li cc = \&"cc:\&" term
|
|
.It
|
|
.Li bcc = \&"bcc:\&" term
|
|
.It
|
|
.Li alladdresses = \&"alladdresses:\&" term
|
|
.It
|
|
.Li subject = \&"subject:\&" term
|
|
.It
|
|
.Li flags = \&"flags:\&" flag | \&"tags:\&" flag | \&"is:\&" flag
|
|
.El
|
|
.Sh EXIT STATUS
|
|
.Nm
|
|
exits with 0 on a successful run.
|
|
Other exit statuses are:
|
|
.Bl -tag -width 2n
|
|
.It 1
|
|
catchall for general errors
|
|
.El
|
|
.Sh ENVIRONMENT
|
|
.Bl -tag -width "$XDG_CONFIG_HOME/meli/plugins/*" -offset indent
|
|
.It Ev EDITOR
|
|
Specifies the editor to use
|
|
.It Ev MELI_CONFIG
|
|
Override the configuration file
|
|
.It Ev NO_COLOR
|
|
When present (regardless of its value), prevents the addition of ANSI color.
|
|
The configuration value
|
|
.Ic use_color
|
|
overrides this.
|
|
.El
|
|
.Sh FILES
|
|
.Nm
|
|
uses the following parts of the XDG standard:
|
|
.Bl -tag -width "$XDG_CONFIG_HOME/meli/plugins/*" -offset indent
|
|
.It Ev XDG_CONFIG_HOME
|
|
defaults to
|
|
.Pa ~/.config/
|
|
.It Ev XDG_CACHE_HOME
|
|
defaults to
|
|
.Pa ~/.cache/
|
|
.El
|
|
.Pp
|
|
and appropriates the following locations:
|
|
.Bl -tag -width "$XDG_CONFIG_HOME/meli/plugins/*" -offset indent
|
|
.It Pa $XDG_CONFIG_HOME/meli/
|
|
User configuration directory.
|
|
.It Pa $XDG_CONFIG_HOME/meli/config.toml
|
|
User configuration file.
|
|
See
|
|
.Xr meli.conf 5
|
|
for its syntax and values.
|
|
.It Pa $XDG_CONFIG_HOME/meli/hooks/*
|
|
Reserved for event hooks.
|
|
.It Pa $XDG_CONFIG_HOME/meli/plugins/*
|
|
Reserved for plugin files.
|
|
.It Pa $XDG_CACHE_HOME/meli/*
|
|
Internal cached data used by meli.
|
|
.It Pa $XDG_DATA_HOME/meli/*
|
|
Internal data used by meli.
|
|
.It Pa $XDG_DATA_HOME/meli/meli.log
|
|
Operation log.
|
|
.It Pa /tmp/meli/*
|
|
Temporary files generated by
|
|
.Nm Ns
|
|
\&.
|
|
.El
|
|
.Pp
|
|
Mailcap entries are searched for in the following files, in this order:
|
|
.Pp
|
|
.Bl -enum -compact -offset indent
|
|
.It
|
|
.Pa $XDG_CONFIG_HOME/meli/mailcap
|
|
.It
|
|
.Pa $XDG_CONFIG_HOME/.mailcap
|
|
.It
|
|
.Pa $HOME/.mailcap
|
|
.It
|
|
.Pa /etc/mailcap
|
|
.It
|
|
.Pa /usr/etc/mailcap
|
|
.It
|
|
.Pa /usr/local/etc/mailcap
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr meli.conf 5 ,
|
|
.Xr meli-themes 5 ,
|
|
.Xr xdg-open 1 ,
|
|
.Xr mailcap 5
|
|
.Sh CONFORMING TO
|
|
XDG Standard
|
|
.Aq https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html Ns
|
|
, maildir
|
|
.Aq https://cr.yp.to/proto/maildir.html Ns
|
|
, IMAPv4rev1 RFC3501, The JSON Meta Application Protocol (JMAP) RFC8620, The JSON Meta Application Protocol (JMAP) for Mail RFC8621.
|
|
.Sh AUTHORS
|
|
Copyright 2017-2019
|
|
.An Manos Pitsidianakis Aq 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.)
|
|
.Pp
|
|
.Aq https://meli.delivery
|