mirror of
https://github.com/leahneukirchen/mblaze
synced 2024-11-11 13:10:32 +00:00
131 lines
5.5 KiB
Plaintext
131 lines
5.5 KiB
Plaintext
MBLAZE(7) Miscellaneous Information Manual MBLAZE(7)
|
||
|
||
NAME
|
||
mblaze – introduction to mblaze
|
||
|
||
DESCRIPTION
|
||
The mblaze message system is a set of Unix utilities to deal with mail
|
||
kept in Maildir folders.
|
||
|
||
Its design is roughly inspired by MH, the RAND Message Handling System,
|
||
but it is a complete implementation from scratch.
|
||
|
||
mblaze consists of these Unix tools that each do one job:
|
||
maddr(1) extract addresses from mail
|
||
magrep(1) find mails matching a pattern
|
||
mcom(1) compose and send mail
|
||
mdeliver(1) deliver messages or import mailboxes
|
||
mdirs(1) find Maildir folders
|
||
mexport(1) export Maildir folders as mailboxes
|
||
mflag(1) change flags (marks) of mail
|
||
mfwd(1) forward mail
|
||
mgenmid(1) generate Message-IDs
|
||
mhdr(1) extract mail headers
|
||
minc(1) incorporate new mail
|
||
mless(1) conveniently read mail in less(1)
|
||
mlist(1) list and filter mail messages
|
||
mmime(1) create MIME messages
|
||
mmkdir(1) create new Maildir
|
||
mpick(1) advanced mail filter
|
||
mrep(1) reply to mail
|
||
mscan(1) generate one-line summaries of mail
|
||
msed(1) manipulate mail headers
|
||
mseq(1) manipulate mail sequences
|
||
mshow(1) render mail and extract attachments
|
||
msort(1) sort mail
|
||
mthread(1) arrange mail into discussions
|
||
|
||
PRINCIPLES
|
||
mblaze is a classic command line MUA and has no features for receiving or
|
||
transferring mail; you are expected to fetch your mail using fdm(1),
|
||
getmail(1) offlineimap(1), procmail(1), or similar , and send it using
|
||
dma(8), msmtp(1), sendmail(8), as provided by OpenSMTPD, Postfix, or
|
||
similar. mblaze expects your mail to reside in Maildir folders.
|
||
|
||
mblaze operates directly on Maildir folders and doesn't use its own
|
||
caches or databases. 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 limit
|
||
syscalls. Parsing mail 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 tools
|
||
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 tested on a large corpus 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.
|
||
|
||
mblaze is written in portable C, using only POSIX functions (apart from a
|
||
tiny Linux-only optimization), and has no external dependencies. It
|
||
supports MIME and more than 7-bit messages (everything the host iconv(3)
|
||
can decode). It assumes you work in a UTF-8 environment. mblaze works
|
||
well together with other Unix mail tools such as mairix(1), mu(1), or
|
||
offlineimap(1).
|
||
|
||
EXAMPLES
|
||
mblaze tools 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.
|
||
|
||
For example, you could decide you want to look at all unseen mail in your
|
||
INBOX, oldest first.
|
||
mlist -s ~/Maildir/INBOX | msort -d | mscan
|
||
|
||
To operate on a set of mails in multiple steps, you can save it as a
|
||
sequence, e.g. add a call to ‘mseq -S’ to the above command:
|
||
mlist -s ~/Maildir/INBOX | msort -d | mseq -S | mscan
|
||
|
||
Now mscan will show message numbers and you could look at the first five
|
||
mails at once, for example:
|
||
mshow 1:5
|
||
|
||
Likewise, you could decide to incorporate (by moving from new to cur) all
|
||
new mail in all folders, thread it and look at it interactively:
|
||
mdirs ~/Maildir | xargs minc | mthread | mless
|
||
|
||
Or you could list the attachments of the 20 largest mails in your INBOX:
|
||
mlist ~/Maildir/INBOX | msort -S | tail -20 | mshow -t
|
||
|
||
Or apply the patches from the current mail:
|
||
mshow -O. '*.diff' | patch
|
||
|
||
As usual with pipes, the sky is the limit.
|
||
|
||
CONCEPTS
|
||
mblaze deals with messages (which are files), folders (which are Maildir
|
||
folders), sequences (which are newline-separated lists of messages,
|
||
possibly saved on disk in ${MBLAZE:-$HOME/.mblaze}/seq), and the current
|
||
message (kept as a symlink in ${MBLAZE:-$HOME/.mblaze}/cur).
|
||
|
||
Messages in the saved sequence can be referred to using special syntax as
|
||
explained in mmsg(7).
|
||
|
||
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.
|
||
|
||
For configuration, see mblaze-profile(5).
|
||
|
||
SEE ALSO
|
||
mailx(1), mblaze-profile(5), nmh(7)
|
||
|
||
AUTHORS
|
||
Leah Neukirchen <leah@vuxu.org>
|
||
|
||
There is a mailing list available at mblaze@googlegroups.com (to
|
||
subscribe, send a mail to mblaze+subscribe@googlegroups.com. Please
|
||
report security-related bugs directly to the author), as well as an IRC
|
||
channel #vuxu on irc.freenode.net.
|
||
|
||
LICENSE
|
||
mblaze is in the public domain.
|
||
|
||
To the extent possible under law, the creator of this work has waived all
|
||
copyright and related or neighboring rights to this work.
|
||
|
||
http://creativecommons.org/publicdomain/zero/1.0/
|
||
|
||
Void Linux June 30, 2017 Void Linux
|