Unix/Linux Go Back    


Linux 2.6 - man page for mailx (linux section 1posix)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


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

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, collec-
       tively 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  sec-
       tion  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 loca-
       tions-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 Portabil-
       ity 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 mail-
	      box. (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 DESCRIP-
	      TION 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 unspeci-
	      fied.   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, Inter-
	      nationalization 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  interna-
	      tionalization 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  argu-
	      ments  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 diag-
	      nostic messages written to standard error and informative messages written to stan-
	      dard 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 Com-
	      mands 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 mes-
	      sage 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 writ-
	      ing  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 vari-
	      able 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  termi-
	      nal 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 sup-
	      ported.

ASYNCHRONOUS EVENTS
       When mailx is in Send Mode and standard input is not a terminal, it shall take  the  stan-
       dard 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 com-
	   mand-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  mes-
	       sage.  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  mes-
		       sage 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 circum-
       stances. 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), fol-
       lowed 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  inter-
       nal  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  mes-
       sages  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 mes-
       sages 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 mes-
	      sage 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 mail-
	      box, 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 match-
	      able 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,  fol-
       lowup, 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 pro-
	      cessing 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 recipi-
	      ents' 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 noone-
	      hop.

       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 infor-
	      mation  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,  immedi-
       ately  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 char-
	  acter 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 sup-
       pressed 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 auto-
       print 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 infor-
       mational 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  out-
       folder.

       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 nor-
       mally. 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  mes-
       sage,  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 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 mes-
       sages 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 spec-
       ified 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-insensi-
       tive 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 val-
       ues. 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  inter-
       preter 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  com-
	      mand;  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 mes-
       sages 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 trans-
       lating 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-interac-
       tively, that wishes to communicate errors or results to a user. However, the  actual  for-
       mat, 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 incor-
       rect, 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  func-
       tion,  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  explic-
       itly  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 dramati-
       cally.

       Options to specify addresses as cc (carbon copy) or bcc (blind carbon copy)  were  consid-
       ered 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 unspeci-
       fied 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  satis-
       fied  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 dis-
       played 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 cur-
       rent  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 orig-
       inal Standard can be obtained online at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group			       2003					 MAILX(P)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 08:30 AM.