MAIL(1) User Commands MAIL(1)

mail - send or receive mail among users

mail [-ehpPqr] [-f file]
mail [-tw] person ...

mail with no argument prints a user's mail, message-by-message, in last-in, first-out order. For each message, it reads a line from the standard input to direct disposition of the message.

Go on to next message.
Display the message with the given number.
-
Print the previous message.
+
Print the next message without deleting the current one.
!command
Execute the given command in the shell.
Check for newly read mail, position the current message accordingly and print it.
Delete the message with the given number. The default is the current message.
Delete the current message and display the next one.
Delete the current message and exit.
Display a header summary of all messages.
Display a header summary of the messages scheduled for deletion.
Display a header summary around the given number. The default is the current message.
Mail the current message to user and delete it.
Display the next message without deleting the current one.
Print the current message and override all warnings about binary content.
Print the current message including all header fields.
Quit.
Reply to the current letter using mail [args] and delete it afterwards.
Save the current message to the given files (default mbox) and delete it.
Undelete the message with the given number (or the current message).
Save the current message to the given files (default mbox) without the message header and delete it.
Exit without actually deleting any messages.
*
Print a command summary.

When persons are named, mail takes the standard input up to an end-of-file (or a line with just `.') and adds it to each person's `mail' file. The message is preceded by the sender's name and a postmark. Lines that look like postmarks are prepended with `>'. A person is either a user name recognized by login(1), an internet address (see mailaddr(7), or a recipient on a UUCP remote system, with the login name prefixed by the system name and exclamation mark (see uucp(1C)).

The -e option checks for the existence of mail only and causes mail to exit successfully if mail is present.

The -f option causes the named file, for example, `mbox', to be printed as if it were the mail file.

When invoked with the -h option, mail will display a header summary when starting and will then prompt for commands.

With -m message_type, a `Message-Type:' header field with the given value message_type is created. This field is solely for informational purposes and has no technical meaning in the Internet mail system.

The -p option causes all messages to be printed without prompting for disposition.

With the -P option given, all header fields are printed by default.

An interrupt normally terminates the mail command; the mail file is unchanged. The -q option tells mail to continue after interrupts.

The -r option displays the mail messages in first-in, first-out order.

The -t option causes a `To:' header field to be created with the names of all recipients.

With the -w option, mail does not wait until the mail transfer agent finishes execution when a message is sent.

When a user logs in he is informed of the presence of mail.

/etc/passwd
to identify sender and locate persons
/var/mail/*
incoming mail for user *
saved mail
/tmp/ma*
temp file
/var/mail/*.lock
lock for mail directory
unmailable text

See locale(7).
Determines the set of printable characters when deciding whether a message is text or not.
User's mail file.

mailx(1), write(1), mailaddr(7)

Race conditions sometimes result in a failure to remove a lock file.

The mail command is restricted to text messages in the current locale. It does not support the MIME specification. For message exchange on the Internet, mail is thus effectively restricted to ASCII text messages.

7/3/05 7th Edition