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.
mblaze/man/mblaze.7

229 lines
5.7 KiB
Groff

.Dd January 18, 2020
.Dt MBLAZE 7
8 years ago
.Os
.Sh NAME
.Nm mblaze
.Nd introduction to the mblaze message system
8 years ago
.Sh DESCRIPTION
The
.Nm
message system is a set of Unix utilities for processing and
interacting with mail messages which are stored in maildir folders.
8 years ago
.Pp
Its design is roughly inspired by MH, the RAND Message Handling
System, but it is a complete implementation from scratch.
8 years ago
.Pp
.Nm
consists of these Unix utilities that each do one job:
.Pp
8 years ago
.Bl -tag -width 11n -compact
8 years ago
.It Xr maddr 1
extract mail addresses from messages
8 years ago
.It Xr magrep 1
search messages matching a pattern
.It Xr mbnc 1
bounce messages
.It Xr mcom 1
compose and send messages
8 years ago
.It Xr mdeliver 1
deliver messages or import mbox file
8 years ago
.It Xr mdirs 1
list maildir folders, recursively
8 years ago
.It Xr mexport 1
export messages as mbox file
8 years ago
.It Xr mflag 1
manipulate maildir message flags
7 years ago
.It Xr mflow 1
reflow format=flowed plain text messages
.It Xr mfwd 1
forward messages
.It Xr mgenmid 1
generate a Message-ID
8 years ago
.It Xr mhdr 1
print message headers
8 years ago
.It Xr minc 1
incorporate new messages
8 years ago
.It Xr mless 1
conveniently read messages in
8 years ago
.Xr less 1
.It Xr mlist 1
list and filter messages
8 years ago
.It Xr mmime 1
create MIME messages
.It Xr mmkdir 1
create new maildir folders
.It Xr mpick 1
advanced message filter
6 years ago
.It Xr mrefile 1
move or copy messages between maildir folders
.It Xr mrep 1
reply to messages
8 years ago
.It Xr mscan 1
generate one-line message summaries
8 years ago
.It Xr msed 1
manipulate message headers
8 years ago
.It Xr mseq 1
manipulate message sequences
8 years ago
.It Xr mshow 1
render messages and extract MIME parts
8 years ago
.It Xr msort 1
sort messages
8 years ago
.It Xr mthread 1
arrange messages into discussions
8 years ago
.El
.Pp
.Nm
is a classic command line MUA and has no features
for receiving or transferring messages;
you can operate on messages in a local maildir spool,
or fetch your messages using
8 years ago
.Xr fdm 1 ,
.Xr getmail 1 ,
.Xr offlineimap 1 ,
or similar utilities,
8 years ago
and send it using
.Xr dma 8 ,
.Xr msmtp 1 ,
8 years ago
.Xr sendmail 8 ,
as provided by
OpenSMTPD,
Postfix,
or similar.
.Pp
.Nm
operates directly on maildir folders and doesn't
use its own caches or databases.
8 years ago
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
.Pq i.e. not wasteful ,
but whole messages are assumed to fit into RAM easily
.Pq one at a time .
8 years ago
.Pp
.Nm
has been written from scratch and is now well tested,
but it is not 100% RFC-conforming
.Pq which is neither worth it, nor desirable .
8 years ago
There may be issues with very old, nonconforming, messages.
.Pp
.Nm
is written in portable C, using only POSIX functions
.Pq apart from a tiny Linux-only optimization ,
and has no external dependencies.
It supports MIME and more than 7-bit messages
.Po
everything the host
8 years ago
.Xr iconv 3
can decode
.Pc .
8 years ago
It assumes you work in a UTF-8 environment.
.Nm
works well with other Unix utilities such as
8 years ago
.Xr mairix 1 ,
.Xr mu 1 ,
8 years ago
or
.Xr offlineimap 1 .
8 years ago
.Sh EXAMPLES
.Nm
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.
8 years ago
.Pp
For example, you could decide you want to look at all unseen messages in your
8 years ago
INBOX, oldest first.
.Dl mlist -s ~/Maildir/INBOX | msort -d | mscan
.Pp
To operate on a set of messages in multiple steps,
you can save it as a sequence,
e.g. add a call to
8 years ago
.Ql mseq -S
to the above command:
.Dl mlist -s ~/Maildir/INBOX | msort -d | mseq -S | mscan
.Pp
8 years ago
Now mscan will show message numbers and you could look at the first
five messages at once, for example:
8 years ago
.Dl mshow 1:5
.Pp
Likewise, you could decide to incorporate
.Po
by moving from
.Pa new
to
.Pa cur
.Pc
all new messages in all folders,
thread it and look at it interactively:
.Dl mdirs ~/Maildir | xargs minc | mthread | mless
.Pp
Or you could list the attachments of the 20 largest messages in your INBOX:
.Dl mlist ~/Maildir/INBOX | msort -S | tail -20 | mshow -t
.Pp
Or delete messages beyond a certain age:
.Dl mlist ~/Maildir/INBOX | mpick -t 'mtime < \&"-365d\&"' | xargs rm
.Pp
Or apply the patches from the current message:
8 years ago
.Dl mshow -O . '*.diff' | patch
.Pp
8 years ago
As usual with pipes, the sky is the limit.
.Sh CONCEPTS
.Nm
deals with messages
.Pq which are files ,
folders
.Pq which are maildir folders ,
sequences
.Po
which are newline-separated lists of messages, possibly saved on disk in
.Pa ${MBLAZE:-$HOME/.mblaze}/seq
.Pc ,
and the current message
.Po
kept as a symlink in
.Pa ${MBLAZE:-$HOME/.mblaze}/cur
.Pc .
8 years ago
.Pp
Messages in the saved sequence can be referred to using special
8 years ago
syntax as explained in
.Xr mmsg 7 .
.Pp
Many utilities have a default behavior when used interactively from a terminal
.Pq e.g. operate on the current message or the current sequence .
8 years ago
For scripting, you must make these arguments explicit.
.Pp
For configuration, see
.Xr mblaze-profile 5 .
8 years ago
.Sh SEE ALSO
.Xr mailx 1 ,
.Xr mblaze-profile 5 ,
8 years ago
.Xr nmh 7
.Sh AUTHORS
7 years ago
.An Leah Neukirchen Aq Mt leah@vuxu.org
.Pp
There is a mailing list available at
.Mt mblaze@googlegroups.com
.Po
to subscribe, send a message to
.Mt mblaze+subscribe@googlegroups.com
.Pc ;
archives are available at
.Lk https://inbox.vuxu.org/mblaze/ .
There also is an IRC channel
.Li #vuxu
on irc.libera.chat.
Please report security-related bugs directly to the author.
8 years ago
.Sh LICENSE
.Nm
8 years ago
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/