Provided by: manpages-posix_2.16-1_all bug

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, deleting, and responding to messages.
       When sending mail, mailx allows editing, 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 secondary files, messages shall be
       retained in those files unless specifically 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 mailbox.

       -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 privileges 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  variable;  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 messages in case of interrupts or
              delivery errors. The default shall be dead.letter in the directory named by the HOME variable. The
              behavior of mailx in saving partial messages is unspecified  if  the  User  Portability  Utilities
              option is not supported 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 ) command is used. The default editor is unspecified.   On XSI-conformant
              systems it is ed.  The effects of this variable are unspecified if the User Portability  Utilities
              option is not supported.

       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  Variables  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 contents of the  folder  directory  to
              standard  output when the folders command is given (see folders in Commands in mailx ). Any string
              acceptable as a command_string operand to the sh -c command 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 supported.

       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 system 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 pagination 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 documentation. 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 unspecified 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 command (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  variable 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  command-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 cannot 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 remainder 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  implementations  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
       portable  to  non-internationalized systems, and so on. Under these circumstances, 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 message 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  commands  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 commands 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 environmental 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 termination 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 message, 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 (message) 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 message 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 mailbox.

       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  command; 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 summary 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 values.

        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
       continue 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 specifications 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 specified 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
              implementation-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 addition 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 processing 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 variable 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 entering 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 headers 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 character sequences '\t' and '\n' shall be recognized in the variable
              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 character sequences '\t' and '\n' shall be recognized in the variable
              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 preceding 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 beginning 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 discarded and the next line shall continue
          the command.

       Filenames, where expected, shall be subjected to the following transformations, 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 specified 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 written as described for the print
       command (see the print command); otherwise, 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 current message shall be written only if it was set to a message after the
       last message deleted by the command.  Otherwise, an informational message 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 variable.)

       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 variable. 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  message
       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 commands.

   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. Otherwise, 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 accomplish 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 current mailbox is the system mailbox
       and unless hold is set), deleting messages that have been explicitly  saved  (unless  keepsave  is  set),
       discarding messages that have been deleted, and saving all remaining messages 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
       message. 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 mailbox 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 specifically 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 variable shall be invoked to edit each file in sequence.  The default  editor
       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 number 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
       command 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 beginning 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 arguments: -c and command; and then
              return to input mode. If the bang variable is set, each unescaped occurrence  of  '!'  in  command
              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 variable, on the partial message.

       ~f [msglist]
              Forward  the specified messages. The specified messages shall be inserted into the current message
              without alteration. This command 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 message,
              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 arguments: -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 environment 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 invoking the command interpreter
              specified by SHELL with two arguments: -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 standard 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 communication  paths  to  such  systems.
       These need not exist.

       Input  lines  are  limited  to {LINE_MAX} bytes, but mailers between systems 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
       multiple files, others records in a database. The internal format of the messages themselves is specified
       with the historical format from Version 7, but only after the messages have been saved in some file other
       than the system mailbox. This was done so that many historical applications 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-compatible 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 mechanism, 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 envelope or the message itself were deliberately not
       made, as the industry is in the midst of changing from the current standards to a more  internationalized
       standard and it is probably incorrect, at this time, to require either one.

       Implementations are encouraged to conform to the various delivery mechanisms 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, however.

       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  initialization commands from a file before processing begins. Since the initialization that a
       user specifies could alter the contents of messages 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  unspecified  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 editor 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.
       However, 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 historical systems, but it is in System V
       and  provides  a  logical  set of commands 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 command.

       The   "implementation-specific   (unspecified)   system   start-up  file"  historically  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.
       Consider 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 command) 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)