User Commands mail(1)
NAME
mail, rmail - read mail or send mail to users
SYNOPSIS
Sending Mail
mail [-tw] [-m messagetype] recipient...
rmail [-tw] [-m messagetype] recipient...
Reading Mail
mail [-ehpPqr] [-f file]
Debugging
mail [-x debuglevel] [othermailoptions] 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 dateandtime [remote from remotesystemname]
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 MIME-
version: header line indicates that the message is formatted
as described in RFC 2045. A Content-Length: header line,
SunOS 5.11 Last change: 24 Jul 2008 1
User Commands mail(1)
indicating the number of bytes in the message content, is
always 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/plain, application/octet-stream, and so on) is also
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 messagetype A Message-Type: line is added to the mes-
sage header with the value of
messagetype.
-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 is in the current direc-
tory. If this fails, dead.letter is appended to (or created
in) the user's login directory. If the second attempt also
fails, no dead.letter processing is 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 can 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 UCP-style.
SunOS 5.11 Last change: 24 Jul 2008 2
User Commands mail(1)
Domain-style addressing Remote recipients are specified
by appending an `@' and domain
(and possibly sub-domain) infor-
mation to the recipient name
(such as user@sf.att.com). (The
local system administrator should
be consulted for details on which
addressing conventions are avail-
able on the local system.)
UCP-style addressing Remote recipients are specified
by prefixing the recipient name
with the remote system name and
an exclamation 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 Test for the presence of mail. mail prints noth-
ing.
An exit status of 0 is returned if the user has
mail. Otherwise, an exit status of 1 is returned.
-E Similar to -e, but tests only for the presence of
new mail.
An exit status of 0 is returned if the user
has new mail to read, an exit status
of 1 is returned if the user has no
mail, or an exit status of 2 is returned
if the user has mail which has already been read.
-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
disposition.
SunOS 5.11 Last change: 24 Jul 2008 3
User Commands mail(1)
-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
interrupt causes only the termination of the mes-
sage 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
displays the contents (body) of the message only if it con-
tains no unprintable characters. Otherwise, mail issues a
warning statement about the message having binary content
and not display the content. This can be overridden by means
of the p command.
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 mes-
sage.
- Print previous message.
,], or n Print the next message.
!command Escape to the shell to do command.
SunOS 5.11 Last change: 24 Jul 2008 4
User Commands mail(1)
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.
hn Display a window of headers around
message number n.
h a Display headers of all messages in the
user's mailfile.
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, overrid-
ing any indications of binary (that
is, unprintable) content.
P Override default brief mode and print
current message again, displaying all
header lines.
q, or Control-d Put undeleted mail back in the mail-
file and quit mail.
SunOS 5.11 Last change: 24 Jul 2008 5
User Commands mail(1)
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 message.
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 can be manipulated using
chmod(1) in two ways to alter the function of mail. The
other permissions of the file can 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 is preserved even when empty
to perpetuate the desired permissions. (The administrator
can override this file preservation using the
DELEMPTYMAILFILE 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:
SunOS 5.11 Last change: 24 Jul 2008 6
User Commands mail(1)
-x debuglevel mail creates a trace file containing
debugging information.
The -x option causes mail to create a file named
/tmp/MLDBGprocessid that contains debugging information
relating to how mail processed the current message. The
absolute value of debuglevel controls the verboseness of
the debug information. 0 implies no debugging. If
debuglevel is greater than 0, the debug file is retained
only if mail encountered some problem while processing the
message. If debuglevel is less than 0, the debug file is
always be retained. The debuglevel specified via -x over-
rides 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" can be one or more of the following:
/delivery Inform the sender that the message was suc-
cessfully delivered to the recipient's mail-
box.
/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.
SunOS 5.11 Last change: 24 Jul 2008 7
User Commands mail(1)
/report Same as /return except that the original mes-
sage is not returned.
The default is /nodelivery/return. If contradictory options
are used, the first is recognized and later, conflicting,
terms are 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: LCTYPE,
LCMESAGES, 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
SunOS 5.11 Last change: 24 Jul 2008 8
User Commands mail(1)
$MAIL variable containing path name of mail-
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
var/tmp/ma* temporary file
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE 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
only occur if this version of mail is installed on the sys-
tem where the delivery (or failure) happens. Earlier ver-
sions of mail might not support any types of delivery notif-
ication.
SunOS 5.11 Last change: 24 Jul 2008 9
User Commands mail(1)
Conditions sometimes result in a failure to remove a lock
file.
After an interrupt, the next message might not be printed.
Printing can be forced by typing a p.
SunOS 5.11 Last change: 24 Jul 2008 10
|