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

FreeBSD Manual Pages


home | help
mail(1)			    General Commands Manual		       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	user name recognized by	login(1).  When	recip-
       ients are named,	mail assumes a message is being	sent.  It  reads  from
       the  standard input up to an end-of-file	(CTRL-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 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 Content-Length: header	line, indicat-
       ing the number of bytes in the message content will always  be  present
       unless  the  letter  consists of	only header lines with no message con-
       tent.  A	Content-Type: header line that describes the type of the  mes-
       sage  content  (such  as	 text,	binary,	 multipart, etc.) 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.

   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 in-
		 tended	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 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.let-
       ter processing will be 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
       may 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 UUCP-style and Domain-style.

       UUCP-style addressing
		      Remote recipients	are specified by prefixing the recipi-
		      ent  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 di-
		      rect  a  letter  through	an  extended  network (such as
		      sysa!sysb!sysc!user or sysa\!sysb\!sysc\!user ).

       Domain-style addressing
		      Remote recipients	are specified by appending an `@'  and
		      domain  (and possibly sub-domain)	information to the re-
		      cipient name (such as  (The local sys-
		      tem  administrator  should  be  consulted	for details on
		      which addressing conventions are available on the	 local

   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 re-

       -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 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  de-
       termine 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 mes-

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

       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

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

       h d		   Display headers of messages scheduled for deletion.

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

       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 mes-
			   sage	again, displaying all header lines.

       q, or CTRL-D	   Put undeleted mail back in the  mailfile  and  quit

       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

       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

       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 administrator may override
       this file preservation using the	DEL_EMPTY_MAILFILE  option  of	mailc-

       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 in-

       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 will	be  retained  only  if
       mail  encountered  some	problem	 while processing the message.	If de-
       bug_level is less than 0	the debug file will 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" may	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 will be recognized and	later, conflicting, terms will be  ig-

       The following operand is	supported for sending mail:

       recipient      A	user login name.

       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

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

       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  de-
       livery  (or failure) happens.  Earlier 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.

				  21 Feb 1995			       mail(1)


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

home | help