2016-08-01 17:33:25 +00:00
|
|
|
|
MBLAZE(7) Miscellaneous Information Manual MBLAZE(7)
|
2016-07-25 15:10:21 +00:00
|
|
|
|
|
|
|
|
|
NAME
|
2018-02-13 16:37:17 +00:00
|
|
|
|
mblaze – introduction to the mblaze message system
|
2016-07-25 15:10:21 +00:00
|
|
|
|
|
|
|
|
|
DESCRIPTION
|
2018-02-13 16:37:17 +00:00
|
|
|
|
The mblaze message system is a set of Unix utilities for processing and
|
|
|
|
|
interacting with mail messages which are stored in maildir folders.
|
2016-07-25 15:10:21 +00:00
|
|
|
|
|
|
|
|
|
Its design is roughly inspired by MH, the RAND Message Handling System,
|
2017-03-13 15:12:31 +00:00
|
|
|
|
but it is a complete implementation from scratch.
|
2016-07-25 15:10:21 +00:00
|
|
|
|
|
2018-02-13 16:37:17 +00:00
|
|
|
|
mblaze consists of these Unix utilities that each do one job:
|
|
|
|
|
|
|
|
|
|
maddr(1) extract mail addresses from messages
|
|
|
|
|
magrep(1) search messages matching a pattern
|
|
|
|
|
mbnc(1) bounce messages
|
|
|
|
|
mcom(1) compose and send messages
|
|
|
|
|
mdeliver(1) deliver messages or import mbox file
|
|
|
|
|
mdirs(1) list maildir folders, recursively
|
|
|
|
|
mexport(1) export messages as mbox file
|
2019-01-31 19:49:46 +00:00
|
|
|
|
mflag(1) manipulate maildir message flags
|
2018-02-13 16:37:17 +00:00
|
|
|
|
mflow(1) reflow format=flowed plain text messages
|
|
|
|
|
mfwd(1) forward messages
|
|
|
|
|
mgenmid(1) generate a Message-ID
|
|
|
|
|
mhdr(1) print message headers
|
|
|
|
|
minc(1) incorporate new messages
|
|
|
|
|
mless(1) conveniently read messages in less(1)
|
|
|
|
|
mlist(1) list and filter messages
|
2017-07-01 16:27:29 +00:00
|
|
|
|
mmime(1) create MIME messages
|
2018-02-13 16:37:17 +00:00
|
|
|
|
mmkdir(1) create new maildir folders
|
|
|
|
|
mpick(1) advanced message filter
|
2018-04-19 17:22:41 +00:00
|
|
|
|
mrefile(1) move or copy messages between maildir folders
|
2018-02-13 16:37:17 +00:00
|
|
|
|
mrep(1) reply to messages
|
|
|
|
|
mscan(1) generate one-line message summaries
|
|
|
|
|
msed(1) manipulate message headers
|
|
|
|
|
mseq(1) manipulate message sequences
|
|
|
|
|
mshow(1) render messages and extract MIME parts
|
|
|
|
|
msort(1) sort messages
|
|
|
|
|
mthread(1) arrange messages into discussions
|
|
|
|
|
|
2017-07-01 16:27:29 +00:00
|
|
|
|
mblaze is a classic command line MUA and has no features for receiving or
|
2018-02-13 16:37:17 +00:00
|
|
|
|
transferring messages; you can operate on messages in a local maildir
|
|
|
|
|
spool, or fetch your messages using fdm(1), getmail(1), offlineimap(1),
|
|
|
|
|
or similar utilities, and send it using dma(8), msmtp(1), sendmail(8), as
|
|
|
|
|
provided by OpenSMTPD, Postfix, or similar.
|
|
|
|
|
|
|
|
|
|
mblaze operates directly on maildir folders and doesn't use its own
|
|
|
|
|
caches or databases. There is no setup needed for many uses. All
|
|
|
|
|
utilities have been written with performance in mind. Enumeration of all
|
|
|
|
|
messages in a maildir is avoided unless necessary, and then optimized to
|
|
|
|
|
limit syscalls. Parsing message metadata is optimized to limit I/O
|
|
|
|
|
requests. Initial operations on a large maildir may feel slow, but as
|
|
|
|
|
soon as they are in the file system cache, everything is blazingly fast.
|
|
|
|
|
The utilities are written to be memory efficient (i.e. not wasteful), but
|
|
|
|
|
whole messages are assumed to fit into RAM easily (one at a time).
|
|
|
|
|
|
|
|
|
|
mblaze has been written from scratch and is now well tested, but it is
|
|
|
|
|
not 100% RFC-conforming (which is neither worth it, nor desirable).
|
|
|
|
|
There may be issues with very old, nonconforming, messages.
|
2016-07-25 15:10:21 +00:00
|
|
|
|
|
2016-08-01 17:33:25 +00:00
|
|
|
|
mblaze is written in portable C, using only POSIX functions (apart from a
|
|
|
|
|
tiny Linux-only optimization), and has no external dependencies. It
|
2016-08-01 12:55:34 +00:00
|
|
|
|
supports MIME and more than 7-bit messages (everything the host iconv(3)
|
2016-08-01 17:33:25 +00:00
|
|
|
|
can decode). It assumes you work in a UTF-8 environment. mblaze works
|
2018-02-13 16:37:17 +00:00
|
|
|
|
well with other Unix utilities such as mairix(1), mu(1), or
|
2017-07-01 16:27:29 +00:00
|
|
|
|
offlineimap(1).
|
2016-07-25 15:10:21 +00:00
|
|
|
|
|
|
|
|
|
EXAMPLES
|
2018-02-13 16:37:17 +00:00
|
|
|
|
mblaze utilities are designed to be composed together in a pipe. They
|
|
|
|
|
are suitable for interactive use and for scripting, and integrate well
|
|
|
|
|
into a Unix workflow.
|
2016-07-25 15:10:21 +00:00
|
|
|
|
|
2018-02-13 16:37:17 +00:00
|
|
|
|
For example, you could decide you want to look at all unseen messages in
|
|
|
|
|
your INBOX, oldest first.
|
2016-07-25 15:10:21 +00:00
|
|
|
|
mlist -s ~/Maildir/INBOX | msort -d | mscan
|
2017-07-01 16:27:29 +00:00
|
|
|
|
|
2018-02-13 16:37:17 +00:00
|
|
|
|
To operate on a set of messages in multiple steps, you can save it as a
|
2017-07-01 16:27:29 +00:00
|
|
|
|
sequence, e.g. add a call to ‘mseq -S’ to the above command:
|
2016-07-26 14:39:10 +00:00
|
|
|
|
mlist -s ~/Maildir/INBOX | msort -d | mseq -S | mscan
|
2017-07-01 16:27:29 +00:00
|
|
|
|
|
2016-07-25 15:10:21 +00:00
|
|
|
|
Now mscan will show message numbers and you could look at the first five
|
2018-02-13 16:37:17 +00:00
|
|
|
|
messages at once, for example:
|
2016-07-25 15:10:21 +00:00
|
|
|
|
mshow 1:5
|
2017-07-01 16:27:29 +00:00
|
|
|
|
|
|
|
|
|
Likewise, you could decide to incorporate (by moving from new to cur) all
|
2018-02-13 16:37:17 +00:00
|
|
|
|
new messages in all folders, thread it and look at it interactively:
|
2016-07-25 15:10:21 +00:00
|
|
|
|
mdirs ~/Maildir | xargs minc | mthread | mless
|
2017-07-01 16:27:29 +00:00
|
|
|
|
|
2018-02-13 16:37:17 +00:00
|
|
|
|
Or you could list the attachments of the 20 largest messages in your
|
|
|
|
|
INBOX:
|
2017-07-01 16:27:29 +00:00
|
|
|
|
mlist ~/Maildir/INBOX | msort -S | tail -20 | mshow -t
|
|
|
|
|
|
2018-02-13 16:37:17 +00:00
|
|
|
|
Or apply the patches from the current message:
|
2016-07-25 15:10:21 +00:00
|
|
|
|
mshow -O. '*.diff' | patch
|
2017-07-01 16:27:29 +00:00
|
|
|
|
|
2016-07-25 15:10:21 +00:00
|
|
|
|
As usual with pipes, the sky is the limit.
|
|
|
|
|
|
|
|
|
|
CONCEPTS
|
2018-02-13 16:37:17 +00:00
|
|
|
|
mblaze deals with messages (which are files), folders (which are maildir
|
2016-07-25 22:27:28 +00:00
|
|
|
|
folders), sequences (which are newline-separated lists of messages,
|
2017-06-30 14:27:05 +00:00
|
|
|
|
possibly saved on disk in ${MBLAZE:-$HOME/.mblaze}/seq), and the current
|
|
|
|
|
message (kept as a symlink in ${MBLAZE:-$HOME/.mblaze}/cur).
|
2016-07-25 15:10:21 +00:00
|
|
|
|
|
2017-06-30 14:27:05 +00:00
|
|
|
|
Messages in the saved sequence can be referred to using special syntax as
|
|
|
|
|
explained in mmsg(7).
|
2016-07-25 15:10:21 +00:00
|
|
|
|
|
|
|
|
|
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:40:01 +00:00
|
|
|
|
For configuration, see mblaze-profile(5).
|
|
|
|
|
|
2016-07-25 15:10:21 +00:00
|
|
|
|
SEE ALSO
|
2017-02-20 14:40:01 +00:00
|
|
|
|
mailx(1), mblaze-profile(5), nmh(7)
|
2016-07-25 15:10:21 +00:00
|
|
|
|
|
|
|
|
|
AUTHORS
|
2017-01-21 16:17:12 +00:00
|
|
|
|
Leah Neukirchen <leah@vuxu.org>
|
2016-07-25 15:10:21 +00:00
|
|
|
|
|
2017-06-30 14:34:13 +00:00
|
|
|
|
There is a mailing list available at mblaze@googlegroups.com (to
|
2018-02-13 16:37:17 +00:00
|
|
|
|
subscribe, send a message to mblaze+subscribe@googlegroups.com) and an
|
|
|
|
|
IRC channel #vuxu on irc.freenode.net. Please report security-related
|
|
|
|
|
bugs directly to the author.
|
2017-06-23 17:31:02 +00:00
|
|
|
|
|
2016-07-25 15:10:21 +00:00
|
|
|
|
LICENSE
|
2016-08-01 17:33:25 +00:00
|
|
|
|
mblaze is in the public domain.
|
2016-07-25 15:10:21 +00:00
|
|
|
|
|
|
|
|
|
To the extent possible under law, the creator of this work has waived all
|
|
|
|
|
copyright and related or neighboring rights to this work.
|
|
|
|
|
|
2019-01-31 19:49:46 +00:00
|
|
|
|
http://creativecommons.org/publicdomain/zero/1.0/
|
2016-07-25 15:10:21 +00:00
|
|
|
|
|
2018-01-06 18:17:49 +00:00
|
|
|
|
Void Linux January 6, 2018 Void Linux
|