xref: /minix/minix/commands/mail/mail.1 (revision 0a6a1f1d)
MAIL 1
NAME
mail - send and receive electronic mail
SYNOPSIS
mail [-epqr] [-f file]

mail [-dtv] [-s subject] user [...]

\\\$1\ \\$2 ..

20 \\\$1\ # \\$2 ..

OPTIONS

5 -e # Exit with status TRUE or FALSE to indicate if there is mail in mailbox

5 -p # Print all mail and then exit

5 -q # Quit program if SIGINT received

5 -r # Reverse print order, i.e., print oldest first

5 -f # Use file instead of /var/mail/user as mailbox

5 -d # Force use of the shell variable MAILER

5 -t # Show distribution list as Dist: header in message

5 -v # Verbose mode (passed on to MAILER)

5 -s # Use Subject: subject

EXAMPLES

20 mail ast # Send a message to ast

20 mail # Read your mail

20 cat mail.cdiff | mail -s ''Here's the diff!'' asw # Pipe program output to mail with a subject line

20 mail -f /var/mail/asw # How root can read asw's mail

DESCRIPTION

Mail is an extremely simple electronic mail program. It can be used to send or receive email on a single \s-1MINIX 3\s-1 system, in which case it functions as user agent and local delivery agent. If the flag MAILER is defined in mail.c, it can also call a trans\%port agent to handle remote mail as well. No such agent is supplied with \s-1MINIX 3\s-1.

When called by user with no arguments, it examines the mailbox /var/mail/user, prints one message (depending on the -r flag), and waits for one of the following commands:

 <newline> Go to the next message
 - Print the previous message
 !command Fork off a shell and execute command
 CTRL-D Update the mailbox and quit (same as q)
 d Delete the current message and go to the next one
 q Update the mailbox and quit (same as CTRL-D)
 p Print the current message again
 s [file] Save message in the named file
 x Exit without updating the mailbox

To send mail, the program is called with the name of one or more recipients as arguments. The mail is sent, along with a postmark line containing the date. For local delivery, a file named after each recipient in the directory /var/mail must be writable. If a spool file does not exist for a recipient it will be created.

If the directory /var/mail does not exist then the mail is dumped on the console, so that system programs have a way to notify a user on a system that does not have a mail spool.

The received mail contains a To: header showing the recipient. If there are multiple recipients and the -t option is specified each recipient will also see a Dist: header line showing the other recipients.

The -s option allows a subject to be specified. The subject must be quoted if it contains spaces. If no subject is specified the mail will be delivered with Subject: No subject.

NOTES
The -s option was added to make this simple mail program consistent with mail programs found in other *nix variants. Many programs, including the version of cron distributed with MINIX 3 releases 2.0.3 and later, report their outcome by piping output to the mail program in order to send a mail message to root in lieu of writing a log file. Such programs often expect the mail program to accept a subject line using this option.
BUGS
If an external MAILER is used it is likely the conditional code supporting this will need some editing to be made to work correctly.
AUTHOR
The original mail program for MINIX 3 was written by Peter B. Housel. The -e and -t options were added by C. W. Rose. The -s option was added by A. S. Woodhull. This man page revised by ASW 2003-07-18.