mblaze/man/mblaze.7

179 lines
4.9 KiB
Groff
Raw Normal View History

2016-07-25 15:07:08 +00:00
.Dd July 22, 2016
2016-08-01 17:33:25 +00:00
.Dt MBLAZE 7
2016-07-25 15:07:08 +00:00
.Os
.Sh NAME
2016-08-01 17:33:25 +00:00
.Nm mblaze
.Nd introduction to mblaze
2016-07-25 15:07:08 +00:00
.Sh DESCRIPTION
The
2016-08-01 17:33:25 +00:00
.Nm
2016-07-25 15:07:08 +00:00
message system is a set of Unix utilities to deal with
mail kept in Maildir folders.
.Pp
Its design is roughly inspired by MH, the RAND Message Handling
2017-03-13 15:12:31 +00:00
System, but it is a complete implementation from scratch.
2016-07-25 15:07:08 +00:00
.Pp
2016-08-01 17:33:25 +00:00
.Nm
2017-03-13 15:12:31 +00:00
consists of these Unix tools that each do one job:
2016-07-26 15:54:27 +00:00
.Bl -tag -width 11n -compact
2016-07-25 15:07:08 +00:00
.It Xr maddr 1
to extract addresses from mail
2016-08-02 13:50:30 +00:00
.It Xr magrep 1
to find mails matching a pattern
.It Xr mcom 1
2016-07-25 15:07:08 +00:00
to write and send mail
2016-07-26 15:54:27 +00:00
.It Xr mdeliver 1
to deliver messages or import mailboxes
2016-07-25 15:07:08 +00:00
.It Xr mdirs 1
2017-06-20 12:17:24 +00:00
to find Maildir
2016-08-19 15:53:40 +00:00
.It Xr mexport 1
to export mailboxes
2016-07-25 15:07:08 +00:00
.It Xr mflag 1
to change flags (marks) of mail
2016-08-01 15:22:51 +00:00
.It Xr mgenmid 1
to generate Message-IDs
2016-07-25 15:07:08 +00:00
.It Xr mhdr 1
to extract mail headers
.It Xr minc 1
to incorporate new mail
.It Xr mless 1
to conveniently read mail in
.Xr less 1
.It Xr mlist 1
to list and filter mail messages
.It Xr mmime 1
to create MIME messages
2017-06-20 12:17:24 +00:00
.It Xr mmkdir 1
to create new Maildir
.It Xr mpick 1
to filter mail
.It Xr mrep 1
2016-07-25 15:07:08 +00:00
to reply to mail
.It Xr mscan 1
to generate single line summaries of mail
2016-08-01 12:55:34 +00:00
.It Xr msed 1
to manipulate mail headers
2016-07-25 15:07:08 +00:00
.It Xr mseq 1
2016-07-26 14:39:10 +00:00
to manipulate mail sequences
2016-07-25 15:07:08 +00:00
.It Xr mshow 1
to render mail and extract attachments
.It Xr msort 1
to sort mail
.It Xr mthread 1
to arrange mail into discussions
.El
.Sh PRINCIPLES
2016-08-01 17:33:25 +00:00
.Nm
2017-03-13 15:12:31 +00:00
is a classic command line MUA and has no features related to receiving
and transferring mail;
you are expected to fetch your mail using
2016-07-25 15:07:08 +00:00
.Xr offlineimap 1 ,
.Xr fdm 1 ,
.Xr procmail 1 ,
.Xr getmail 1
or similar
and send it using
.Xr sendmail 8 ,
as provided by
OpenSMTPD,
Postfix,
.Xr msmtp 1 ,
.Xr dma 8
or similar.
2016-08-01 17:33:25 +00:00
.Nm
2016-07-25 15:07:08 +00:00
expects your mail to reside in Maildir folders.
.Pp
2016-08-01 17:33:25 +00:00
.Nm
2016-09-05 10:53:32 +00:00
operates directly on Maildir and doesn't use own caches or databases.
2016-07-25 15:07:08 +00:00
There is no setup needed for many uses.
All tools have been written with performance in mind.
Enumeration of all mails in a Maildir is avoided unless necessary,
and then optimized to use few syscalls.
Parsing mail metadata is optimized to use few I/O requests.
Initial operations on big Maildir may feel slow, but as soon as they
2016-09-05 10:53:32 +00:00
are in file system cache, everything is blazing fast.
2016-07-25 15:07:08 +00:00
The tools are written to be memory efficient (i.e. not wasteful), but
2017-03-13 15:12:31 +00:00
whole messages are assumed to fit into RAM easily (one at a time).
2016-07-25 15:07:08 +00:00
.Pp
2016-08-01 17:33:25 +00:00
.Nm
2016-07-25 15:07:08 +00:00
has been written from scratch and tested on a big pile of personal mail,
but is not actually 100% RFC conforming
(which is neither worth it nor desirable).
There may be issues with very old, nonconforming, messages.
.Pp
2016-08-01 17:33:25 +00:00
.Nm
2016-07-25 15:07:08 +00:00
is written in portable C, using only POSIX functions (apart from a tiny
2016-07-31 20:20:46 +00:00
Linux-only optimization),
and has no external dependencies.
2016-07-25 15:07:08 +00:00
It supports MIME and more than 7-bit messages (everything the host
.Xr iconv 3
can decode).
It assumes you work in a UTF-8 environment.
2016-08-01 17:33:25 +00:00
.Nm
2016-07-25 15:07:08 +00:00
works well together with other Unix mail tools such as
.Xr offlineimap 1 ,
.Xr mairix 1 ,
or
.Xr mu 1 .
.Sh EXAMPLES
2016-08-01 17:33:25 +00:00
.Nm
2016-07-25 15:07:08 +00:00
tools are designed to be composed together into a pipe.
It is suitable for interactive use and for scripting.
It integrates well into a Unix workflow.
.Pp
For example, you could decide you want to look at all unseen mail in your
INBOX, oldest first.
.Dl mlist -s ~/Maildir/INBOX | msort -d | mscan
To operate on a set of mails in multiple steps, you can save a list of mail
as a sequence.
E.g. add a call to
2016-07-26 14:39:10 +00:00
.Ql mseq -S
2016-07-25 15:07:08 +00:00
to above command:
2016-07-26 14:39:10 +00:00
.Dl mlist -s ~/Maildir/INBOX | msort -d | mseq -S | mscan
2016-07-25 15:07:08 +00:00
Now mscan will show message numbers and you could look at the first
five mails at once, for example:
.Dl mshow 1:5
Likewise, you could decide to look at all freshly received mail in all
folders, thread it and look at it interactively:
.Dl mdirs ~/Maildir | xargs minc | mthread | mless
Or you could look at the attachments of the 20 largest mails in your INBOX:
.Dl mlist ~/Maildir/INBOX | msort -s | tail -20 | mshow -t
Or apply the patches from the current mail:
.Dl mshow -O . '*.diff' | patch
As usual with pipes, the sky is the limit.
.Sh CONCEPTS
2016-08-01 17:33:25 +00:00
.Nm
2016-07-25 15:07:08 +00:00
deals with messages (which are files),
folders (which are Maildir folders),
2016-07-25 22:27:28 +00:00
sequences (which are newline-separated lists of messages, possibly persisted on disk in
.Pa ${MBLAZE:-$HOME/.mblaze}/seq ) ,
2016-07-25 15:07:08 +00:00
and the current message (kept as a symlink in
.Pa ${MBLAZE:-$HOME/.mblaze}/cur ) .
2016-07-25 15:07:08 +00:00
.Pp
Messages in the persisted sequence can be referred to using special
syntax as explained in
.Xr mmsg 7 .
.Pp
Many utilities have a default behavior when used interactively from a terminal
(e.g. operate on the current message or the current sequence).
For scripting, you must make these arguments explicit.
2017-02-20 14:39:21 +00:00
.Pp
For configuration, see
.Xr mblaze-profile 5 .
2016-07-25 15:07:08 +00:00
.Sh SEE ALSO
.Xr mailx 1 ,
2017-02-20 14:39:21 +00:00
.Xr mblaze-profile 5 ,
2016-07-25 15:07:08 +00:00
.Xr nmh 7
.Sh AUTHORS
2017-01-21 16:17:12 +00:00
.An Leah Neukirchen Aq Mt leah@vuxu.org
2016-07-25 15:07:08 +00:00
.Sh LICENSE
2016-08-01 17:33:25 +00:00
.Nm
2016-07-25 15:07:08 +00:00
is in the public domain.
.Pp
To the extent possible under law,
the creator of this work
has waived all copyright and related or
neighboring rights to this work.
.Pp
.Lk http://creativecommons.org/publicdomain/zero/1.0/