Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
mail(1)				 User Commands			       mail(1)

       mail, rmail - read mail or send mail to users

   Sending Mail
       mail [-tw] [-m message_type] recipient...

       rmail [-tw] [-m message_type] recipient...

   Reading Mail
       mail [-ehpPqr] [-f file]

       mail [-x	debug_level] [other_mail_options] recipient...

       A  recipient  is	 usually  a domain style address ("user@machine") or a
       user name recognized by login(1). When recipients are named,  mail  as-
       sumes  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 indi-
       cators is received, mail	adds the letter	to the mailfile	for  each  re-

       A letter	is composed of some header lines followed by a blank line fol-
       lowed by	the message content. The header	lines section  of  the	letter
       consists	of one or more UNIX postmarks:

       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 char-
       acters other than colon (`:'). A	MIME-version:  header  line  indicates
       that  the  message  is  formatted  as described in RFC 2045. A Content-
       Length: header line, indicating the number of bytes in the message con-
       tent, 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.

   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 editing and	resending. dead.letter is  always  ap-
       pended  to,  thus preserving any	previous contents. The initial attempt
       to append to (or	create)	dead.letter is in the  current	directory.  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 secu-
       rity precaution.	Any application	programs that generate	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 system. There are numerous ways
       to address mail to recipients on	remote systems depending on the	trans-
       port  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 (The local	system administrator  should  be  con-
	   sulted for details on which addressing conventions are available on
	   the local system.)

       UUCP-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 nothing.

		       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

			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 ?

       -p	       All messages are	printed	without	prompting for disposi-

       -P	       All  messages  are  printed  with all header lines dis-
		       played, rather than the default selective  header  line

       -q	       mail terminates after interrupts. Normally an interrupt
		       causes  only  the  termination  of  the	message	 being

       -r	       Messages	are printed in first-in, first-out order.

       -f file	       mail  uses  file	 (such as mbox)	instead	of the default

       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 contains no unprintable char-
       acters. Otherwise, mail issues a	warning	statement  about  the  message
       having binary content and not display the content. This can be overrid-
       den 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 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 ses-

       d, or dp		       Delete  the  current message and	print the next

       d n		       Delete message number n.	Do not go on  to  next

       dq		       Delete message and quit mail.

       h		       Display a window	of headers around current mes-

       h n		       Display a window	of headers around message num-
			       ber n.

       h a		       Display	headers	 of all	messages in the	user's

       h d		       Display headers of messages scheduled for dele-

       m [ persons ]	       Mail  (and  delete)  the	current	message	to the
			       named persons.

       n		       Print message number n.

       p		       Print current message again, overriding any in-
			       dications of binary (that is, unprintable) con-

       P		       Override	default	brief mode and	print  current
			       message again, displaying all header lines.

       q, or Control-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 de-
			       fault) and delete the message.

       u [ n ]		       Undelete	message	 number	 n  (default  is  last

       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	usually	 indi-
       cated. 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 per-
       petuate the desired permissions.	(The administrator can	override  this
       file preservation using the DEL_EMPTY_MAILFILE option of	mailcnfg.)

       The  group  ID of the mailfile must be mail to allow new	messages to be
       delivered, and the mailfile must	be writable by group mail.

       The following command-line arguments cause mail	to  provide  debugging

       -x debug_level	       mail  creates a trace file containing debugging

       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  ver-
       boseness	 of  the  debug	 information.  0  implies no debugging.	If de-
       bug_level is greater than 0, the	debug file is retained	only  if  mail
       encountered  some  problem while	processing the message.	If debug_level
       is less than 0, the debug file is always	be retained.  The  debug_level
       specified   via	 -x   overrides	  any	specification	of   DEBUG  in
       /etc/mail/mailcnfg. The information provided by the -x option  is  eso-
       teric 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 successfully de-
		       livered 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

       The  default  is	/nodelivery/return. If contradictory options are used,
       the first is recognized and later, conflicting, terms are ignored.

       The following operand is	supported for sending mail:

       recipient       A domain	style address ("user@machine") or  user	 login
		       name recognized by login(1).

       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

       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.

       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.

       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

       See attributes(5) for descriptions of the following attributes:

       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       |Availability		     |SUNWcsu			   |

       chmod(1),  csh(1),  login(1),  mailx(1),	 uucp(1C), uuencode(1C), vaca-
       tion(1),	write(1), attributes(5), environ(5), largefile(5)

       Solaris Advanced	User's Guide

       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	system where the delivery  (or
       failure)	 happens. Earlier versions of mail might not support any types
       of delivery notification.

       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.10			  4 Jun	2004			       mail(1)


Want to link to this manual page? Use this URL:

home | help