mailx man page on CentOS

Man page or keyword search:  
man Server   8420 pages
apropos Keyword Search (all sections)
Output format
CentOS logo
[printable version]

MAILX(P)		   POSIX Programmer's Manual		      MAILX(P)

PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the	 corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.

NAME
       mailx - process messages

SYNOPSIS
   Send Mode
	      mailx [-s subject] address...

   Receive Mode
	      mailx -e

	      mailx [-HiNn][-F][-u user]

	      mailx -f[-HiNn][-F][file]

DESCRIPTION
       The mailx utility provides a message sending  and  receiving  facility.
       It  has	two  major  modes, selected by the options used: Send Mode and
       Receive Mode.

       On systems that do not support the User Portability  Utilities  option,
       an  application	using mailx shall have the ability to send messages in
       an unspecified manner (Send Mode). Unless the first character of one or
       more  lines is tilde ( '~' ), all characters in the input message shall
       appear in the delivered	message,  but  additional  characters  may  be
       inserted in the message before it is retrieved.

       On  systems  supporting	the  User  Portability Utilities option, mail-
       receiving capabilities and other interactive  features,	Receive	 Mode,
       described below, also shall be enabled.

   Send Mode
       Send  Mode  can	be used by applications or users to send messages from
       the text in standard input.

   Receive Mode
       Receive Mode is more oriented towards interactive users.	 Mail  can  be
       read and sent in this interactive mode.

       When reading mail, mailx provides commands to facilitate saving, delet‐
       ing, and responding to messages. When sending mail, mailx allows	 edit‐
       ing, reviewing, and other modification of the message as it is entered.

       Incoming	 mail shall be stored in one or more unspecified locations for
       each user, collectively called the system mailbox for that  user.  When
       mailx  is  invoked  in  Receive	Mode,  the system mailbox shall be the
       default place to find new mail. As messages are	read,  they  shall  be
       marked  to  be  moved  to a secondary file for storage, unless specific
       action is taken. This secondary file is called the mbox and is normally
       located	in  the directory referred to by the HOME environment variable
       (see MBOX in the ENVIRONMENT VARIABLES section  for  a  description  of
       this  file).  Messages  shall  remain  in  this	file  until explicitly
       removed. When the -f option is used to read  mail  messages  from  sec‐
       ondary files, messages shall be retained in those files unless specifi‐
       cally removed. All three of these locations-system mailbox,  mbox,  and
       secondary  file-are  referred to in this section as simply "mailboxes",
       unless more specific identification is required.

OPTIONS
       The mailx utility shall conform	to  the	 Base  Definitions  volume  of
       IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines.

       The  following  options shall be supported. (Only the -s subject option
       shall be required on all systems. The other options are	required  only
       on systems supporting the User Portability Utilities option.)

       -e     Test  for	 the presence of mail in the system mailbox. The mailx
	      utility shall write nothing and exit with	 a  successful	return
	      code if there is mail to read.

       -f     Read messages from the file named by the file operand instead of
	      the system mailbox. (See also folder.) If	 no  file  operand  is
	      specified,  read	messages from mbox instead of the system mail‐
	      box.

       -F     Record the message in a file named after	the  first  recipient.
	      The name is the login-name portion of the address found first on
	      the To: line in the mail header. Overrides the record  variable,
	      if set (see Internal Variables in mailx .)

       -H     Write a header summary only.

       -i     Ignore interrupts. (See also ignore.)

       -n     Do not initialize from the system default start-up file. See the
	      EXTENDED DESCRIPTION section.

       -N     Do not write an initial header summary.

       -s  subject
	      Set the Subject header field to subject. All characters  in  the
	      subject  string  shall  appear  in  the  delivered  message. The
	      results are unspecified if subject is longer than	 {LINE_MAX}  -
	      10 bytes or contains a <newline>.

       -u  user
	      Read  the system mailbox of the login name user. This shall only
	      be successful if the invoking user has  the  appropriate	privi‐
	      leges to read the system mailbox of that user.

OPERANDS
       The following operands shall be supported:

       address
	      Addressee	 of message. When -n is specified and no user start-up
	      files are accessed (see the EXTENDED DESCRIPTION	section),  the
	      user  or	application shall ensure this is an address to pass to
	      the mail delivery system. Any system or user start-up files  may
	      enable  aliases  (see  alias  under Commands in mailx ) that may
	      modify the form of address before	 it  is	 passed	 to  the  mail
	      delivery system.

       file   A	 pathname  of  a file to be read instead of the system mailbox
	      when -f is specified. The meaning of  the	 file  option-argument
	      shall  be	 affected by the contents of the folder internal vari‐
	      able; see Internal Variables in mailx .

STDIN
       When mailx is invoked in Send Mode (the first synopsis line),  standard
       input  shall be the message to be delivered to the specified addresses.
       When in Receive Mode, user commands shall be accepted  from  stdin.  If
       the  User Portability Utilities option is not supported, standard input
       lines beginning with a tilde (  '~'  )  character  produce  unspecified
       results.

       If  the	User  Portability  Utilities option is supported, then in both
       Send and Receive Modes, standard input lines beginning with the	escape
       character  (usually tilde ( '~' )) shall affect processing as described
       in Command Escapes in mailx .

INPUT FILES
       When mailx is used as described by this volume of IEEE Std 1003.1-2001,
       the file option-argument (see the -f option) and the mbox shall be text
       files containing mail messages, formatted as described  in  the	OUTPUT
       FILES section. The nature of the system mailbox is unspecified; it need
       not be a file.

ENVIRONMENT VARIABLES
       The following environment  variables  shall  affect  the	 execution  of
       mailx:

       DEAD   Determine the pathname of the file in which to save partial mes‐
	      sages in case of interrupts  or  delivery	 errors.  The  default
	      shall  be	 dead.letter  in the directory named by the HOME vari‐
	      able. The behavior  of  mailx  in	 saving	 partial  messages  is
	      unspecified if the User Portability Utilities option is not sup‐
	      ported and DEAD is not defined with the value /dev/null.

       EDITOR Determine the name of a utility to invoke	 when  the  edit  (see
	      Commands	in  mailx ) or ~e (see Command Escapes in mailx ) com‐
	      mand is used. The default editor is unspecified.	  On  XSI-con‐
	      formant  systems	it  is	ed.   The effects of this variable are
	      unspecified if the User Portability Utilities option is not sup‐
	      ported.

       HOME   Determine the pathname of the user's home directory.

       LANG   Provide  a  default value for the internationalization variables
	      that are unset or null. (See  the	 Base  Definitions  volume  of
	      IEEE Std 1003.1-2001,  Section  8.2,  Internationalization Vari‐
	      ables for the precedence of internationalization variables  used
	      to determine the values of locale categories.)

       LC_ALL If  set  to a non-empty string value, override the values of all
	      the other internationalization variables.

       LC_CTYPE
	      Determine the locale for	the  interpretation  of	 sequences  of
	      bytes  of	 text  data as characters (for example, single-byte as
	      opposed to multi-byte characters in arguments and	 input	files)
	      and  the	handling  of case-insensitive address and header-field
	      comparisons.

       LC_TIME
	      Determine the format and contents of the date and	 time  strings
	      written by mailx.

       LC_MESSAGES
	      Determine	 the  locale  that should be used to affect the format
	      and contents of diagnostic messages written  to  standard	 error
	      and informative messages written to standard output.

       LISTER Determine a string representing the command for writing the con‐
	      tents of the folder directory to standard output when the	 fold‐
	      ers  command  is	given (see folders in Commands in mailx ). Any
	      string acceptable as a command_string operand to the sh -c  com‐
	      mand  shall  be  valid. If this variable is null or not set, the
	      output command shall be ls.  The effects of  this	 variable  are
	      unspecified if the User Portability Utilities option is not sup‐
	      ported.

       MAILRC Determine the pathname of the start-up file. The	default	 shall
	      be  .mailrc in the directory referred to by the HOME environment
	      variable. The behavior of	 mailx	is  unspecified	 if  the  User
	      Portability  Utilities option is not supported and MAILRC is not
	      defined with the value /dev/null.

       MBOX   Determine a pathname of the file to save messages from the  sys‐
	      tem mailbox that have been read. The exit command shall override
	      this function, as shall saving the message explicitly in another
	      file.  The  default  shall be mbox in the directory named by the
	      HOME variable. The effects of this variable are  unspecified  if
	      the User Portability Utilities option is not supported.

       NLSPATH
	      Determine the location of message catalogs for the processing of
	      LC_MESSAGES .

       PAGER  Determine a string representing an output filtering  or  pagina‐
	      tion  command for writing the output to the terminal. Any string
	      acceptable as a command_string operand  to  the  sh  -c  command
	      shall  be valid.	When standard output is a terminal device, the
	      message output shall be piped through the command if  the	 mailx
	      internal variable crt is set to a value less the number of lines
	      in the message; see Internal Variables in mailx . If  the	 PAGER
	      variable	is null or not set, the paginator shall be either more
	      or another paginator utility documented in the system documenta‐
	      tion.  The  effects of this variable are unspecified if the User
	      Portability Utilities option is not supported.

       SHELL  Determine the name  of  a	 preferred  command  interpreter.  The
	      default  shall  be sh. The effects of this variable are unspeci‐
	      fied if the User Portability Utilities option is not supported.

       TERM   If the internal variable screen is not specified, determine  the
	      name  of	the terminal type to indicate in an unspecified manner
	      the number of lines in a screenful of headers. If	 TERM  is  not
	      set  or  is  set	to  null, an unspecified default terminal type
	      shall be used and the value of a screenful is  unspecified.  The
	      effects of this variable are unspecified if the User Portability
	      Utilities option is not supported.

       TZ     This variable may determine the timezone used to calculate  date
	      and  time	 strings  written by mailx. If TZ is unset or null, an
	      unspecified default timezone shall be used.

       VISUAL Determine a pathname of a utility to invoke when the visual com‐
	      mand  (see Commands in mailx ) or ~v command-escape (see Command
	      Escapes in mailx ) is used. If this variable is null or not set,
	      the  full-screen	editor shall be vi.  The effects of this vari‐
	      able are unspecified if the User Portability Utilities option is
	      not supported.

ASYNCHRONOUS EVENTS
       When  mailx  is	in  Send Mode and standard input is not a terminal, it
       shall take the standard action for all signals.

       In Receive Mode, or in Send Mode when standard input is a terminal,  if
       a SIGINT signal is received:

	1. If  in command mode, the current command, if there is one, shall be
	   aborted, and a command-mode prompt shall be written.

	2. If in input mode:

	    a. If ignore is set, mailx shall write "@\n" , discard the current
	       input  line,  and  continue  processing, bypassing the message-
	       abort mechanism described in item 2b.

	    b. If the interrupt was received while sending mail,  either  when
	       in  Receive  Mode  or in Send Mode, a message shall be written,
	       and another subsequent interrupt,  with	no  other  intervening
	       characters  typed, shall be required to abort the mail message.
	       If in Receive Mode and another interrupt is  received,  a  com‐
	       mand-mode  prompt shall be written. If in Send Mode and another
	       interrupt is received, mailx shall terminate  with  a  non-zero
	       status.

	   In both cases listed in item b, if the message is not empty:

		  i.   If  save	 is  enabled and the file named by DEAD can be
		       created, the message shall be written to the file named
		       by  DEAD	 .  If	the  file exists, the message shall be
		       written to replace the contents of the file.

		  ii.  If save is not enabled, or the file named by DEAD  can‐
		       not be created, the message shall not be saved.

       The mailx utility shall take the standard action for all other signals.

STDOUT
       In command and input modes, all output, including prompts and messages,
       shall be written to standard output.

STDERR
       The standard error shall be used only for diagnostic messages.

OUTPUT FILES
       Various mailx commands and command escapes can create or add to	files,
       including the mbox, the dead-letter file, and secondary mailboxes. When
       mailx is used as described  in  this  volume  of	 IEEE Std 1003.1-2001,
       these  files  shall be text files, formatted as follows: line beginning
       with From<space>
       [one or more header-lines; see Commands in mailx ]
	empty line
	[zero or more body lines
       empty line]
       [line beginning with From<space>...]

       where each message begins with the From <space> line shown, preceded by
       the  beginning  of the file or an empty line. (The From <space> line is
       considered to be part of the message header, but not one of the header-
       lines referred to in Commands in mailx ; thus, it shall not be affected
       by the discard, ignore, or retain commands.) The formats of the remain‐
       der  of	the  From  <space>  line  and  any additional header lines are
       unspecified, except that none shall be empty. The format of  a  message
       body  line  is also unspecified, except that no line following an empty
       line shall start with From <space>; mailx shall modify any  such	 user-
       entered	message body lines (following an empty line and beginning with
       From <space>) by adding one or more characters to precede the 'F' ;  it
       may add these characters to From <space> lines that are not preceded by
       an empty line.

       When a message from the system mailbox or entered by the user is not  a
       text file, it is implementation-defined how such a message is stored in
       files written by mailx.

EXTENDED DESCRIPTION
       The entire EXTENDED DESCRIPTION section shall apply only to implementa‐
       tions supporting the User Portability Utilities option.

       The  mailx utility cannot guarantee support for all character encodings
       in all circumstances. For example, inter-system mail may be  restricted
       to  7-bit data by the underlying network, 8-bit data need not be porta‐
       ble to non-internationalized systems, and so on.	 Under	these  circum‐
       stances,	 it  is	 recommended  that  only  characters  defined  in  the
       ISO/IEC 646:1991 standard International Reference  Version  (equivalent
       to ASCII) 7-bit range of characters be used.

       When  mailx is invoked using one of the Receive Mode synopsis forms, it
       shall write a page of header-summary lines (if -N was not specified and
       there  are  messages,  see below), followed by a prompt indicating that
       mailx can accept regular commands (see Commands in  mailx  );  this  is
       termed command mode. The page of header-summary lines shall contain the
       first new message if there are new messages, or the first  unread  mes‐
       sage  if there are unread messages, or the first message. When mailx is
       invoked using the Send Mode synopsis and standard input is a  terminal,
       if  no subject is specified on the command line and the asksub variable
       is set, a prompt for the subject shall be written. At this point, mailx
       shall  be  in  input  mode.  This input mode shall also be entered when
       using one of the Receive Mode synopsis forms and a reply or new message
       is  composed  using  the reply, Reply, followup, Followup, or mail com‐
       mands and standard input is a terminal. When the message is  typed  and
       the  end	 of the message is encountered, the message shall be passed to
       the mail delivery software. Commands can be entered by beginning a line
       with  the  escape  character  (by default, tilde ( '~' )) followed by a
       single command letter and optional arguments.  See  Commands  in	 mailx
       for  a  summary	of these commands. It is unspecified what effect these
       commands will have if standard input is not a terminal when  a  message
       is  entered  using either the Send Mode synopsis, or the Read Mode com‐
       mands reply, Reply, followup, Followup, or mail.

       Note:  For notational convenience, this section uses the default escape
	      character, tilde, in all references and examples.

       At  any time, the behavior of mailx shall be governed by a set of envi‐
       ronmental and internal variables. These are flags and valued parameters
       that can be set and cleared via the mailx set and unset commands.

       Regular commands are of the form:

	      [command] [msglist] [argument ...]

       If  no  command is specified in command mode, next shall be assumed. In
       input mode, commands shall be recognized by the escape  character,  and
       lines not treated as commands shall be taken as input for the message.

       In  command  mode,  each message shall be assigned a sequential number,
       starting with 1.

       All messages have a state that shall affect how they are	 displayed  in
       the  header  summary and how they are retained or deleted upon termina‐
       tion of mailx. There is at any time the notion of  a  current  message,
       which shall be marked by a '>' at the beginning of a line in the header
       summary. When mailx is invoked using one of the Receive	Mode  synopsis
       forms,  the current message shall be the first new message, if there is
       a new message, or the first unread message if there is an  unread  mes‐
       sage, or the first message if there are any messages, or unspecified if
       there are no messages in	 the  mailbox.	Each  command  that  takes  an
       optional list of messages (msglist) or an optional single message (mes‐
       sage) on which to operate shall leave the current message  set  to  the
       highest-numbered	 message of the messages specified, unless the command
       deletes messages, in which case the current message shall be set to the
       first  undeleted	 message (that is, a message not in the deleted state)
       after the highest-numbered message  deleted  by	the  command,  if  one
       exists, or the first undeleted message before the highest-numbered mes‐
       sage deleted by the command, if one exists, or to an unspecified	 value
       if  there are no remaining undeleted messages. All messages shall be in
       one of the following states:

       new    The message is present in the system mailbox and	has  not  been
	      viewed  by  the  user  or	 moved to any other state. Messages in
	      state new when mailx quits shall be retained in the system mail‐
	      box.

       unread The message has been present in the system mailbox for more than
	      one invocation of mailx and has not been viewed by the  user  or
	      moved  to	 any  other state. Messages in state unread when mailx
	      quits shall be retained in the system mailbox.

       read   The message has been processed by one of the following commands:
	      ~f, ~m, ~F, ~M, copy, mbox, next, pipe, print, Print, top, type,
	      Type, undelete. The delete, dp, and dt commands may  also	 cause
	      the next message to be marked as read, depending on the value of
	      the autoprint variable.  Messages that are in the system mailbox
	      and  in  state read when mailx quits shall be saved in the mbox,
	      unless the internal variable hold was set. Messages that are  in
	      the  mbox or in a secondary mailbox and in state read when mailx
	      quits shall be retained in their current location.

       deleted
	      The message has been processed by one of the following commands:
	      delete, dp, dt. Messages in state deleted when mailx quits shall
	      be deleted. Deleted messages shall be ignored until mailx	 quits
	      or  changes mailboxes or they are specified to the undelete com‐
	      mand; for example, the message specification / string shall only
	      search  the  subject  lines  of  messages that have not yet been
	      deleted, unless the command operating on the list of messages is
	      undelete.	 No deleted message or deleted message header shall be
	      displayed by any mailx command other than undelete.

       preserved
	      The message has been processed by a preserve command. When mailx
	      quits, the message shall be retained in its current location.

       saved  The message has been processed by one of the following commands:
	      save or write. If the current mailbox is the system mailbox, and
	      the  internal  variable  keepsave	 is set, messages in the state
	      saved shall be saved to the file designated by the MBOX variable
	      (see the ENVIRONMENT VARIABLES section).	If the current mailbox
	      is the system mailbox, messages in  the  state  saved  shall  be
	      deleted  from the current mailbox, when the quit or file command
	      is used to exit the current mailbox.

       The header-summary line for each message shall indicate	the  state  of
       the message.

       Many  commands take an optional list of messages ( msglist) on which to
       operate, which defaults to the current message. A msglist is a list  of
       message specifications separated by <blank>s, which can include:

       n      Message number n.

       +      The  next undeleted message, or the next deleted message for the
	      undelete command.

       -      The next	previous  undeleted  message,  or  the	next  previous
	      deleted message for the undelete command.

       .      The current message.

       ^      The  first  undeleted  message, or the first deleted message for
	      the undelete command.

       $      The last message.

       *      All messages.

       n-m    An inclusive range of message numbers.

       address
	      All messages from address; any address as shown in a header sum‐
	      mary shall be matchable in this form.

       /string
	      All messages with string in the subject line (case ignored).

       :c     All messages of type c, where c shall be one of:

       d
	      Deleted messages.

       n
	      New messages.

       o
	      Old messages (any not in state read or new).

       r
	      Read messages.

       u
	      Unread messages.

       Other commands take an optional message ( message) on which to operate,
       which defaults to the current message. All of  the  forms  allowed  for
       msglist	are  also allowed for message, but if more than one message is
       specified, only the first shall be operated on.

       Other arguments are usually arbitrary strings whose  usage  depends  on
       the command involved.

   Start-Up in mailx
       At start-up time, mailx shall take the following steps in sequence:

	1. Establish all variables at their stated default values.

	2. Process command line options, overriding corresponding default val‐
	   ues.

	3. Import any of the DEAD , EDITOR , MBOX , LISTER , PAGER ,  SHELL  ,
	   or VISUAL variables that are present in the environment, overriding
	   the corresponding default values.

	4. Read mailx commands	from  an  unspecified  system  start-up	 file,
	   unless  the	-n  option  is given, to initialize any internal mailx
	   variables and aliases.

	5. Process the start-up file of	 mailx	commands  named	 in  the  user
	   MAILRC variable.

       Most  regular  mailx commands are valid inside start-up files, the most
       common use being to set up initial display options and alias lists. The
       following  commands  shall  be  invalid	in the start-up file: !, edit,
       hold, mail, preserve, reply, Reply, shell, visual, Copy, followup,  and
       Followup.  Any  errors in the start-up file shall either cause mailx to
       terminate with a diagnostic message and a non-zero status  or  to  con‐
       tinue after writing a diagnostic message, ignoring the remainder of the
       lines in the start-up file.

       A blank line in a start-up file shall be ignored.

   Internal Variables in mailx
       The following variables are internal  mailx  variables.	Each  internal
       variable	 can  be  set via the mailx set command at any time. The unset
       and set no name commands can be used to erase variables.

       In the following list, variables shown as:

	      variable

       represent Boolean values. Variables shown as:

	      variable=value

       shall be assigned string or numeric  values.  For  string  values,  the
       rules  in Commands in mailx concerning filenames and quoting shall also
       apply.

       The defaults specified here  may	 be  changed  by  the  implementation-
       defined system start-up file unless the user specifies the -n option.

       allnet All  network  names  whose  login name components match shall be
	      treated as identical. This shall cause the msglist message spec‐
	      ifications  to  behave similarly. The default shall be noallnet.
	      See also the alternates command and the metoo variable.

       append Append messages to the end of the	 mbox  file  upon  termination
	      instead  of  placing them at the beginning. The default shall be
	      noappend. This variable shall not affect the save	 command  when
	      saving to mbox.

       ask, asksub
	      Prompt  for a subject line on outgoing mail if one is not speci‐
	      fied on the command line with the -s option. The ask and	asksub
	      forms  are  synonyms;  the  system  shall	 refer	to  asksub and
	      noasksub in its messages, but shall accept ask and noask as user
	      input  to	 mean asksub and noasksub. It shall not be possible to
	      set both ask and noasksub, or noask  and	asksub.	  The  default
	      shall  be	 asksub,  but  no  prompting shall be done if standard
	      input is not a terminal.

       askbcc Prompt for the blind copy list. The default shall be noaskbcc.

       askcc  Prompt for the copy list. The default shall be noaskcc.

       autoprint
	      Enable automatic writing of messages after delete	 and  undelete
	      commands. The default shall be noautoprint.

       bang   Enable  the special-case treatment of exclamation marks ( '!'  )
	      in escape command lines; see  the	 escape	 command  and  Command
	      Escapes  in  mailx  . The default shall be nobang, disabling the
	      expansion of '!' in the command argument to the ~!  command  and
	      the ~<! command escape.

       cmd=command

	      Set  the	default command to be invoked by the pipe command. The
	      default shall be nocmd.

       crt=number
	      Pipe messages having more than number lines through the  command
	      specified	 by the value of the PAGER variable. The default shall
	      be nocrt. If it is set to null, the value	 used  is  implementa‐
	      tion-defined.

       debug  Enable  verbose  diagnostics  for	 debugging.  Messages  are not
	      delivered.  The default shall be nodebug.

       dot    When dot is set, a period on a line  by  itself  during  message
	      input  from  a terminal shall also signify end-of-file (in addi‐
	      tion to normal end-of-file). The default	shall  be  nodot.   If
	      ignoreeof	 is  set  (see	below),	 a  setting  of nodot shall be
	      ignored and the period is the only  method  to  terminate	 input
	      mode.

       escape=c
	      Set  the	command	 escape character to be the character 'c' . By
	      default, the command escape character shall be tilde. If	escape
	      is  unset,  tilde	 shall	be used; if it is set to null, command
	      escaping shall be disabled.

       flipr  Reverse the meanings of the R and r commands. The default	 shall
	      be noflipr.

       folder=directory

	      The  default  directory  for  saving  mail files. User-specified
	      filenames beginning with a plus sign ( '+' ) shall  be  expanded
	      by preceding the filename with this directory name to obtain the
	      real pathname. If directory does not start with a slash ( '/' ),
	      the  contents of HOME shall be prefixed to it. The default shall
	      be nofolder. If folder is unset or set to	 null,	user-specified
	      filenames beginning with '+' shall refer to files in the current
	      directory that begin with the literal '+'	 character.  See  also
	      outfolder	 below.	 The folder value need not affect the process‐
	      ing of the files named in MBOX and DEAD .

       header Enable writing of the header  summary  when  entering  mailx  in
	      Receive Mode. The default shall be header.

       hold   Preserve	all  messages  that  are  read	in  the system mailbox
	      instead of putting them in the mbox save file. The default shall
	      be nohold.

       ignore Ignore  interrupts while entering messages. The default shall be
	      noignore.

       ignoreeof
	      Ignore normal end-of-file during message	input.	Input  can  be
	      terminated only by entering a period ( '.' ) on a line by itself
	      or by the ~. command escape. The default shall  be  noignoreeof.
	      See also dot above.

       indentprefix=string

	      A	 string	 that  shall be added as a prefix to each line that is
	      inserted into the message by the ~m command escape.  This	 vari‐
	      able shall default to one <tab>.

       keep   When  a  system  mailbox,	 secondary  mailbox, or mbox is empty,
	      truncate it to zero length instead of removing it.  The  default
	      shall be nokeep.

       keepsave
	      Keep  the	 messages that have been saved from the system mailbox
	      into other files in the file designated by the variable  MBOX  ,
	      instead of deleting them. The default shall be nokeepsave.

       metoo  Suppress	the  deletion  of  the login name of the user from the
	      recipient list when replying to a message or sending to a group.
	      The default shall be nometoo.

       onehop When responding to a message that was originally sent to several
	      recipients, the other recipient addresses are normally forced to
	      be   relative  to	 the  originating  author's  machine  for  the
	      response.	 This flag  disables  alteration  of  the  recipients'
	      addresses,  improving efficiency in a network where all machines
	      can send directly to all other machines (that is, one hop away).
	      The default shall be noonehop.

       outfolder
	      Cause  the  files used to record outgoing messages to be located
	      in the directory specified by the	 folder	 variable  unless  the
	      pathname is absolute. The default shall be nooutfolder.  See the
	      record variable.

       page   Insert a <form-feed> after each message sent  through  the  pipe
	      created by the pipe command. The default shall be nopage.

       prompt=string

	      Set  the	command-mode prompt to string. If string is null or if
	      noprompt is set, no prompting shall occur. The default shall  be
	      to prompt with the string "? " .

       quiet  Refrain from writing the opening message and version when enter‐
	      ing mailx. The default shall be noquiet.

       record=file
	      Record all outgoing mail in the file  with  the  pathname	 file.
	      The default shall be norecord. See also outfolder above.

       save   Enable  saving  of messages in the dead-letter file on interrupt
	      or delivery error. See the variable DEAD for the location of the
	      dead-letter file. The default shall be save.

       screen=number

	      Set  the number of lines in a screenful of headers for the head‐
	      ers and z commands. If screen is not specified, a value based on
	      the  terminal  type identified by the TERM environment variable,
	      the window size, the baud rate, or  some	combination  of	 these
	      shall be used.

       sendwait
	      Wait  for	 the background mailer to finish before returning. The
	      default shall be nosendwait.

       showto When the sender of the message was  the  user  who  is  invoking
	      mailx,  write  the  information from the To: line instead of the
	      From: line in the header summary. The default shall be noshowto.

       sign=string
	      Set the variable inserted into the text of a message when the ~a
	      command  escape is given. The default shall be nosign. The char‐
	      acter sequences '\t' and '\n' shall be recognized in  the	 vari‐
	      able  as	<tab>s	and  <newline>s, respectively. (See also ~i in
	      Command Escapes in mailx .)

       Sign=string
	      Set the variable inserted into the text of a message when the ~A
	      command  escape is given. The default shall be noSign. The char‐
	      acter sequences '\t' and '\n' shall be recognized in  the	 vari‐
	      able as <tab>s and <newline>s, respectively.

       toplines=number

	      Set  the	number	of  lines of the message to write with the top
	      command. The default shall be 5.

   Commands in mailx
       The following mailx commands shall be provided. In the following	 list,
       header  refers to lines from the message header, as shown in the OUTPUT
       FILES section. Header-line refers to lines within the header that begin
       with  one or more non-white-space characters, immediately followed by a
       colon and white space and continuing until the next line beginning with
       a  non-white-space  character  or an empty line. Header-field refers to
       the portion of a header line prior to the first colon in that line.

       For each of the commands listed below, the command can  be  entered  as
       the abbreviation (those characters in the Synopsis command word preced‐
       ing the '[' ), the full command (all characters shown for  the  command
       word, omitting the '[' and ']' ), or any truncation of the full command
       down to the abbreviation.  For example,	the  exit  command  (shown  as
       ex[it] in the Synopsis) can be entered as ex, exi, or exit.

       The arguments to commands can be quoted, using the following methods:

	* An  argument	can be enclosed between paired double-quotes ( "" ) or
	  single-quotes ( '' ); any white  space,  shell  word	expansion,  or
	  backslash characters within the quotes shall be treated literally as
	  part of the argument. A  double-quote	 shall	be  treated  literally
	  within  single-quotes	 and  vice versa.  These special properties of
	  the quote marks shall occur only when they are paired at the	begin‐
	  ning and end of the argument.

	* A  backslash	outside of the enclosing quotes shall be discarded and
	  the following character treated literally as part of the argument.

	* An unquoted backslash at the end of a command	 line  shall  be  dis‐
	  carded and the next line shall continue the command.

       Filenames,  where  expected, shall be subjected to the following trans‐
       formations, in sequence:

	* If the filename begins with an unquoted plus sign,  and  the	folder
	  variable  is	defined (see the folder variable), the plus sign shall
	  be replaced by the value of the folder variable followed by a slash.
	  If  the  folder  variable  is	 unset or is set to null, the filename
	  shall be unchanged.

	* Shell word expansions shall be applied to  the  filename  (see  Word
	  Expansions  ).  If  more  than  a  single pathname results from this
	  expansion and the command is expecting one  file,  the  effects  are
	  unspecified.

   Declare Aliases
       Synopsis:

	      a[lias] [alias [address...]]g[roup] [alias [address...]]

       Add  the	 given	addresses  to  the alias specified by alias. The names
       shall be substituted when alias is used as a recipient  address	speci‐
       fied  by	 the  user  in	an outgoing message (that is, other recipients
       addressed indirectly through the reply command shall not be substituted
       in  this manner). Mail address alias substitution shall apply only when
       the alias string is used as a full address; for example, when hlj is an
       alias,  hlj@posix.com  does  not	 trigger the alias substitution. If no
       arguments are given, write a listing of the current aliases to standard
       output.	If  only  an  alias  argument is given, write a listing of the
       specified alias to standard output. These listings need not reflect the
       same order of addresses that were entered.

   Declare Alternatives
       Synopsis:

	      alt[ernates] name...

       (See  also  the metoo command.) Declare a list of alternative names for
       the user's login. When responding to a message, these  names  shall  be
       removed	from  the list of recipients for the response.	The comparison
       of names shall be in a  case-insensitive	 manner.  With	no  arguments,
       alternates shall write the current list of alternative names.

   Change Current Directory
       Synopsis:

	      cd [directory]ch[dir] [directory]

       Change  directory.  If directory is not specified, the contents of HOME
       shall be used.

   Copy Messages
       Synopsis:

	      c[opy] [file]c[opy] [msglist] fileC[opy] [msglist]

       Copy messages to the file named by the pathname	file  without  marking
       the  messages  as  saved. Otherwise, it shall be equivalent to the save
       command.

       In the capitalized form, save the specified messages in	a  file	 whose
       name  is	 derived  from	the author of the message to be saved, without
       marking the messages as saved. Otherwise, it shall be equivalent to the
       Save command.

   Delete Messages
       Synopsis:

	      d[elete] [msglist]

       Mark  messages  for  deletion from the mailbox. The deletions shall not
       occur until mailx quits (see the quit  command)	or  changes  mailboxes
       (see  the  folder  command). If autoprint is set and there are messages
       remaining after the delete command, the current message shall be	 writ‐
       ten  as described for the print command (see the print command); other‐
       wise, the mailx prompt shall be written.

   Discard Header Fields
       Synopsis:

	      di[scard] [header-field...]ig[nore] [header-field...]

       Suppress the specified header fields when writing  messages.  Specified
       header-fields  shall  be added to the list of suppressed header fields.
       Examples of header fields to ignore are status and cc. The fields shall
       be  included  when  the	message	 is saved. The Print and Type commands
       shall override this command. The comparison of header fields  shall  be
       in  a  case-insensitive	manner. If no arguments are specified, write a
       list of the currently suppressed header fields to standard output;  the
       listing	need  not  reflect  the	 same order of header fields that were
       entered.

       If both retain and discard commands are given, discard  commands	 shall
       be ignored.

   Delete Messages and Display
       Synopsis:

	      dp [msglist]dt [msglist]

       Delete  the  specified  messages	 as  described for the delete command,
       except that the autoprint variable shall have no effect, and  the  cur‐
       rent message shall be written only if it was set to a message after the
       last message deleted by the command.  Otherwise, an informational  mes‐
       sage  to	 the  effect that there are no further messages in the mailbox
       shall be written, followed by the mailx prompt.

   Echo a String
       Synopsis:

	      ec[ho] string ...

       Echo the given strings, equivalent to the shell echo utility.

   Edit Messages
       Synopsis:

	      e[dit] [msglist]

       Edit the given messages. The messages shall be placed  in  a  temporary
       file  and  the  utility named by the EDITOR variable is invoked to edit
       each file in sequence. The default EDITOR is unspecified.

       The edit command does not modify the contents of those messages in  the
       mailbox.

   Exit
       Synopsis:

	      ex[it]x[it]

       Exit  from  mailx  without  changing  the mailbox. No messages shall be
       saved in the mbox (see also quit).

   Change Folder
       Synopsis:

	      fi[le] [file]fold[er] [file]

       Quit (see the quit command) from the current file of messages and  read
       in  the	file  named by the pathname file. If no argument is given, the
       name and status of the current mailbox shall be written.

       Several unquoted special characters shall be recognized	when  used  as
       file names, with the following substitutions:

       %      The system mailbox for the invoking user.

       %user  The system mailbox for user.

       #      The previous file.

       &      The current mbox.

       +file  The  named  file	in the folder directory. (See the folder vari‐
	      able.)

       The default file shall be the current mailbox.

   Display List of Folders
       Synopsis:

	      folders

       Write the names of the files in the directory set by the	 folder	 vari‐
       able. The command specified by the LISTER environment variable shall be
       used (see the ENVIRONMENT VARIABLES section).

   Follow Up Specified Messages
       Synopsis:

	      fo[llowup] [message]F[ollowup] [msglist]

       In the lowercase form, respond to a message, recording the response  in
       a  file	whose name is derived from the author of the message. See also
       the save and copy commands and outfolder.

       In the capitalized form, respond to the first message in	 the  msglist,
       sending	the  message to the author of each message in the msglist. The
       subject line shall be taken from the first  message  and	 the  response
       shall  be  recorded  in a file whose name is derived from the author of
       the first message. See also the Save and Copy commands and outfolder.

       Both forms shall override the record variable, if set.

   Display Header Summary for Specified Messages
       Synopsis:

	      f[rom] [msglist]

       Write the header summary for the specified messages.

   Display Header Summary
       Synopsis:

	      h[eaders] [message]

       Write the page of headers that includes the message specified.  If  the
       message	argument  is  not  specified,  the  current  message shall not
       change. However, if the message argument is specified, the current mes‐
       sage  shall  become  the message that appears at the top of the page of
       headers that includes the message specified. The screen	variable  sets
       the number of headers per page. See also the z command.

   Help
       Synopsis:

	      hel[p]?

       Write a summary of commands.

   Hold Messages
       Synopsis:

	      ho[ld] [msglist]pre[serve] [msglist]

       Mark  the  messages in msglist to be retained in the mailbox when mailx
       terminates. This shall override any commands that might previously have
       marked  the  messages  to  be deleted. During the current invocation of
       mailx, only the delete, dp, or dt commands shall	 remove	 the  preserve
       marking of a message.

   Execute Commands Conditionally
       Synopsis:

	      i[f] s|r
	      mail-commands
	      el[se]
	      mail-commands
	      en[dif]

       Execute commands conditionally, where if s executes the following mail-
       commands, up to an else or endif, if the program is in Send  Mode,  and
       if r shall cause the mail-commands to be executed only in Receive Mode.

   List Available Commands
       Synopsis:

	      l[ist]

       Write a list of all commands available. No explanation shall be given.

   Mail a Message
       Synopsis:

	      m[ail] address...

       Mail a message to the specified addresses or aliases.

   Direct Messages to mbox
       Synopsis:

	      mb[ox] [msglist]

       Arrange	for  the  given	 messages to end up in the mbox save file when
       mailx terminates normally. See MBOX .  See also the exit and quit  com‐
       mands.

   Process Next Specified Message
       Synopsis:

	      n[ext] [message]

       If  the current message has not been written (for example, by the print
       command) since mailx started or since any other message was the current
       message,	 behave	 as  if	 the  print command was entered. Otherwise, if
       there is an undeleted message after the current message,	 make  it  the
       current	message and behave as if the print command was entered. Other‐
       wise, an informational message to the effect that there are no  further
       messages in the mailbox shall be written, followed by the mailx prompt.

   Pipe Message
       Synopsis:

	      pi[pe] [[msglist] command]| [[msglist] command]

       Pipe  the  messages  through  the given command by invoking the command
       interpreter specified by SHELL with two arguments: -c and command. (See
       also sh -c.)  The application shall ensure that the command is given as
       a single argument. Quoting, described previously, can be used to accom‐
       plish  this.  If	 no  arguments are given, the current message shall be
       piped through the command specified by the value of the	cmd  variable.
       If the page variable is set, a <form-feed> shall be inserted after each
       message.

   Display Message with Headers
       Synopsis:

	      P[rint] [msglist]T[ype] [msglist]

       Write the specified messages, including all header lines,  to  standard
       output.	Override  suppression  of  lines  by  the discard, ignore, and
       retain commands. If crt is set, the messages longer than the number  of
       lines  specified by the crt variable shall be paged through the command
       specified by the PAGER environment variable.

   Display Message
       Synopsis:

	      p[rint] [msglist]t[ype] [msglist]

       Write the specified messages to standard output. If  crt	 is  set,  the
       messages	 longer than the number of lines specified by the crt variable
       shall be paged through the command specified by the  PAGER  environment
       variable.

   Quit
       Synopsis:

	      q[uit]
	      end-of-file

       Terminate  mailx,  storing messages that were read in mbox (if the cur‐
       rent mailbox is the system mailbox and unless hold  is  set),  deleting
       messages that have been explicitly saved (unless keepsave is set), dis‐
       carding messages that have been deleted, and saving all remaining  mes‐
       sages in the mailbox.

   Reply to a Message List
       Synopsis:

	      R[eply] [msglist]R[espond] [msglist]

       Mail a reply message to the sender of each message in the msglist.  The
       subject line shall be formed by concatenating Re:  <space>  (unless  it
       already	begins	with  that string) and the subject from the first mes‐
       sage. If record is set to a filename, the response shall	 be  saved  at
       the end of that file.

       See also the flipr variable.

   Reply to a Message
       Synopsis:

	      r[eply] [message]r[espond] [message]

       Mail  a	reply  message to all recipients included in the header of the
       message. The subject line shall be formed by concatenating Re:  <space>
       (unless	it  already  begins with that string) and the subject from the
       message. If record is set to a filename, the response shall be saved at
       the end of that file.

       See also the flipr variable.

   Retain Header Fields
       Synopsis:

	      ret[ain] [header-field...]

       Retain  the specified header fields when writing messages. This command
       shall override all discard  and	ignore	commands.  The	comparison  of
       header  fields  shall  be in a case-insensitive manner. If no arguments
       are specified, write a list of the currently retained header fields  to
       standard	 output; the listing need not reflect the same order of header
       fields that were entered.

   Save Messages
       Synopsis:

	      s[ave] [file]s[ave] [msglist] fileS[ave] [msglist]

       Save the specified messages in the file named by the pathname file,  or
       the  mbox if the file argument is omitted. The file shall be created if
       it does not exist; otherwise, the messages shall	 be  appended  to  the
       file.  The message shall be put in the state saved, and shall behave as
       specified in the description of the saved state when the current	 mail‐
       box is exited by the quit or file command.

       In  the	capitalized  form, save the specified messages in a file whose
       name is derived from the author of the first message. The name  of  the
       file shall be taken to be the author's name with all network addressing
       stripped off. See also the Copy, followup, and  Followup	 commands  and
       outfolder variable.

   Set Variables
       Synopsis:

	      se[t] [name[=[string]] ...] [name=number ...] [noname ...]

       Define  one  or more variables called name. The variable can be given a
       null, string, or numeric value. Quoting and backslash escapes can occur
       anywhere	 in  string, as described previously, as if the string portion
       of the argument were the entire argument.  The  forms  name  and	 name=
       shall  be  equivalent to name="" for variables that take string values.
       The set command without arguments shall write a	list  of  all  defined
       variables  and  their  values.  The no name form shall be equivalent to
       unset name.

   Invoke a Shell
       Synopsis:

	      sh[ell]

       Invoke an interactive command interpreter (see also SHELL ).

   Display Message Size
       Synopsis:

	      si[ze] [msglist]

       Write the size in bytes of each of the specified messages.

   Read mailx Commands From a File
       Synopsis:

	      so[urce] file

       Read and execute commands from the file named by the pathname file  and
       return to command mode.

   Display Beginning of Messages
       Synopsis:

	      to[p] [msglist]

       Write  the  top	few  lines  of	each of the specified messages. If the
       toplines variable is set, it is taken as the number of lines to	write.
       The default shall be 5.

   Touch Messages
       Synopsis:

	      tou[ch] [msglist]

       Touch the specified messages. If any message in msglist is not specifi‐
       cally deleted nor saved in a file, it shall be placed in the mbox  upon
       normal termination. See exit and quit.

   Delete Aliases
       Synopsis:

	      una[lias] [alias]...

       Delete  the specified alias names. If a specified alias does not exist,
       the results are unspecified.

   Undelete Messages
       Synopsis:

	      u[ndelete] [msglist]

       Change the state of the specified messages from	deleted	 to  read.  If
       autoprint  is set, the last message of those restored shall be written.
       If msglist is not specified, the message shall be selected as follows:

	* If there are any deleted messages that follow the  current  message,
	  the first of these shall be chosen.

	* Otherwise,  the  last deleted message that also precedes the current
	  message shall be chosen.

   Unset Variables
       Synopsis:

	      uns[et] name...

       Cause the specified variables to be erased.

   Edit Message with Full-Screen Editor
       Synopsis:

	      v[isual] [msglist]

       Edit the given messages with a screen editor.  Each  message  shall  be
       placed  in  a temporary file, and the utility named by the VISUAL vari‐
       able shall be invoked to edit each file in sequence.  The default  edi‐
       tor shall be vi.

       The  visual  command  does not modify the contents of those messages in
       the mailbox.

   Write Messages to a File
       Synopsis:

	      w[rite] [msglist] file

       Write the given messages to the file specified by  the  pathname	 file,
       minus the message header. Otherwise, it shall be equivalent to the save
       command.

   Scroll Header Display
       Synopsis:

	      z[+|-]

       Scroll the header display forward (if '+' is specified or if no	option
       is specified) or backward (if '-' is specified) one screenful. The num‐
       ber of headers written shall be set by the screen variable.

   Invoke Shell Command
       Synopsis:

	      !command

       Invoke the command interpreter specified by SHELL with  two  arguments:
       -c  and	command.  (See	also sh -c.) If the bang variable is set, each
       unescaped occurrence of '!' in command shall be replaced with the  com‐
       mand executed by the previous ! command or ~! command escape.

   Null Command
       Synopsis:

	      # comment

       This null command (comment) shall be ignored by mailx.

   Display Current Message Number
       Synopsis:

	      =

       Write the current message number.

   Command Escapes in mailx
       The  following  commands can be entered only from input mode, by begin‐
       ning a line with the escape character (by default, tilde ( '~' )).  See
       the  escape  variable  description for changing this special character.
       The format for the commands shall be:

	      <escape-character><command-char><separator>[<arguments>]

       where the <separator> can be zero or more <blank>s.

       In the following descriptions, the application shall  ensure  that  the
       argument command (but not mailx-command) is a shell command string. Any
       string acceptable to the command interpreter  specified	by  the	 SHELL
       variable	 when it is invoked as SHELL -c command_string shall be valid.
       The command can be presented as multiple arguments (that is, quoting is
       not required).

       Command escapes that are listed with msglist or mailx-command arguments
       are invalid in Send Mode and produce unspecified results.

       ~!  command
	      Invoke the command interpreter specified by SHELL with two argu‐
	      ments:  -c  and  command;	 and then return to input mode. If the
	      bang variable is set, each unescaped occurrence of '!'  in  com‐
	      mand shall be replaced with the command executed by the previous
	      ! command or ~! command escape.

       ~.     Simulate end-of-file (terminate message input).

       ~:  mailx-command, ~_  mailx-command

	      Perform the command-level request.

       ~?     Write a summary of command escapes.

       ~A     This shall be equivalent to ~i Sign.

       ~a     This shall be equivalent to ~i sign.

       ~b  name...
	      Add the names to the blind carbon copy ( Bcc) list.

       ~c  name...
	      Add the names to the carbon copy ( Cc) list.

       ~d     Read in the dead-letter file. See DEAD for a description of this
	      file.

       ~e     Invoke  the editor, as specified by the EDITOR environment vari‐
	      able, on the partial message.

       ~f [msglist]
	      Forward the specified messages. The specified messages shall  be
	      inserted	into the current message without alteration. This com‐
	      mand escape also shall insert message headers into  the  message
	      with field selection affected by the discard, ignore, and retain
	      commands.

       ~F [msglist]
	      This shall be the equivalent of the ~f  command  escape,	except
	      that all headers shall be included in the message, regardless of
	      previous discard, ignore, and retain commands.

       ~h     If standard input is a terminal, prompt for a Subject  line  and
	      the  To, Cc, and Bcc lists. Other implementation-defined headers
	      may also be presented for editing.  If the field is written with
	      an initial value, it can be edited as if it had just been typed.

       ~i  string
	      Insert the value of the named variable, followed by a <newline>,
	      into the text of the message. If the string is  unset  or	 null,
	      the message shall not be changed.

       ~m [msglist]
	      Insert  the  specified messages into the message, prefixing non-
	      empty lines with the string in the indentprefix variable.	  This
	      command  escape  also shall insert message headers into the mes‐
	      sage, with field selection affected by the discard, ignore,  and
	      retain commands.

       ~M [msglist]
	      This  shall  be  the equivalent of the ~m command escape, except
	      that all headers shall be included in the message, regardless of
	      previous discard, ignore, and retain commands.

       ~p     Write  the  message being entered. If the message is longer than
	      crt lines (see Internal Variables in mailx ), the	 output	 shall
	      be paginated as described for the PAGER variable.

       ~q     Quit  (see  the  quit  command) from input mode by simulating an
	      interrupt. If the body of the message is not empty, the  partial
	      message  shall  be saved in the dead-letter file. See DEAD for a
	      description of this file.

       ~r  file, ~<
	      file, ~r !command, ~< !command

	      Read in the file specified by the pathname file. If the argument
	      begins  with an exclamation mark ( '!' ), the rest of the string
	      shall be taken as	 an  arbitrary	system	command;  the  command
	      interpreter  specified  by SHELL shall be invoked with two argu‐
	      ments: -c and command. The standard output of command  shall  be
	      inserted into the message.

       ~s  string
	      Set the subject line to string.

       ~t  name...
	      Add the given names to the To list.

       ~v     Invoke  the full-screen editor, as specified by the VISUAL envi‐
	      ronment variable, on the partial message.

       ~w  file
	      Write the partial message, without the  header,  onto  the  file
	      named  by	 the  pathname	file. The file shall be created or the
	      message shall be appended to it if the file exists.

       ~x     Exit as with ~q, except the message shall not be	saved  in  the
	      dead-letter file.

       ~|  command
	      Pipe the body of the message through the given command by invok‐
	      ing the command interpreter specified by SHELL  with  two	 argu‐
	      ments:  -c and command. If the command returns a successful exit
	      status, the standard output of the  command  shall  replace  the
	      message.	Otherwise,  the message shall remain unchanged. If the
	      command fails, an error message giving the exit status shall  be
	      written.

EXIT STATUS
       When  the  -e  option  is  specified,  the  following  exit  values are
       returned:

	0     Mail was found.

       >0     Mail was not found or an error occurred.

       Otherwise, the following exit values are returned:

	0     Successful completion; note that this status  implies  that  all
	      messages	were sent, but it gives no assurances that any of them
	      were actually delivered.

       >0     An error occurred.

CONSEQUENCES OF ERRORS
       When in input mode (Receive Mode) or Send Mode:

	* If an error is encountered processing a command escape (see  Command
	  Escapes  in  mailx ), a diagnostic message shall be written to stan‐
	  dard error, and the message being composed may be modified, but this
	  condition shall not prevent the message from being sent.

	* Other errors shall prevent the sending of the message.

       When in command mode:

	* Default.

       The following sections are informative.

APPLICATION USAGE
       Delivery of messages to remote systems requires the existence of commu‐
       nication paths to such systems. These need not exist.

       Input lines are limited to {LINE_MAX} bytes, but mailers	 between  sys‐
       tems  may  impose  more severe line-length restrictions. This volume of
       IEEE Std 1003.1-2001 does not place any restrictions on the  length  of
       messages	 handled by mailx, and for delivery of local messages the only
       limitations should be the normal problems of available disk  space  for
       the  target  mail  file.	  When	sending messages to external machines,
       applications are advised to limit messages to less  than	 100000	 bytes
       because some mail gateways impose message-length restrictions.

       The  format of the system mailbox is intentionally unspecified. Not all
       systems implement system mailboxes as flat files, particularly with the
       advent of multimedia mail messages. Some system mailboxes may be multi‐
       ple files, others records in a database. The  internal  format  of  the
       messages	 themselves  is specified with the historical format from Ver‐
       sion 7, but only after the messages have been saved in some file	 other
       than the system mailbox. This was done so that many historical applica‐
       tions expecting text-file mailboxes are not broken.

       Some new formats for messages can be expected in the  future,  probably
       including  binary  data,	 bit  maps, and various multimedia objects. As
       described here, mailx is not prohibited from  handling  such  messages,
       but  it	must  store  them as text files in secondary mailboxes (unless
       some extension, such as a variable or command line option, is  used  to
       change  the  stored  format). Its method of doing so is implementation-
       defined and might include translating the data into text	 file-compati‐
       ble  or	readable form or omitting certain portions of the message from
       the stored output.

       The discard and ignore commands are not inverses of the retain command.
       The  retain  command discards all header-fields except those explicitly
       retained. The discard command  keeps  all  header-fields	 except	 those
       explicitly  discarded.  If  headers  exist on the retained header list,
       discard and ignore commands are ignored.

EXAMPLES
       None.

RATIONALE
       The standard developers felt strongly that a method for applications to
       send messages to specific users was necessary. The obvious example is a
       batch utility, running non-interactively, that  wishes  to  communicate
       errors or results to a user. However, the actual format, delivery mech‐
       anism, and method of reading the message are clearly beyond  the	 scope
       of this volume of IEEE Std 1003.1-2001.

       The  intent  of this command is to provide a simple, portable interface
       for sending messages non-interactively. It merely defines a "front-end"
       to  the	historical  mail  system. It is suggested that implementations
       explicitly denote the sender and recipient in the body of the delivered
       message.	 Further specification of formats for either the message enve‐
       lope or the message itself were deliberately not made, as the  industry
       is in the midst of changing from the current standards to a more inter‐
       nationalized standard and it is probably incorrect, at  this  time,  to
       require either one.

       Implementations are encouraged to conform to the various delivery mech‐
       anisms described in the CCITT X.400  standards  or  to  the  equivalent
       Internet	 standards,  described	in  Internet Request for Comment (RFC)
       documents RFC 819, RFC 822, RFC 920, RFC 921, and RFC 1123.

       Many historical systems modified each body line that started with From
       by  prefixing  the 'F' with '>' . It is unnecessary, but allowed, to do
       that when the string does not follow a blank line because it cannot  be
       confused with the next header.

       The  edit  and  visual commands merely edit the specified messages in a
       temporary file. They do not modify the contents of  those  messages  in
       the  mailbox; such a capability could be added as an extension, such as
       by using different command names.

       The restriction on a subject line being {LINE_MAX}-10 bytes is based on
       the  historical	format	that  consumes	10 bytes for Subject:  and the
       trailing	 <newline>.  Many  historical  mailers	that  a	 message   may
       encounter on other systems are not able to handle lines that long, how‐
       ever.

       Like the utilities logger and lp,  mailx	 admittedly  is	 difficult  to
       test.  This  was	 not  deemed  sufficient justification to exclude this
       utility from this volume of IEEE Std 1003.1-2001. It is	also  arguable
       that  it	 is,  in fact, testable, but that the tests themselves are not
       portable.

       When mailx is being used by an application that wishes to  receive  the
       results	as  if	none of the User Portability Utilities option features
       were supported, the DEAD environment variable must be set to /dev/null.
       Otherwise,  it  may be subject to the file creations described in mailx
       ASYNCHRONOUS EVENTS. Similarly, if the MAILRC environment  variable  is
       not  set	 to /dev/null, historical versions of mailx and Mail read ini‐
       tialization commands from a file before processing  begins.  Since  the
       initialization  that  a user specifies could alter the contents of mes‐
       sages an application is trying to  send,	 such  applications  must  set
       MAILRC to /dev/null.

       The  description	 of  LC_TIME uses "may affect" because many historical
       implementations do not or cannot manipulate the date and	 time  strings
       in  the	incoming  mail headers. Some headers found in incoming mail do
       not have enough information to determine the timezone in which the mail
       originated,  and,  therefore,  mailx  cannot  convert the date and time
       strings into the internal form that then is  parsed  by	routines  like
       strftime()  that	 can  take LC_TIME settings into account. Changing all
       these times to a user-specified format is allowed, but not required.

       The paginator selected when PAGER is null or unset is partially unspec‐
       ified  to  allow	 the  System  V historical practice of using pg as the
       default. Bypassing the pagination function, such as by  declaring  that
       cat  is the paginator, would not meet with the intended meaning of this
       description. However, any "portable  user"  would  have	to  set	 PAGER
       explicitly  to  get  his or her preferred paginator on all systems. The
       paginator choice was made partially unspecified, unlike the VISUAL edi‐
       tor  choice (mandated to be vi) because most historical pagers follow a
       common theme of user input, whereas editors differ dramatically.

       Options to specify addresses as cc (carbon copy) or bcc	(blind	carbon
       copy) were considered to be format details and were omitted.

       A zero exit status implies that all messages were sent, but it gives no
       assurances that any of them were actually delivered. The reliability of
       the  delivery  mechanism is unspecified and is an appropriate marketing
       distinction between systems.

       In order to conform to the Utility Syntax Guidelines,  a	 solution  was
       required	 to the optional file option-argument to -f. By making file an
       operand, the guidelines are satisfied and users remain  portable.  How‐
       ever, it does force implementations to support usage such as:

	      mailx -fin mymail.box

       The no name method of unsetting variables is not present in all histor‐
       ical systems, but it is in System V and provides a logical set of  com‐
       mands  corresponding  to	 the format of the display of options from the
       mailx set command without arguments.

       The ask and asksub variables are the names selected by BSD  and	System
       V, respectively, for the same feature. They are synonyms in this volume
       of IEEE Std 1003.1-2001.

       The mailx echo command was not documented in the BSD  version  and  has
       been  omitted  here  because it is not obviously useful for interactive
       users.

       The default prompt on the System V mailx is a  question	mark,  on  BSD
       Mail  an ampersand. Since this volume of IEEE Std 1003.1-2001 chose the
       mailx name, it kept the System V default, assuming that BSD users would
       not  have  difficulty  with  this  minor incompatibility (that they can
       override).

       The meanings of r and R are reversed between System V mailx  and	 SunOS
       Mail.  Once  again, since this volume of IEEE Std 1003.1-2001 chose the
       mailx name, it kept the System V default, but allows the SunOS user  to
       achieve the desired results using flipr, an internal variable in System
       V mailx, although it has not been documented in the SVID.

       The indentprefix variable, the retain and unalias commands, and the  ~F
       and ~M command escapes were adopted from 4.3 BSD Mail.

       The  version  command  was not included because no sufficiently general
       specification of the version information could be  devised  that	 would
       still be useful to a portable user. This command name should be used by
       suppliers who wish to provide version information about the mailx  com‐
       mand.

       The  "implementation-specific  (unspecified) system start-up file" his‐
       torically has been named /etc/mailx.rc,	but  this  specific  name  and
       location are not required.

       The  intent  of the wording for the next command is that if any command
       has already displayed the current message it should display a following
       message,	 but,  otherwise,  it should display the current message. Con‐
       sider the command sequence:

	      next 3
	      delete 3
	      next

       where the autoprint option was not set. The  normative  text  specifies
       that  the  second  next	command should display a message following the
       third message, because even though the current  message	has  not  been
       displayed since it was set by the delete command, it has been displayed
       since the current message was anything other  than  message  number  3.
       This does not always match historical practice in some implementations,
       where the command file address followed by next (or  the	 default  com‐
       mand) would skip the message for which the user had searched.

FUTURE DIRECTIONS
       None.

SEE ALSO
       Shell Command Language , ed , ls , more , vi

COPYRIGHT
       Portions	 of  this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       --  Portable  Operating	System	Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003	by  the	 Institute  of
       Electrical  and	Electronics  Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained	online
       at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group		     2003			      MAILX(P)
[top]

List of man pages available for CentOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net