AcIS Email
academic information systems
search tips
Please use the directory to find an address.
  
AcIS > email > MM
printer friendly version Print
Page

MM - A CUNIX Email Client

For CUNIX users, AcIS supports two mail programs, MM and Pine. MM has a long history, and the UNIX version was written here at Columbia University in 1986. The MM Home Page has full details.

MM has a command-based interface more similar to the UNIX shell than Pine is. This is slightly harder to learn at first but allows faster movement once you know the commands you want. MM has a lot of built-in help to show what the commands are and what they do.

Quick Guide

To start MM, log into your CUNIX account and type mm at the UNIX $ prompt:

$ mm

MM starts with a banner and a listing of new messages (one is shown here).


Columbia MM, version 0.90.4(85)
Please report all problems using MM's BUG command, or send mail to BUG-MM.
Suggestions are also welcome.
Reading /c/us/brennan/mbox ...
320 messages read
    319)  5-Dec guess who       hello there (1754 chars)
    320)  5-Dec Joe Brennan     converting web files (822 chars)
MM>

MM has three modes indicated by the prompt. The basic Top Mode is shown by the prompt MM>.

All MM commands can be abbreviated--most to one or two letters. Some commonly used commands are shown here. See help for more. The help commands are:

Sending Mail

The command send starts a sequence in which you can write and send a message. First you are prompted for the To, Cc, and Subject lines, and the message itself, and then you are put in Send Mode where you can give additional commands and either send the message or quit back to Top Level. The main sequence looks like this:


MM>s
 To: jb51
 cc:
 Subject: A sample email message
 Message (End with CTRL/D or ESC
  Use CTRL/B to insert a file, CTRL/E to enter editor, CTRL/F to run text
  through a filter, CTRL/K to redisplay message, CTRL/L to clear screen and
  redisplay, CTRL/N to abort, CTRL/P to run a program and insert output.):

Here is some text.  Bla bla bla.

I will now hit the escape key:
Send>s
jb51... Queued
MM>

The built-in text editor is very simple. For longer messages, use control-E to enter a text editor (Emacs, by default).

Use ? to see the possible Send Mode commands. They include commands to change or add header lines (to, cc, bcc, fcc, subject, erase and remove...) and to go back and change the text (text, edit ). Use the help command to see what these commands do. To put off completing a message, use save-draft filename, and later on you can use restore-draft filename at Top Level to resume. It is a good idea to check what you're about to send with display or perhaps just display headers.

A file of plain text can be inserted right into the message with control-B (and if you use Emacs, its insert command is control-i). It will look the same to the recipient as if you typed it in. MM does not handle attachments.

Reading Mail

The command read from Top Level will show new mail. At the end of each message, you get a Read Mode prompt where you can do something with the message, or just move on to the next one.


MM>r
Return-Path: 
Received: from ciao.cc.columbia.edu (ciao.cc.columbia.edu [128.59.35.11])
        by watsun.cc.columbia.edu (8.8.5/8.8.5) with ESMTP id RAA18310
        for ; Fri, 5 Dec 1997 17:12:22 -0500 (EST)
Received: (from jb51@localhost)
        by ciao.cc.columbia.edu (8.8.5/8.8.5) id RAA04594;
        Fri, 5 Dec 1997 17:12:13 -0500 (EST)
Date: Fri, 5 Dec 1997 17:12:13 -0500 (EST)
From: Joe Brennan 
Message-Id: <199712052212.RAA04594@ciao.cc.columbia.edu>
To: brennan@cu.cc.columbia.edu
Subject: converting web files

This is where the message text goes.

MM scrolls up until it reaches the end of the screen.  If that's not
the end of message, it pauses and puts a prompt at the bottom telling
you to press space to see more.  A short message like this fits on
one screen easily.

Read>

Press return to move on to the next message. But you should delete messages you don't need. The delete command can be given right at the Read Mode prompt, or use the k command to delete and move along to the next message.

The reply command starts up Send Mode to reply to the message you just read. Use reply all to reply to all senders, or reply inc to include the text in the reply, or both (reply all inc ). The forward command sends the message to other people, also starting Send Mode for you to add text; remail remails it preserving the original From: line.

MM does not handle MIME so attachments will be shown "raw" in the message.

Headers (Index) and Changing Mail Files

The headers command, usually typed as h, shows the index of messages in the current mail file. Both headers and read can be followed with a message sequence describing which messages to show or read. This is one of the most powerful features in MM, and lets you jump to the right message quickly.

Firstly, message numbers can be used, as 5 or a range like 5-15 or a comma-separated set like 5,6-9,12-17, and the last message can be referred to with * as in 5-* meaning messages from 5 to end, thus headers 5-15 or read 5-15. Use before, on, since, and after with dates, and to and from with addresses in messages. Find messages containing any wording with subject string or text string (use quote marks around multi-word strings, as headers text "new york" ). Lastly, once you have found the right messages with something like headers from melissa text sendmail since 5-aug-1998, you can use previous-sequence to refer back as in read pr.

Change mail files with get (open read-write) and examine (open read-only). Both of them with no filename open mbox; at startup MM does the same as get mbox. To list mail files, use ls at the shell, or !ls in MM (the ! runs an external command).

Save mail to other files using move or copy (the former deletes it in the current mail file). These commands can be followed by message-sequences at Top Level, or if you use them in Read Mode they refer only to the message you just read.

The delete command also can be run at Top Level with message-sequences. Messages marked as deleted with delete or move are permanently removed by the expunge command.

Customization and Personal Aliases

MM's behavior can be customized by using the set command. See help set for much more information. Among the more useful variables are personal-name, saved-messages-file, dont-type-headers, append-new-mail. See for example help set personal-name. The set command only changes things for the current session; follow up with the save-init command to save current settings permanently. The command show shows current settings.

For example, if you want MM to save a copy of each outgoing message to a sent-mail file in the mail directory (like Pine does), configure it with set saved-messages-file mail/sent-mail and save the setting with save-init.

The define command is used as the equivalent of an addressbook. It defines personal aliases to use when addressing mail. In addition to the simple case like define alias address1,address2, MM can also be told to read addresses out of a separate file using a @@ notation, define alias @@filename. The file format is addresses separated by commas.

The save-init command saves the set and define commands in a plain file called .mminit, which can also be edited directly. MM executes all commands in this file at startup.

Leaving

You can kill an MM session with the bye command, which will ask whether to expunge deleted messages.

There are several ways to suspend MM. The commands quit and exit at Top Level both save the current mail file and suspend, and exit also expunges. You can also suspend with control-Z at any point although no save is done. To run a single shell command, instead of suspending MM you can type ! and the command at any MM prompt.

Printing

MM can send output to any suitable print program. Define the command it should run with set print-filter command (and then save it with save-init if you want to keep it). MM's print command will then output to that program. The program pcprint works in many cases to send printing to a PC printer. If your account allows you to print on AcIS printers, you may want to change the print command to lpr -Pprinter.

Files and Tricks

MM uses mbox as your main mail file, and keeps a backup called mbox~ containing the previous version of the file. You can remove mbox~ but MM will always create a new one as soon as it changes mbox. It does the same for any other mail files it accesses, except files opened read-only with the examine command.

New mail is first copied into a file named .mm-newmail and then copied to mbox. If it gets stuck, as it will if you do not have enough disk space to write out mbox, it will automatically retry copying from .mm-newmail next time.

MM commands can be put on the command line when you start a new MM process. The most common case is to open a file other than mbox, as for example mm get mail/sent-mail (or use examine for read-only access). See help for take for ways to run commands automatically.

MM can read and write three formats-- the common mbox or "Berkeley" format, the mail.txt format with message length, and the Babyl format used by Rmail (an Emacs feature)-- so it can be used to convert mail files. See help for the copy, move, or write commands for details.