mail(1)
NAME
mail, rmail - read mail or send mail to users
SYNOPSIS
Sending mail
mail [-tw] [-m message_type] recipient...
rmail [-tw] [-m message_type] recipient...
Reading mail
mail [-ehpPqr] [-f file]
Debugging
mail [-x debug_level] [other_mail_options] recipient...
DESCRIPTION
A recipient is usually a domain style address
("user@machine") or a user name recognized by login(1). When
recipients are named, mail assumes a message is being sent.
It reads from the standard input up to an end-of-file
(Control-d) or, if reading from a terminal device, until it
reads a line consisting of just a period. When either of
those indicators is received, mail adds the letter to the
mailfile for each recipient.
A letter is composed of some header lines followed by a
blank line followed by the message content. The header lines
section of the letter consists of one or more UNIX post-
marks:
From sender date_and_time [remote from
remote_system_name]
followed by one or more standardized message header lines of
the form:
keyword-name: [printable text]
where keyword-name is comprised of any printable, non-
whitespace characters other than colon (`:'). A Content-
Length: header line, indicating the number of bytes in the
message content will always be present unless the letter
consists of only header lines with no message content. A
Content-Type: header line that describes the type of the
message content (such as text, binary, multipart, and so on)
will also be present unless the letter consists of only
header lines with no message content. Header lines may be
continued on the following line if that line starts with
white space.
OPTIONS
Sending mail
The following command-line arguments affect sending mail:
-m message_type
A Message-Type: line is added to the message header
with the value of message_type.
-t A To: line is added to the message header for each of
the intended recipients.
-w A letter is sent to a remote recipient without waiting
for the completion of the remote transfer program.
If a letter is found to be undeliverable, it is returned to
the sender with diagnostics that indicate the location and
nature of the failure. If mail is interrupted during input,
the message is saved in the file dead.letter to allow edit-
ing and resending. dead.letter is always appended to, thus
preserving any previous contents. The initial attempt to
append to (or create) dead.letter will be in the current
directory. If this fails, dead.letter will be appended to
(or created in) the user's login directory. If the second
attempt also fails, no dead.letter processing will be done.
rmail only permits the sending of mail; uucp(1C) uses rmail
as a security precaution. Any application programs that gen-
erate mail messages should be sure to invoke rmail rather
than mail for message transport and/or delivery.
If the local system has the Basic Networking Utilities
installed, mail may be sent to a recipient on a remote sys-
tem. There are numerous ways to address mail to recipients
on remote systems depending on the transport mechanisms
available to the local system. The two most prevalent
addressing schemes are Domain-style and UUCP-style.
Domain-style addressing
Remote recipients are specified by appending an `@'
and domain (and possibly sub-domain) information to
the recipient name (such as user@sf.att.com). (The
local system administrator should be consulted for
details on which addressing conventions are available
on the local system.)
UUCP-style addressing
Remote recipients are specified by prefixing the reci-
pient name with the remote system name and an exclama-
tion point, such as sysa!user. If csh(1) is the
default shell, sysa\!user should be used. A series of
system names separated by exclamation points can be
used to direct a letter through an extended network
(such as sysa!sysb!sysc!user or
sysa\!sysb\!sysc\!user).
Reading Mail
The following command-line arguments affect reading mail:
-e Mail is not printed. An exit status of 0 is returned
if the user has mail; otherwise, an exit status of 1
is returned.
-h A window of headers are initially displayed rather
than the latest message. The display is followed by
the ? prompt.
-p All messages are printed without prompting for dispo-
sition.
-P All messages are printed with all header lines
displayed, rather than the default selective header
line display.
-q mail terminates after interrupts. Normally an inter-
rupt causes only the termination of the message being
printed.
-r Messages are printed in first-in, first-out order.
-f file
mail uses file (such as mbox) instead of the default
mailfile.
mail, unless otherwise influenced by command-line arguments,
prints a user's mail messages in last-in, first-out order.
The default mode for printing messages is to display only
those header lines of immediate interest. These include, but
are not limited to, the UNIX From and >From postmarks,
From:, Date:, Subject:, and Content-Length: header lines,
and any recipient header lines such as To:, Cc:, Bcc:, and
so forth. After the header lines have been displayed, mail
will display the contents (body) of the message only if it
contains no unprintable characters. Otherwise, mail will
issue a warning statement about the message having binary
content and not display the content. (This may be overridden
via the p command. See below.)
For each message, the user is prompted with a ? and a line
is read from the standard input. The following commands are
available to determine the disposition of the message:
# Print the number of the current message.
- Print previous message.
<new-line>,+, or n
Print the next message.
!command
Escape to the shell to do command.
a Print message that arrived during the mail session.
d, or dp
Delete the current message and print the next message.
d n Delete message number n. Do not go on to next message.
dq Delete message and quit mail.
h Display a window of headers around current message.
h n Display a window of headers around message number n.
h a Display headers of all messages in the user's mail-
file.
h d Display headers of messages scheduled for deletion.
m [ persons ]
Mail (and delete) the current message to the named
persons.
n Print message number n.
p Print current message again, overriding any indica-
tions of binary (that is, unprintable) content.
P Override default brief mode and print current message
again, displaying all header lines.
q, or CTRL-D
Put undeleted mail back in the mailfile and quit mail.
r [ users ]
Reply to the sender, and other users, then delete the
message.
s [ files ]
Save message in the named files (mbox is default) and
delete the message.
u [ n ]
Undelete message number n (default is last read).
w [ files ]
Save message contents, without any header lines, in
the named files (mbox is default) and delete the mes-
sage.
x Put all mail back in the mailfile unchanged and exit
mail.
y [ files ]
Same as -w option.
? Print a command summary.
When a user logs in, the presence of mail, if any, is usu-
ally indicated. Also, notification is made if new mail
arrives while using mail.
The permissions of mailfile may be manipulated using
chmod(1) in two ways to alter the function of mail. The
other permissions of the file may be read-write (0666),
read-only (0664), or neither read nor write (0660) to allow
different levels of privacy. If changed to other than the
default (mode 0660), the file will be preserved even when
empty to perpetuate the desired permissions. (The adminis-
trator may override this file preservation using the
DEL_EMPTY_MAILFILE option of mailcnfg.)
The group ID of the mailfile must be mail to allow new mes-
sages to be delivered, and the mailfile must be writable by
group mail.
Debugging
The following command-line arguments cause mail to provide
debugging information:
-x debug_level
mail creates a trace file containing debugging infor-
mation.
The -x option causes mail to create a file named
/tmp/MLDBGprocess_id that contains debugging information
relating to how mail processed the current message. The
absolute value of debug_level controls the verboseness of
the debug information. 0 implies no debugging. If
debug_level is greater than 0, the debug file will be
retained only if mail encountered some problem while pro-
cessing the message. If debug_level is less than 0, the
debug file will always be retained. The debug_level speci-
fied via -x overrides any specification of DEBUG in
/etc/mail/mailcnfg. The information provided by the -x
option is esoteric and is probably only useful to system
administrators.
Delivery Notification
Several forms of notification are available for mail by
including one of the following lines in the message header.
Transport-Options: [ /options ]
Default-Options: [ /options ]
>To: recipient [ /options ]
Where the "/options" may be one or more of the following:
/delivery
Inform the sender that the message was successfully
delivered to the recipient's mailbox.
/nodelivery
Do not inform the sender of successful deliveries.
/ignore
Do not inform the sender of failed deliveries.
/return
Inform the sender if mail delivery fails. Return the
failed message to the sender.
/report
Same as /return except that the original message is
not returned.
The default is /nodelivery/return. If contradictory options
are used, the first will be recognized and later, conflict-
ing, terms will be ignored.
OPERANDS
The following operand is supported for sending mail:
recipient
A domain style address ("user@machine") or user login
name recognized by login(1).
USAGE
See largefile(5) for the description of the behavior of mail
and rmail when encountering files greater than or equal to 2
Gbyte ( 2**31 bytes).
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment
variables that affect the execution of mail: LC_CTYPE,
LC_MESSAGES, and NLSPATH.
TZ Determine the timezone used with date and time
strings.
EXIT STATUS
The following exit values are returned:
0 Successful completion when the user had mail.
1 The user had no mail or an initialization error
occurred.
>1 An error occurred after initialization.
FILES
dead.letter
unmailable text
/etc/passwd
to identify sender and locate recipients
$HOME/mbox
saved mail
$MAIL variable containing path name of mailfile
/tmp/ma*
temporary file
/tmp/MLDBG*
debug trace file
/var/mail/*.lock
lock for mail directory
/var/mail/:saved
directory for holding temp files to prevent loss of
data in the event of a system crash
/var/mail/user
incoming mail for user; that is, the mailfile
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcsu |
|_____________________________|_____________________________|
SEE ALSO
chmod(1), csh(1), login(1), mailx(1), uucp(1C),
uuencode(1C), vacation(1), write(1), attributes(5),
environ(5), largefile(5)
Solaris Advanced User's Guide
NOTES
The interpretation and resulting action taken because of the
header lines described in the Delivery Notifications section
above will only occur if this version of mail is installed
on the system where the delivery (or failure) happens. Ear-
lier versions of mail may not support any types of delivery
notification.
Conditions sometimes result in a failure to remove a lock
file.
After an interrupt, the next message may not be printed;
printing may be forced by typing a p.
Man(1) output converted with
man2html