This is the command mm that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
mm - offline mail reader for Blue Wave, QWK, OMEN, SOUP and OPX packets
mm [-option1 value] [-option2 value] [...] [filename1] [filename2] [...]
MultiMail is an offline mail packet reader, supporting the Blue Wave, QWK, OMEN, SOUP and
OPX formats. It uses a simple curses-based interface.
SOUP is used for Internet email and Usenet. The other formats are primarily used with
dialup (or telnet) BBSes, to save connect time and to provide a better interface to the
Not all packet formats may be available, depending on how the program was compiled.
This manpage is for version 0.49.
On most screens, a summary of the available keystroke commands is displayed in the lower
part of the screen. (You can disable this, and reclaim some screen real estate, by turning
on "ExpertMode".) Note that for lack of space, not all commands are listed on every screen
where they're available. For example, the search functions, which are available
everywhere, are summarized only in the packet list and address book. The principle, albeit
not one that's consistently implemented, is that the summary need appear only on the first
screen where the commands are available. When in doubt, try one and see if it works. :-)
In the letter window or ANSI viewer, pressing F1 or '?' will bring up a window listing the
The basic navigation keys, available throughout the program, consist of the standard
cursor and keypad keys, with <Enter> to select. For terminals without full support for
these keys, aliases are available for some of them:
ESC = Q
PgDn = B
PgUp = F
Right = +
Left = -
(Although shown in capitals, these may be entered unshifted.)
With "Lynx-style navigation", activated by the "UseLynxNav" option, the Left arrow key
backs out from any screen, while the Right arrow key selects. The plus and minus keys are
no longer aliases for Right and Left, but perform the same functions as in the traditional
Of special note is the space bar. In most screens, it functions as an alias for PgDn; but
in the letter window, it works as a combination PgDn/Enter key, allowing you to page
through an area with one key.
In the area list, the default view (selectable in the .mmailrc) is of Subscribed areas
only, or of Active areas (i.e., those with messages) if the Subscribed areas are unknown.
By pressing L, you can toggle between Active, All, and Subscribed views. (Some formats,
like plain QWK, don't have any way to indicate subscribed areas. In other cases, you may
have received an abbreviated area list, so that the Subscribed and All views are the
same.) In all modes, areas with replies always appear, flagged with an 'R' in the leftmost
In the letter list, only unread messages are displayed, by default; but you can toggle
this by pressing L. If there are any marked messages, L first switches to a marked-only
mode, then to all messages, then back to unread-only. Also, the default mode -- unread or
all -- can be set in the .mmailrc.
Multiple sort modes are available in the packet and letter lists; you can cycle through
them by pressing '$'. The default sort modes are set in the .mmailrc.
Options can be specified on the command line as well as in the .mmailrc. Option names are
the same as those which appear there, though they must be prefaced by one or two dashes,
and should not be followed by a colon. There must be a space between the option name and
the value; values which include spaces must be quoted. All options must be specified
before any packet names or directories on the line. Finally, options which take a filename
or path should always include the full path. (This is not, however, necessary for packet
Packet names may be specified on the command line, bypassing the packet menu. If multiple
packets are named, they'll be opened sequentially. If a directory is specified instead of
a file, the packet window will by opened on that directory, and no further items will be
read from the command line. 'T' in the packet menu may need clarification: it stamps the
highlighted file with the current date and time.
You can abort the program immediately from any screen with CTRL-X. You won't be prompted
to confirm the exit, but you will still be prompted to save replies and pointers (unless
autosaving is set). Note that if you've specified multiple packets on the command line,
this is the only way to terminate the sequence prematurely.
You can obtain a temporary command shell anywhere by pressing CTRL-Z. In the DOSish ports
(MS-DOS, OS/2, Win32), it spawns a command shell, and you return to MultiMail via the
"exit" command. In Unix, it relies on the shell to put MultiMail in the background; you
return with "fg". (This has always been available in the Unix versions; however, it won't
work if MultiMail wasn't launched from an interactive shell, or if the shell doesn't
MultiMail is mousable on certain platforms: X, the Linux console (with gpm), and Win32.
(You can still use selection with X and gpm, too; to select or paste, hold down the shift
In each list window, button 1 highlights a line, or selects it (the same as pressing
Enter) if it's already highlighted. Double-click to select it immediately. Click on the
scrollbar to page up or down, or on the line just above or below it to scroll a line at a
time. In the packet, area, and letter lists, click on the appropriate part of the window
title to change the sort or list type.
In the letter window, page up by clicking in the top half of the message text, or down
(and on to the next message) by clicking in the bottom half (equivalent to the space bar).
Scroll the message a single line up or down by clicking on the status bars at top and
bottom. The status flags "Read" and "Marked" can be toggled by clicking on them; clicking
on "Save" saves, clicking on "Repl" starts a reply (followup; i.e., the same as 'R'), and
"Pvt" starts a private reply (email or netmail; i.e., same as 'N').
In text-entry windows, button 1 works the same as the Enter key; and the dialog boxes work
in the obvious way.
Button 3 backs out of any screen, equivalent to ESC.
A case-insensitive search function is available on all screens. Press '/' to specify the
text to look for, or '>' or '.' to repeat the last search.
New searches (specified with '/') always start at the beginning of the list or message.
Repeat searches (with '>' or '.') start with the line below the current one. You can take
advantage of this to manually adjust the starting point for the next search.
Searches started in the letter, area or packet lists allow the searches to extend below
the current list. "Full text" searches all the way through the text of each message;
"Headers" searches only the message headers (the letter list), "Areas" only the area list,
and "Pkt list" only the packet list. So, a "Full text" search started from the packet list
will search every message in every packet (but only in the current directory).
When scanning "Full text", the automatic setting of the "Read" marker is disabled.
However, if you find a search string in the header of a message and then select it
manually, the marker will be set. But if you start scanning from the packet list, and exit
the packet via a repeat search, the last-read markers won't be saved.
Scans of "Headers" or "Full text" that start from the area list or packet list will
automatically expand the letter lists they descend into. Similarly, scans that start at
the packet list will expand the area lists. Otherwise, if you're viewing the short list,
that's all that will be searched.
I hope the above makes some sense. :-) The searching functions are difficult to explain,
but easy to use.
A new twist on searching, as of version 0.43, is filtering. This is available in all of
the list windows, but not the letter or ANSI viewer. Unlike searching, it always applies
only to the current list.
Press '|' to bring up the filter prompt, and specify the text to filter on. To clear a
filter, press '|', and then press return at a blank filter prompt. (A string that's not
found in the list will have the same effect.) Press ESC to leave the filter as it was.
The list will now be limited to those items that contain the text you entered, and that
text will appear at the end of the window's title as a reminder. The filter will be
retained through lower levels, but will be cleared by exiting to a higher level. Note that
a search in, e.g., the letter list will search only the message headers (and only those
which are visible in the list), and not the bodies.
When the filter is active in the letter list, the "All" option in the Save menu will save
only the items that match the filter. This can be used as a quick alternative to marking
and saving. You can also combine filtering and marking.
Changing modes and sort types will not clear the filter. A search in a filtered list will
search only the items that match the filter.
At present, offline config is limited to subscribe (add) and unsubscribe (drop) functions.
The Blue Wave, OPX, OMEN, QWKE, and QWK Add/Drop (with DOOR.ID) methods are supported.
(The QMAIL "CONFIG" method is not supported yet.) Offline config is not yet available in
In the area list, press 'U' or 'Del' to unsubscribe from the highlighted area. To
subscribe to a new conference, first expand the list ('L'), then highlight the appropriate
area and press 'S' or 'Ins'. Dropped areas are marked with a minus sign ('-') in the first
column; added areas with a plus ('+'). In the expanded area list, already-subscribed areas
are marked with an asterisk ('*'). (This and also applies to the little area list. With
plain QWK packets, the asterisk should not be relied upon; other areas may also be
subscribed.) Added or dropped areas are highlighted in the "Area_Reply" color. Yeah, I'll
have to change that name now. ;-)
Pressing 'S' on an area marked with '-', or 'U' on an area marked '+' turns the flag off
In Blue Wave, OPX, OMEN or QWKE mode, the list of added and dropped areas is read back in
when the reply packet is reopened. If the reply packet has already been uploaded, and
you're reading a packet with the altered area list, this is benign. If it's an older
packet, you can alter the list before uploading, as with reply messages. In QWK Add/Drop
mode, the changed area flags are converted to reply messages when the reply packet is
saved. Note: Adding or dropping areas sets the "unsaved replies" flag, like entering a
reply message, but does not invoke automatic reply packet saving until you exit the
Unfortunately, the OMEN mode has not actually been tested; but I believe it conforms to
the specs. Reports welcome.
HIDDEN LINES AND ROT13
In the letter window, you can toggle viewing of Fidonet "hidden" lines (marked with a ^A
in the first position) by pressing 'x'. The lines are shown as part of the text, but in a
different color. In Internet email and Usenet areas, the full headers of the messages are
available in the same way (if provided in the packet -- generally, full headers are
available in SOUP, and partial extra headers in Blue Wave).
Pressing 'd' toggles rot13 encoding, the crude "encryption" method used for spoiler
warnings and such, primarily on Usenet.
If a message contains ANSI color codes, you may be able to view it as originally intended
by activating the ANSI viewer. Press 'v' to start it. Press 'q' to leave the ANSI viewer;
the navigation keys are the same as in the mail-reading window.
The ANSI viewer includes support for animation. While within the ANSI viewer, press 'v'
again to animate the picture. Press any key to abort the animation.
The ANSI viewer is also used to display the new files list and bulletins, if any are
New in version 0.43 is support for the '@' color codes used by PCBoard and Wildcat. This
is on by default in the ANSI viewer, but it can be toggled to strip the codes, or pass
them through untranslated, by pressing '@'.
As of version 0.46, the ANSI viewer also includes limited support for AVATAR (level 0) and
BSAVE (text only) screens. These can be toggled via ^V and ^B, respectively.
MultiMail supports automatic translation between two character sets: the IBM PC set (Code
Page 437), and Latin-1 (ISO 8859-1). Messages can be in either character set; the set is
determined by the area attributes -- Internet and Usenet areas default to Latin-1, while
all others default to IBM -- and by a CHRS or CHARSET kludge, if one is present. OMEN
packets indicate their character set in the INFOxy.BBS file. MultiMail translates when
displaying messages and creating replies.
The Unix versions of MultiMail assume that the console uses Latin-1, while the DOSish
versions (DOS, OS/2, and Win32) assume the IBM PC set. You can override this via the
.mmailrc option "Charset", or on a temporary basis by pressing 'c'.
You can also use a different character set by disabling the conversion in MultiMail, and
letting your terminal handle it. For SOUP packets, and for Internet or Usenet areas in
other packets, everything will be passed through unchanged if you set MultiMail to
"Latin-1". For most other packet types, setting MultiMail to "CP437" will have the same
Beginning with version 0.33, a new character set variable is available: "outCharset". This
is a string which MultiMail puts into the MIME identifier lines in SOUP replies if the
text includes 8-bit characters. It's also used for the pseudo-QP headers which are
generated under the same conditions; and when displaying such headers, MultiMail only
converts text back to 8-bit if the character set matches. The default is "iso-8859-1".
By default, if a header line in a SOUP reply contains 8-bit characters, MultiMail now
writes it out with RFC 2047 (pseudo-QP) encoding. You can disable this for mail and/or
news replies via the "UseQPMailHead" and "UseQPNewsHead" options, though I don't recommend
it. The bodies can also be encoded in quoted-printable; this is now on by default for
mail, and off for news. The options "UseQPMail" and "UseQPNews" toggle QP encoding. (The
headers and bodies of received messages will still be converted to 8-bit.)
QP decoding is temporarily disabled when you toggle the display of hidden lines ('X') in
the letter window, so that you can see the raw text of the message.
The address book in MultiMail is intended primarily for use with Fido-style Netmail or
Internet email areas, in those packet types which support these. When entering a message
(other than a reply) into such an area, the address book comes up automatically. It's also
possible to use the name portion of an address from the address book even when
Fido/Internet addressing isn't available, by starting a new message via CTRL-E instead of
You can pull up the address book from most screens by pressing 'A', which allows you to
browse or edit the list. While reading in the letter window, you can grab the current
"From:" address by invoking the address book and pressing 'L'.
From most screens, you can pull up the tagline window to browse or edit the list by
pressing CTRL-T. As of version 0.43, you can toggle sorting of the taglines by pressing
'$' or 'S'.
Replies may be split, either automatically, or manually via CTRL-B in the reply area. For
automatic splitting, the default maximum number of lines per part is set in the .mmailrc.
The split occurs whenever the reply packet is saved. This allows you to defer the split
and still re-edit the whole reply as one. However, with autosave on, the split will occur
immediately after entering a reply (because the save does, too). Setting MaxLines in the
.mmailrc to 0 disables automatic splitting; manual splitting is still allowed. Attempts to
split at less than 20 lines are assumed to be mistakes and are ignored.
MultiMail uses the HOME or MMAIL environment variable to find its configuration file,
.mmailrc; and EDITOR for the default editor. MMAIL takes precedence over HOME if it's
defined. If neither is defined, the startup directory is used.
The use of EDITOR can be overridden in .mmailrc; however, environment variables can't be
used within .mmailrc.
You should also make sure that your time zone is set correctly. On many systems, that
means setting the TZ environment variable. A typical value for this variable is of the
form "EST5EDT" (that one's for the east coast of the U.S.A.).
Use mm online using onworks.net services