summaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2017/man1p/mailx.1p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2017/man1p/mailx.1p')
-rw-r--r--man-pages-posix-2017/man1p/mailx.1p3093
1 files changed, 3093 insertions, 0 deletions
diff --git a/man-pages-posix-2017/man1p/mailx.1p b/man-pages-posix-2017/man1p/mailx.1p
new file mode 100644
index 0000000..e3f8fd4
--- /dev/null
+++ b/man-pages-posix-2017/man1p/mailx.1p
@@ -0,0 +1,3093 @@
+'\" et
+.TH MAILX "1P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\"
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+.\"
+.SH NAME
+mailx
+\(em process messages
+.SH SYNOPSIS
+.SS "Send Mode"
+.sp
+.RS 4
+.nf
+
+mailx \fB[\fR-s \fIsubject\fB]\fI address\fR...
+.fi
+.P
+.RE
+.SS "Receive Mode"
+.sp
+.RS 4
+.nf
+
+mailx -e
+.P
+mailx \fB[\fR-HiNn\fB] [\fR-F\fB] [\fR-u \fIuser\fB]\fR
+.P
+mailx -f \fB[\fR-HiNn\fB] [\fR-F\fB] [\fIfile\fB]\fR
+.fi
+.P
+.RE
+.SH DESCRIPTION
+The
+.IR mailx
+utility provides a message sending and receiving facility. It has two
+major modes, selected by the options used: Send Mode and Receive
+Mode.
+.P
+On systems that do not support the User Portability Utilities option,
+an application using
+.IR 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>
+(\c
+.BR '\(ti' ),
+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.
+.P
+On systems supporting the User Portability Utilities option,
+mail-receiving capabilities and other interactive features, Receive
+Mode, described below, also shall be enabled.
+.SS "Send Mode"
+.P
+Send Mode can be used by applications or users to send messages from
+the text in standard input.
+.SS "\*!Receive Mode"
+.P
+Receive Mode is more oriented towards interactive users. Mail can be read
+and sent in this interactive mode.
+.P
+When reading mail,
+.IR mailx
+provides commands to facilitate saving, deleting, and responding to
+messages. When sending mail,
+.IR mailx
+allows editing, reviewing, and other modification of the message as it
+is entered.
+.P
+Incoming mail shall be stored in one or more unspecified locations for
+each user, collectively called the system
+.IR mailbox
+for that user. When
+.IR 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
+.BR mbox
+and is normally located in the directory referred to by the
+.IR HOME
+environment variable (see
+.IR MBOX
+in the ENVIRONMENT VARIABLES section for a description of this file).
+Messages shall remain in this file until explicitly removed. When the
+.BR \-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\(emsystem mailbox,
+.BR mbox ,
+and secondary file\(emare referred to in this section as simply
+``mailboxes'', unless more specific identification is required.
+.SH OPTIONS
+The
+.IR mailx
+utility shall conform to the Base Definitions volume of POSIX.1\(hy2017,
+.IR "Section 12.2" ", " "Utility Syntax Guidelines".
+.P
+The following options shall be supported. (Only the
+.BR \-s
+.IR subject
+option shall be required on all systems. The other options are required
+only on systems supporting the User Portability Utilities option.)
+.IP "\fB\-e\fP" 10
+Test for the presence of mail in the system mailbox. The
+.IR mailx
+utility shall write nothing and exit with a successful return code if
+there is mail to read.
+.IP "\fB\-f\fP" 10
+Read messages from the file named by the
+.IR file
+operand instead of the system mailbox. (See also
+.BR folder .)
+If no
+.IR file
+operand is specified, read messages from
+.BR mbox
+instead of the system mailbox.
+.IP "\fB\-F\fP" 10
+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
+.BR To:
+line in the mail header. Overrides the
+.BR record
+variable, if set (see
+.IR "Internal Variables in mailx").
+.IP "\fB\-H\fP" 10
+Write a header summary only.
+.IP "\fB\-i\fP" 10
+Ignore interrupts. (See also
+.BR ignore .)
+.IP "\fB\-n\fP" 10
+Do not initialize from the system default start-up file. See the
+EXTENDED DESCRIPTION section.
+.IP "\fB\-N\fP" 10
+Do not write an initial header summary.
+.IP "\fB\-s\0\fIsubject\fR" 10
+Set the
+.BR Subject
+header field to
+.IR subject .
+All characters in the
+.IR subject
+string shall appear in the delivered message. The results are
+unspecified if
+.IR subject
+is longer than
+{LINE_MAX}
+\- 10 bytes or contains a
+<newline>.
+.IP "\fB\-u\0\fIuser\fR" 10
+Read the system mailbox of the login name
+.IR user .
+This shall only be successful if the invoking user has appropriate
+privileges to read the system mailbox of that user.
+.SH OPERANDS
+The following operands shall be supported:
+.IP "\fIaddress\fR" 10
+Addressee of message. When
+.BR \-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
+.BR alias
+under
+.IR "Commands in mailx")
+that may modify the form of
+.IR address
+before it is passed to the mail delivery system.
+.IP "\fIfile\fR" 10
+A pathname of a file to be read instead of the system mailbox when
+.BR \-f
+is specified. The meaning of the
+.IR file
+option-argument shall be affected by the contents of the
+.BR folder
+internal variable; see
+.IR "Internal Variables in mailx".
+.SH STDIN
+When
+.IR 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
+.IR stdin .
+If the User Portability Utilities option is not supported, standard
+input lines beginning with a
+<tilde>
+(\c
+.BR '\(ti' )
+character produce unspecified results.
+.P
+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>
+(\c
+.BR '\(ti' ))
+shall affect processing as described in
+.IR "Command Escapes in mailx".
+.SH "INPUT FILES"
+When
+.IR mailx
+is used as described by this volume of POSIX.1\(hy2017, the
+.IR file
+option-argument (see the
+.BR \-f
+option) and the
+.BR 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.
+.SH "ENVIRONMENT VARIABLES"
+Some of the functionality described in this section shall be provided on
+implementations that support the User Portability Utilities option
+as described in the text, and is not further shaded for this option.
+.P
+The following environment variables shall affect the execution of
+.IR mailx :
+.IP "\fIDEAD\fP" 10
+Determine the pathname of the file in which to save partial messages in
+case of interrupts or delivery errors. The default shall be
+.BR dead.letter
+in the directory named by the
+.IR HOME
+variable. The behavior of
+.IR mailx
+in saving partial messages is unspecified if the User Portability
+Utilities option is not supported and
+.IR DEAD
+is not defined with the value
+.BR /dev/null .
+.IP "\fIEDITOR\fP" 10
+Determine the name of a utility to invoke when the
+.BR edit
+(see
+.IR "Commands in mailx")
+or
+.BR ~e
+(see
+.IR "Command Escapes in mailx")
+command is used. The default editor is unspecified.
+On XSI-conformant systems it is
+.IR ed .
+The effects of this variable are unspecified if the User Portability
+Utilities option is not supported.
+.IP "\fIHOME\fP" 10
+Determine the pathname of the user's home directory.
+.IP "\fILANG\fP" 10
+Provide a default value for the internationalization variables that are
+unset or null. (See the Base Definitions volume of POSIX.1\(hy2017,
+.IR "Section 8.2" ", " "Internationalization Variables"
+for the precedence of internationalization variables used to determine
+the values of locale categories.)
+.IP "\fILC_ALL\fP" 10
+If set to a non-empty string value, override the values of all the
+other internationalization variables.
+.IP "\fILC_CTYPE\fP" 10
+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.
+.IP "\fILC_TIME\fP" 10
+This variable may determine the format and contents of the date and
+time strings written by
+.IR mailx .
+This volume of POSIX.1\(hy2017 specifies the effects of this variable only for systems
+supporting the User Portability Utilities option.
+.IP "\fILC_MESSAGES\fP" 10
+.br
+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.
+.IP "\fILISTER\fP" 10
+Determine a string representing the command for writing the contents of
+the
+.BR folder
+directory to standard output when the
+.BR folders
+command is given (see
+.BR folders
+in
+.IR "Commands in mailx").
+Any string acceptable as a
+.IR command_string
+operand to the
+.IR sh
+.BR \-c
+command shall be valid. If this variable is null or not set, the output
+command shall be
+.IR ls .
+The effects of this variable are unspecified if the User Portability
+Utilities option is not supported.
+.IP "\fIMAILRC\fP" 10
+Determine the pathname of the user start-up file. The default shall be
+.BR .mailrc
+in the directory referred to by the
+.IR HOME
+environment variable. The behavior of
+.IR mailx
+is unspecified if the User Portability Utilities option is not
+supported and
+.IR MAILRC
+is not defined with the value
+.BR /dev/null .
+.IP "\fIMBOX\fP" 10
+Determine a pathname of the file to save messages from the system
+mailbox that have been read. The
+.BR exit
+command shall override this function, as shall saving the message
+explicitly in another file. The default shall be
+.BR mbox
+in the directory named by the
+.IR HOME
+variable. The effects of this variable are unspecified if the User
+Portability Utilities option is not supported.
+.IP "\fINLSPATH\fP" 10
+Determine the location of message catalogs for the processing of
+.IR LC_MESSAGES .
+.IP "\fIPAGER\fP" 10
+Determine a string representing an output filtering or pagination
+command for writing the output to the terminal. Any string acceptable
+as a
+.IR command_string
+operand to the
+.IR sh
+.BR \-c
+command shall be valid. When standard output is a terminal device, the
+message output shall be piped through the command if the
+.IR mailx
+internal variable
+.BR crt
+is set to a value less the number of lines in the message; see
+.IR "Internal Variables in mailx".
+If the
+.IR PAGER
+variable is null or not set, the paginator shall be either
+.IR 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.
+.IP "\fISHELL\fP" 10
+Determine the name of a preferred command interpreter. The default
+shall be
+.IR sh .
+The effects of this variable are unspecified if the User Portability
+Utilities option is not supported.
+.IP "\fITERM\fP" 10
+If the internal variable
+.BR 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
+.IR 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.
+.IP "\fITZ\fP" 10
+This variable may determine the timezone used to calculate date and
+time strings written by
+.IR mailx .
+If
+.IR TZ
+is unset or null, an unspecified default timezone shall be used.
+.IP "\fIVISUAL\fP" 10
+Determine a pathname of a utility to invoke when the
+.BR visual
+command (see
+.IR "Commands in mailx")
+or
+.BR ~v
+command-escape (see
+.IR "Command Escapes in mailx")
+is used. If this variable is null or not set, the full-screen editor
+shall be
+.IR vi .
+The effects of this variable are unspecified if the User Portability
+Utilities option is not supported.
+.SH "ASYNCHRONOUS EVENTS"
+When
+.IR mailx
+is in Send Mode and standard input is not a terminal, it shall take the
+standard action for all signals.
+.P
+In
+Receive Mode, or in
+Send Mode when standard input is a terminal, if a SIGINT signal
+is received:
+.IP " 1." 4
+If in command mode, the current command, if there is one, shall be
+aborted, and a command-mode prompt shall be written.
+.IP " 2." 4
+If in input mode:
+.RS 4
+.IP " a." 4
+If
+.BR ignore
+is set,
+.IR mailx
+shall write
+.BR \(dq@\en\(dq ,
+discard the current input line, and continue processing, bypassing the
+message-abort mechanism described in item 2b.
+.IP " b." 4
+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,
+.IR mailx
+shall terminate with a non-zero status.
+.RS 4
+.P
+In both cases listed in item b, if the message is not empty:
+.IP " i." 5
+If
+.BR save
+is enabled and the file named by
+.IR DEAD
+can be created, the message shall be written to the file named by
+.IR DEAD .
+If the file exists, the message shall be written to replace the
+contents of the file.
+.IP ii. 5
+If
+.BR save
+is not enabled, or
+the file named by
+.IR DEAD
+cannot be created, the message shall not be saved.
+.RE
+.RE
+.P
+The
+.IR mailx
+utility shall take the standard action for all other signals.
+.SH STDOUT
+In command and input modes, all output, including prompts and messages,
+shall be written to standard output.
+.SH STDERR
+The standard error shall be used only for diagnostic messages.
+.SH "OUTPUT FILES"
+Various
+.IR mailx
+commands and command escapes can create or add to files, including the
+.BR mbox ,
+the dead-letter file, and secondary mailboxes. When
+.IR mailx
+is used as described in this volume of POSIX.1\(hy2017, these files shall be text files,
+formatted as follows:
+.sp
+.RS
+\fRline beginning with \fBFrom<space>
+.br
+[\fRone or more \fIheader-lines\fR; see
+.IR "Commands in mailx"]
+.br
+\fIempty line
+.br
+\fB[\fRzero or more \fIbody lines
+.br
+\fIempty line]
+.br
+\fB[\fRline beginning with \fBFrom<space>...]\fR
+.RE
+.P
+where each message begins with the
+.BR "From\0<space>"
+line shown, preceded by the beginning of the file or an empty line.
+(The
+.BR "From <space>"
+line is considered to be part of the message header, but not one of the
+header-lines referred to in
+.IR "Commands in mailx";
+thus, it shall not be affected by the
+.BR discard ,
+.BR ignore ,
+or
+.BR retain
+commands.) The formats of the remainder of the
+.BR "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
+.BR "From <space>" ;
+.IR mailx
+shall modify any such user-entered message body lines (following an
+empty line and beginning with
+.BR "From <space>" )
+by adding one or more characters to precede the
+.BR 'F' ;
+it may add these characters to
+.BR "From <space>"
+lines that are not preceded by an empty line.
+.P
+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
+.IR mailx .
+.SH "EXTENDED DESCRIPTION"
+The functionality in the entire EXTENDED DESCRIPTION section shall
+be provided on implementations supporting the User Portability
+Utilities option.
+The functionality described in this section shall be provided on
+implementations that support the User Portability Utilities option
+(and the rest of this section is not further shaded for this option).
+.P
+The
+.IR mailx
+utility need not 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.
+.P
+When
+.IR mailx
+is invoked using one of the Receive Mode synopsis forms, it shall write
+a page of header-summary lines (if
+.BR \-N
+was not specified and there are messages, see below), followed by a
+prompt indicating that
+.IR mailx
+can accept regular commands (see
+.IR "Commands in mailx");
+this is termed
+.IR "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
+.IR 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
+.BR asksub
+variable is set, a prompt for the subject shall be written. At this
+point,
+.IR 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
+.BR reply ,
+.BR Reply ,
+.BR followup ,
+.BR Followup ,
+or
+.BR 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>
+(\c
+.BR '\(ti' ))
+followed by a single command letter and optional arguments. See
+.IR "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
+.BR reply ,
+.BR Reply ,
+.BR followup ,
+.BR Followup ,
+or
+.BR mail .
+.TP 10
+.BR Note:
+For notational convenience, this section uses the default escape
+character,
+<tilde>,
+in all references and examples.
+.P
+.P
+At any time, the behavior of
+.IR 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
+.IR mailx
+.BR set
+and
+.BR unset
+commands.
+.P
+Regular commands are of the form:
+.sp
+.RS 4
+.nf
+
+\fB[\fIcommand\fB] [\fImsglist\fB] [\fIargument \fR...\fB]
+.fi
+.P
+.RE
+.P
+If no
+.IR command
+is specified in command mode,
+.BR 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.
+.P
+In command mode, each message shall be assigned a sequential number,
+starting with 1.
+.P
+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
+.IR mailx .
+There is at any time the notion of a
+.IR current
+message, which shall be marked by a
+.BR '>'
+at the beginning of a line in the header summary. When
+.IR 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 (\fImsglist\fP) or an optional single message (\fImessage\fP)
+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:
+.IP "\fInew\fR" 10
+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
+.IR new
+when
+.IR mailx
+quits shall be retained in the system mailbox.
+.IP "\fIunread\fR" 10
+The message has been present in the system mailbox for more than one
+invocation of
+.IR mailx
+and has not been viewed by the user or moved to any other state.
+Messages in state
+.IR unread
+when
+.IR mailx
+quits shall be retained in the system mailbox.
+.IP "\fIread\fR" 10
+The message has been processed by one of the following commands:
+.BR ~f ,
+.BR ~m ,
+.BR ~F ,
+.BR ~M ,
+.BR copy ,
+.BR mbox ,
+.BR next ,
+.BR pipe ,
+.BR print ,
+.BR Print ,
+.BR top ,
+.BR type ,
+.BR Type ,
+.BR undelete .
+The
+.BR delete ,
+.BR dp ,
+and
+.BR dt
+commands may also cause the next message to be marked as
+.IR read ,
+depending on the value of the
+.BR autoprint
+variable. Messages that are in the system mailbox and in state
+.IR read
+when
+.IR mailx
+quits shall be saved in the
+.BR mbox ,
+unless the internal variable
+.BR hold
+was set. Messages that are in the
+.BR mbox
+or in a secondary mailbox and in state
+.IR read
+when
+.IR mailx
+quits shall be retained in their current location.
+.IP "\fIdeleted\fR" 10
+The message has been processed by one of the following commands:
+.BR delete ,
+.BR dp ,
+.BR dt .
+Messages in state
+.IR deleted
+when
+.IR mailx
+quits shall be deleted. Deleted messages shall be ignored until
+.IR mailx
+quits or changes mailboxes or they are specified to the undelete
+command; for example, the message specification /\c
+.IR 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
+.BR undelete .
+No deleted message or deleted message header shall be displayed by any
+.IR mailx
+command other than
+.BR undelete .
+.IP "\fIpreserved\fR" 10
+The message has been processed by a
+.BR preserve
+command. When
+.IR mailx
+quits, the message shall be retained in its current location.
+.IP "\fIsaved\fR" 10
+The message has been processed by one of the following commands:
+.BR save
+or
+.BR write .
+If the current mailbox is the system mailbox, and the internal variable
+.BR keepsave
+is set, messages in the state saved shall be saved to the file
+designated by the
+.IR MBOX
+variable (see the ENVIRONMENT VARIABLES section). If the current
+mailbox is the system mailbox, messages in the state
+.IR saved
+shall be deleted from the current mailbox, when the
+.BR quit
+or
+.BR file
+command is used to exit the current mailbox.
+.P
+The header-summary line for each message shall indicate the state of
+the message.
+.P
+Many commands take an optional list of messages (\c
+.IR msglist )
+on which to operate, which defaults to the current message. A
+.IR msglist
+is a list of message specifications separated by
+<blank>
+characters, which can include:
+.IP "\fRn\fR" 8
+Message number
+.IR n .
+.IP "\fR+\fR" 8
+The next undeleted message, or the next deleted message for the
+.BR undelete
+command.
+.IP "\fR\-\fR" 8
+The next previous undeleted message, or the next previous deleted
+message for the
+.BR undelete
+command.
+.IP "\fR.\fR" 8
+The current message.
+.IP "\fR^\fR" 8
+The first undeleted message, or the first deleted message for the
+.BR undelete
+command.
+.IP "\fR$\fR" 8
+The last message.
+.IP "\fR*\fR" 8
+All messages.
+.IP "\fRn\(hym\fR" 8
+An inclusive range of message numbers.
+.IP "\fIaddress\fR" 8
+All messages from
+.IR address ;
+any address as shown in a header summary shall be matchable in this
+form.
+.IP "/\fIstring\fR" 8
+All messages with
+.IR string
+in the subject line (case ignored).
+.IP "\fR:c\fR" 8
+All messages of type
+.IR c ,
+where
+.IR c
+shall be one of:
+.RS 8
+.IP "\fRd\fR" 6
+Deleted messages.
+.IP "\fRn\fR" 6
+New messages.
+.IP "\fRo\fR" 6
+Old messages (any not in state
+.IR read
+or
+.IR new ).
+.IP "\fRr\fR" 6
+Read messages.
+.IP "\fRu\fR" 6
+Unread messages.
+.RE
+.P
+Other commands take an optional message (\c
+.IR message )
+on which to operate, which defaults to the current message. All of the
+forms allowed for
+.IR msglist
+are also allowed for
+.IR message ,
+but if more than one message is specified, only the first shall be
+operated on.
+.P
+Other arguments are usually arbitrary strings whose usage depends on
+the command involved.
+.SS "Start-Up in mailx"
+.P
+At start-up time,
+.IR mailx
+shall take the following steps in sequence:
+.IP " 1." 4
+Establish all variables at their stated default values.
+.IP " 2." 4
+Process command line options, overriding corresponding default values.
+.IP " 3." 4
+Import any of the
+.IR DEAD ,
+.IR EDITOR ,
+.IR MBOX ,
+.IR LISTER ,
+.IR PAGER ,
+.IR SHELL ,
+or
+.IR VISUAL
+variables that are present in the environment, overriding the
+corresponding default values.
+.IP " 4." 4
+Read
+.IR mailx
+commands from an unspecified system start-up file, unless the
+.BR \-n
+option is given, to initialize any internal
+.IR mailx
+variables and aliases.
+.IP " 5." 4
+Process the user start-up file of
+.IR mailx
+commands named in the user
+.IR MAILRC
+variable.
+.P
+Most regular
+.IR 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 a start-up file:
+.BR ! ,
+.BR edit ,
+.BR hold ,
+.BR mail ,
+.BR preserve ,
+.BR reply ,
+.BR Reply ,
+.BR shell ,
+.BR visual ,
+.BR Copy ,
+.BR followup ,
+and
+.BR Followup .
+Any errors in a start-up file shall either cause
+.IR 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 file.
+.P
+A blank line in a start-up file shall be ignored.
+.SS "Internal Variables in mailx"
+.P
+The following variables are internal
+.IR mailx
+variables. Each internal variable can be set via the
+.IR mailx
+.BR set
+command at any time. The
+.BR unset
+and
+.BR "set\0no"
+.IR name
+commands can be used to erase variables.
+.P
+In the following list, variables shown as:
+.sp
+.RS 4
+.nf
+
+variable
+.fi
+.P
+.RE
+.P
+represent Boolean values. Variables shown as:
+.sp
+.RS 4
+.nf
+
+variable=\fIvalue\fP
+.fi
+.P
+.RE
+.P
+shall be assigned string or numeric values. For string values, the
+rules in
+.IR "Commands in mailx"
+concerning filenames and quoting shall also apply.
+.P
+The defaults specified here may be changed by the unspecified system
+start-up file unless the user specifies the
+.BR \-n
+option.
+.IP "\fBallnet\fP" 10
+All network names whose login name components match shall be treated as
+identical. This shall cause the
+.IR msglist
+message specifications to behave similarly. The default shall be
+.BR noallnet .
+See also the
+.BR alternates
+command and the
+.BR metoo
+variable.
+.IP "\fBappend\fR" 10
+Append messages to the end of the
+.BR mbox
+file upon termination instead of placing them at the beginning. The
+default shall be
+.BR noappend .
+This variable shall not affect the
+.BR save
+command when saving to
+.BR mbox .
+.IP "\fBask\fR,\0\fBasksub\fR" 10
+Prompt for a subject line on outgoing mail if one is not specified on
+the command line with the
+.BR \-s
+option. The
+.BR ask
+and
+.BR asksub
+forms are synonyms; the system shall refer to
+.BR asksub
+and
+.BR noasksub
+in its messages, but shall accept
+.BR ask
+and
+.BR noask
+as user input to mean
+.BR asksub
+and
+.BR noasksub .
+It shall not be possible to set both
+.BR ask
+and
+.BR noasksub ,
+or
+.BR noask
+and
+.BR asksub .
+The default shall be
+.BR asksub ,
+but no prompting shall be done if standard input is not a terminal.
+.IP "\fBaskbcc\fR" 10
+Prompt for the blind copy list. The default shall be
+.BR noaskbcc .
+.IP "\fBaskcc\fR" 10
+Prompt for the copy list. The default shall be
+.BR noaskcc .
+.IP "\fBautoprint\fR" 10
+Enable automatic writing of messages after
+.BR delete
+and
+.BR undelete
+commands. The default shall be
+.BR noautoprint .
+.IP "\fBbang\fR" 10
+Enable the special-case treatment of
+<exclamation-mark>
+characters (\c
+.BR '!' )
+in escape command lines; see the
+.BR escape
+command and
+.IR "Command Escapes in mailx".
+The default shall be
+.BR nobang ,
+disabling the expansion of
+.BR '!'
+in the
+.IR command
+argument to the
+.BR ~!
+command and the
+.BR ~<! \c
+.IR command
+escape.
+.IP "\fBcmd\fR=\fIcommand\fR" 10
+.br
+Set the default command to be invoked by the
+.BR pipe
+command. The default shall be
+.BR nocmd .
+.IP "\fBcrt\fR=\fInumber\fR" 10
+Pipe messages having more than
+.IR number
+lines through the command specified by the value of the
+.IR PAGER
+variable. The default shall be
+.BR nocrt .
+If it is set to null, the value used is implementation-defined.
+.IP "\fBdebug\fR" 10
+Enable verbose diagnostics for debugging. Messages are not delivered.
+The default shall be
+.BR nodebug .
+.IP "\fBdot\fR" 10
+When
+.BR 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
+.BR nodot .
+If
+.BR ignoreeof
+is set (see below), a setting of
+.BR nodot
+shall be ignored and the
+<period>
+is the only method to terminate input mode.
+.IP "\fBescape\fR=\fIc\fR" 10
+Set the command escape character to be the character
+.BR 'c' .
+By default, the command escape character shall be
+<tilde>.
+If
+.BR escape
+is unset,
+<tilde>
+shall be used; if it is set to null, command escaping shall be disabled.
+.IP "\fBflipr\fR" 10
+Reverse the meanings of the
+.BR R
+and
+.BR r
+commands. The default shall be
+.BR noflipr .
+.IP "\fBfolder\fR=\fIdirectory\fR" 10
+.br
+The default directory for saving mail files. User-specified filenames
+beginning with a
+<plus-sign>
+(\c
+.BR '\(pl' )
+shall be expanded by preceding the filename with this directory name
+to obtain the real pathname. If
+.IR directory
+does not start with a
+<slash>
+(\c
+.BR '/' ),
+the contents of
+.IR HOME
+shall be prefixed to it. The default shall be
+.BR nofolder .
+If
+.BR folder
+is unset or set to null, user-specified filenames beginning with
+.BR '\(pl'
+shall refer to files in the current directory that begin with the
+literal
+.BR '\(pl'
+character. See also
+.BR outfolder
+below. The
+.BR folder
+value need not affect the processing of the files named in
+.IR MBOX
+and
+.IR DEAD .
+.IP "\fBheader\fR" 10
+Enable writing of the header summary when entering
+.IR mailx
+in Receive Mode. The default shall be
+.BR header .
+.IP "\fBhold\fR" 10
+Preserve all messages that are read in the system mailbox instead of
+putting them in the
+.BR mbox
+save file. The default shall be
+.BR nohold .
+.IP "\fBignore\fR" 10
+Ignore interrupts while entering messages. The default shall be
+.BR noignore .
+.IP "\fBignoreeof\fR" 10
+Ignore normal end-of-file during message input. Input can be
+terminated only by entering a
+<period>
+(\c
+.BR '.' )
+on a line by itself or by the
+.BR ~.
+command escape. The default shall be
+.BR noignoreeof .
+See also
+.BR dot
+above.
+.IP "\fBindentprefix\fR=\fIstring\fR" 10
+.br
+A string that shall be added as a prefix to each line that is inserted
+into the message by the
+.BR ~m
+command escape. This variable shall default to one
+<tab>.
+.IP "\fBkeep\fR" 10
+When a system mailbox, secondary mailbox, or
+.BR mbox
+is empty, truncate it to zero length instead of removing it. The
+default shall be
+.BR nokeep .
+.IP "\fBkeepsave\fR" 10
+Keep the messages that have been saved from the system mailbox into
+other files in the file designated by the variable
+.IR MBOX ,
+instead of deleting them. The default shall be
+.BR nokeepsave .
+.IP "\fBmetoo\fR" 10
+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
+.BR nometoo .
+.IP "\fBonehop\fR" 10
+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
+.BR noonehop .
+.IP "\fBoutfolder\fR" 10
+Cause the files used to record outgoing messages to be located in the
+directory specified by the
+.BR folder
+variable unless the pathname is absolute. The default shall be
+.BR nooutfolder .
+See the
+.BR record
+variable.
+.IP "\fBpage\fR" 10
+Insert a
+<form-feed>
+after each message sent through the pipe created by the
+.BR pipe
+command. The default shall be
+.BR nopage .
+.IP "\fBprompt\fR=\fIstring\fR" 10
+.br
+Set the command-mode prompt to
+.IR string .
+If
+.IR string
+is null or if
+.BR noprompt
+is set, no prompting shall occur. The default shall be to prompt with
+the string
+.BR \(dq?\0\(dq .
+.IP "\fBquiet\fR" 10
+Refrain from writing the opening message and version when entering
+.IR mailx .
+The default shall be
+.BR noquiet .
+.IP "\fBrecord\fR=\fIfile\fR" 10
+Record all outgoing mail in the file with the pathname
+.IR file .
+The default shall be
+.BR norecord .
+See also
+.BR outfolder
+above.
+.IP "\fBsave\fR" 10
+Enable saving of messages in the dead-letter file on interrupt or
+delivery error. See the variable
+.IR DEAD
+for the location of the dead-letter file. The default shall be
+.BR save .
+.IP "\fBscreen\fR=\fInumber\fR" 10
+.br
+Set the number of lines in a screenful of headers for the
+.BR headers
+and
+.BR z
+commands. If
+.BR screen
+is not specified, a value based on the terminal type identified by the
+.IR TERM
+environment variable, the window size, the baud rate, or some
+combination of these shall be used.
+.IP "\fBsendwait\fR" 10
+Wait for the background mailer to finish before returning. The default
+shall be
+.BR nosendwait .
+.IP "\fBshowto\fR" 10
+When the sender of the message was the user who is invoking
+.IR mailx ,
+write the information from the
+.BR To:
+line instead of the
+.BR From:
+line in the header summary. The default shall be
+.BR noshowto .
+.IP "\fBsign\fR=\fIstring\fR" 10
+Set the variable inserted into the text of a message when the
+.BR ~a
+command escape is given. The default shall be
+.BR nosign .
+The character sequences
+.BR '\et'
+and
+.BR '\en'
+shall be recognized in the variable as
+<tab>
+and
+<newline>
+characters, respectively. (See also
+.BR ~i
+in
+.IR "Command Escapes in mailx".)
+.IP "\fBSign\fR=\fIstring\fR" 10
+Set the variable inserted into the text of a message when the
+.BR ~A
+command escape is given. The default shall be
+.BR noSign .
+The character sequences
+.BR '\et'
+and
+.BR '\en'
+shall be recognized in the variable as
+<tab>
+and
+<newline>
+characters, respectively.
+.IP "\fBtoplines\fR=\fInumber\fR" 10
+.br
+Set the number of lines of the message to write with the
+.BR top
+command. The default shall be 5.
+.SS "Commands in mailx"
+.P
+The following
+.IR 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.
+.P
+For each of the commands listed below, the command can be entered as
+the abbreviation (those characters in the Synopsis command word
+preceding the
+.BR '[' ),
+the full command (all characters shown for the command word, omitting
+the
+.BR '['
+and
+.BR ']' ),
+or any truncation of the full command down to the abbreviation. For
+example, the
+.BR exit
+command (shown as \fBex[it]\fR in the Synopsis) can be entered as
+.BR ex ,
+.BR exi ,
+or
+.BR exit .
+.P
+The arguments to commands can be quoted, using the following methods:
+.IP " *" 4
+An argument can be enclosed between paired double-quotes (\c
+.BR \(dq\^\(dq )
+or single-quotes (\c
+.BR '\^' );
+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 \fIvice versa\fP. These special properties of the
+<quotation-mark>
+characters shall occur only when they are paired at the beginning and
+end of the argument.
+.IP " *" 4
+A
+<backslash>
+outside of the enclosing quotes shall be discarded and the following
+character treated literally as part of the argument.
+.IP " *" 4
+An unquoted
+<backslash>
+at the end of a command line shall be discarded and the next line shall
+continue the command.
+.br
+.P
+Filenames, where expected, shall be subjected to the following
+transformations, in sequence:
+.IP " *" 4
+If the filename begins with an unquoted
+<plus-sign>,
+and the
+.BR folder
+variable is defined (see the
+.BR folder
+variable), the
+<plus-sign>
+shall be replaced by the value of the
+.BR folder
+variable followed by a
+<slash>.
+If the
+.BR folder
+variable is unset or is set to null, the filename shall be unchanged.
+.IP " *" 4
+Shell word expansions shall be applied to the filename (see
+.IR "Section 2.6" ", " "Word Expansions").
+If more than a single pathname results from this expansion and the
+command is expecting one file, the effects are unspecified.
+.SS "Declare Aliases"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+a\fB[\fRlias\fB] [\fIalias \fB[\fIaddress\fR...\fB]]\fR
+g\fB[\fRroup\fB] [\fIalias \fB[\fIaddress\fR...\fB]]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Add the given addresses to the alias specified by
+.IR alias .
+The names shall be substituted when
+.IR alias
+is used as a recipient address specified by the user in an outgoing
+message (that is, other recipients addressed indirectly through the
+.BR 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
+.BR hlj
+is an alias,
+.IR 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
+.IR 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.
+.SS "Declare Alternatives"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+alt\fB[\fRernates\fB] \fIname\fR...
+.fi
+.P
+.RE
+.RE
+.P
+(See also the
+.BR metoo
+variable.) 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,
+.BR alternates
+shall write the current list of alternative names.
+.SS "Change Current Directory"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+cd \fB[\fIdirectory\fB]\fR
+ch\fB[\fRdir\fB] [\fIdirectory\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Change directory. If
+.IR directory
+is not specified, the contents of
+.IR HOME
+shall be used.
+.SS "Copy Messages"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+c\fB[\fRopy\fB] [\fIfile\fB]\fR
+c\fB[\fRopy\fB] [\fImsglist\fB] \fIfile\fR
+C\fB[\fRopy\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Copy messages to the file named by the pathname
+.IR file
+without marking the messages as saved. Otherwise, it shall be
+equivalent to the
+.BR save
+command.
+.P
+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
+.BR Save
+command.
+.SS "Delete Messages"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+d\fB[\fRelete\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Mark messages for deletion from the mailbox. The deletions shall not
+occur until
+.IR mailx
+quits (see the
+.BR quit
+command) or changes mailboxes (see the
+.BR folder
+command). If
+.BR autoprint
+is set and there are messages remaining after the
+.BR delete
+command, the current message shall be written as described for the
+.BR print
+command (see the
+.BR print
+command); otherwise, the
+.IR mailx
+prompt shall be written.
+.SS "Discard Header Fields"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+di\fB[\fRscard\fB] [\fIheader-field\fR...\fB]\fR
+ig\fB[\fRnore\fB] [\fIheader-field\fR...\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Suppress the specified header fields when writing messages. Specified
+.IR header-fields
+shall be added to the list of suppressed header fields. Examples of
+header fields to ignore are
+.BR status
+and
+.BR cc .
+The fields shall be included when the message is saved. The
+.BR Print
+and
+.BR 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.
+.P
+If both
+.BR retain
+and
+.BR discard
+commands are given,
+.BR discard
+commands shall be ignored.
+.SS "Delete Messages and Display"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+dp \fB[\fImsglist\fB]\fR
+dt \fB[\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Delete the specified messages as described for the
+.BR delete
+command, except that the
+.BR 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
+.IR mailx
+prompt.
+.SS "Echo a String"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+ec\fB[\fRho\fB] \fIstring\fR ...
+.fi
+.P
+.RE
+.RE
+.P
+Echo the given strings, equivalent to the shell
+.IR echo
+utility.
+.SS "Edit Messages"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+e\fB[\fRdit\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Edit the given messages. The messages shall be placed in a temporary
+file and the utility named by the
+.IR EDITOR
+variable is invoked to edit each file in sequence. The default
+.IR EDITOR
+is unspecified.
+.P
+The
+.BR edit
+command does not modify the contents of those messages in the mailbox.
+.SS "Exit"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+ex\fB[\fRit\fB]\fR
+x\fB[\fRit\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Exit from
+.IR mailx
+without changing the mailbox. No messages shall be saved in the
+.BR mbox
+(see also
+.BR quit ).
+.SS "Change Folder"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+fi\fB[\fRle\fB] [\fIfile\fB]\fR
+fold\fB[\fRer\fB] [\fIfile\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Quit (see the
+.BR quit
+command) from the current file of messages and read in the file named
+by the pathname
+.IR file .
+If no argument is given, the name and status of the current mailbox
+shall be written.
+.P
+Several unquoted special characters shall be recognized when used as
+.IR file
+names, with the following substitutions:
+.IP "\fR%\fR" 8
+The system mailbox for the invoking user.
+.IP "\fR%\fIuser\fR" 8
+The system mailbox for
+.IR user .
+.IP "\fR#\fR" 8
+The previous file.
+.IP "\fR&\fR" 8
+The current
+.BR mbox .
+.IP "\fR+\fIfile\fR" 8
+The named file in the
+.BR folder
+directory. (See the
+.BR folder
+variable.)
+.P
+The default file shall be the current mailbox.
+.SS "Display List of Folders"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+\fRfolders\fR
+.fi
+.P
+.RE
+.RE
+.P
+Write the names of the files in the directory set by the
+.BR folder
+variable. The command specified by the
+.IR LISTER
+environment variable shall be used (see the ENVIRONMENT VARIABLES
+section).
+.SS "Follow Up Specified Messages"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+fo\fB[\fRllowup\fB] [\fImessage\fB]\fR
+F\fB[\fRollowup\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+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
+.BR save
+and
+.BR copy
+commands and
+.BR outfolder .
+.P
+In the capitalized form, respond to the first message in the
+.IR msglist ,
+sending the message to the author of each message in the
+.IR 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
+.BR Save
+and
+.BR Copy
+commands and
+.BR outfolder .
+.P
+Both forms shall override the
+.BR record
+variable, if set.
+.SS "Display Header Summary for Specified Messages"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+f\fB[\fRrom\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Write the header summary for the specified messages.
+.SS "Display Header Summary"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+h\fB[\fReaders\fB] [\fImessage\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Write the page of headers that includes the message specified. If the
+.IR message
+argument is not specified, the current message shall not change.
+However, if the
+.IR 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
+.BR screen
+variable sets the number of headers per page. See also the
+.BR z
+command.
+.SS "Help"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+hel\fB[\fRp\fB]\fR
+?
+.fi
+.P
+.RE
+.RE
+.P
+Write a summary of commands.
+.SS "Hold Messages"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+ho\fB[\fRld\fB] [\fImsglist\fB]\fR
+pre\fB[\fRserve\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Mark the messages in
+.IR msglist
+to be retained in the mailbox when
+.IR mailx
+terminates. This shall override any commands that might previously
+have marked the messages to be deleted. During the current invocation
+of
+.IR mailx ,
+only the
+.BR delete ,
+.BR dp ,
+or
+.BR dt
+commands shall remove the
+.IR preserve
+marking of a message.
+.SS "Execute Commands Conditionally"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+i\fB[\fRf\fB]\fR s|r
+\fImail-command\fRs
+el\fB[\fRse\fB]
+\fImail-command\fRs
+en\fB[\fRdif\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Execute commands conditionally, where
+.BR "if\0s"
+executes the following
+.IR mail-command s,
+up to an
+.BR else
+or
+.BR endif ,
+if the program is in Send Mode, and
+.BR "if\0r"
+shall cause the
+.IR mail-command s
+to be executed only in Receive Mode.
+.SS "List Available Commands"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+l\fB[\fRist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Write a list of all commands available. No explanation shall be
+given.
+.SS "Mail a Message"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+m\fB[\fRail\fB] \fIaddress\fR...
+.fi
+.P
+.RE
+.RE
+.P
+Mail a message to the specified addresses or aliases.
+.SS "Direct Messages to mbox"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+mb\fB[\fRox\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Arrange for the given messages to end up in the
+.BR mbox
+save file when
+.IR mailx
+terminates normally. See
+.IR MBOX .
+See also the
+.BR exit
+and
+.BR quit
+commands.
+.SS "Process Next Specified Message"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+n\fB[\fRext\fB] [\fImessage\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+If the current message has not been written (for example, by the
+.BR print
+command) since
+.IR mailx
+started or since any other message was the current message, behave as
+if the
+.BR 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
+.BR 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
+.IR mailx
+prompt. Should the current message location be the result of an
+immediately preceding
+.BR hold ,
+.BR mbox ,
+.BR preserve ,
+or
+.BR touch
+command,
+.BR next
+will act as if the current message has already been written.
+.SS "Pipe Message"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+pi\fB[\fRpe\fB] [[\fImsglist\fB] \fIcommand\fB]\fR
+| \fB[[\fImsglist\fB] \fIcommand\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Pipe the messages through the given
+.IR command
+by invoking the command interpreter specified by
+.IR SHELL
+with two arguments:
+.BR \-c
+and
+.IR command .
+(See also
+.IR sh
+.BR \-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
+.BR cmd
+variable. If the
+.BR page
+variable is set, a
+<form-feed>
+shall be inserted after each message.
+.SS "Display Message with Headers"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+P\fB[\fRrint\fB] [\fImsglist\fB]\fR
+T\fB[\fRype\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Write the specified messages, including all header lines, to standard
+output. Override suppression of lines by the
+.BR discard ,
+.BR ignore ,
+and
+.BR retain
+commands. If
+.BR crt
+is set, the messages longer than the number of lines specified by the
+.BR crt
+variable shall be paged through the command specified by the
+.IR PAGER
+environment variable.
+.SS "Display Message"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+p\fB[\fRrint\fB] [\fImsglist\fB]\fR
+t\fB[\fRype\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Write the specified messages to standard output. If
+.BR crt
+is set, the messages longer than the number of lines specified by the
+.BR crt
+variable shall be paged through the command specified by the
+.IR PAGER
+environment variable.
+.SS "Quit"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+q\fB[\fRuit\fB]
+\fIend-of-file\fR
+.fi
+.P
+.RE
+.RE
+.P
+Terminate
+.IR mailx ,
+storing messages that were read in
+.BR mbox
+(if the current mailbox is the system mailbox and unless
+.BR hold
+is set), deleting messages that have been explicitly saved (unless
+.BR keepsave
+is set), discarding messages that have been deleted, and saving all
+remaining messages in the mailbox.
+.SS "Reply to a Message List"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+R\fB[\fReply\fB] [\fImsglist\fB]\fR
+R\fB[\fRespond\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Mail a reply message to the sender of each message in the
+.IR msglist .
+The subject line shall be formed by concatenating
+.BR Re: \c
+<space>
+(unless it already begins with that string) and the subject from the
+first message. If
+.BR record
+is set to a filename, the response shall be saved at the end of that
+file.
+.P
+See also the
+.BR flipr
+variable.
+.SS "Reply to a Message"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+r\fB[\fReply\fB] [\fImessage\fB]\fR
+r\fB[\fRespond\fB] [\fImessage\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Mail a reply message to all recipients included in the header of the
+message. The subject line shall be formed by concatenating
+.BR Re: \c
+<space>
+(unless it already begins with that string) and the subject from the
+message. If
+.BR record
+is set to a filename, the response shall be saved at the end of that
+file.
+.P
+See also the
+.BR flipr
+variable.
+.SS "Retain Header Fields"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+ret\fB[\fRain\fB] [\fIheader-field\fR...\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Retain the specified header fields when writing messages. This command
+shall override all
+.BR discard
+and
+.BR 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.
+.SS "Save Messages"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+s\fB[\fRave\fB] [\fIfile\fB]\fR
+s\fB[\fRave\fB] [\fImsglist\fB] \fIfile\fR
+S\fB[\fRave\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Save the specified messages in the file named by the pathname
+.IR file ,
+or the
+.BR mbox
+if the
+.IR 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
+.IR saved ,
+and shall behave as specified in the description of the
+.IR saved
+state when the current mailbox is exited by the
+.BR quit
+or
+.BR file
+command.
+.P
+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
+.BR Copy ,
+.BR followup ,
+and
+.BR Followup
+commands and
+.BR outfolder
+variable.
+.SS "Set Variables"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+se\fB[\fRt\fB] [\fIname\fB[\fR=\fB[\fIstring\fB]] \fR...\fB] [\fIname\fR=\fInumber \fR...\fB] [\fRno\fIname \fR...\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Define one or more variables called
+.IR name .
+The variable can be given a null, string, or numeric value. Quoting and
+<backslash>-escapes
+can occur anywhere in
+.IR string ,
+as described previously, as if the
+.IR string
+portion of the argument were the entire argument. The forms
+.IR name
+and
+.IR name =
+shall be equivalent to
+.IR name =""
+for variables that take string values. The
+.BR set
+command without arguments shall write a list of all defined variables
+and their values. The
+.BR no
+.IR name
+form shall be equivalent to
+.BR unset
+.IR name .
+.SS "Invoke a Shell"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+sh\fB[\fRell\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Invoke an interactive command interpreter (see also
+.IR SHELL ).
+.SS "Display Message Size"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+si\fB[\fRze\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Write the size in bytes of each of the specified messages.
+.SS "Read mailx Commands From a File"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+so\fB[\fRurce\fB] \fIfile\fR
+.fi
+.P
+.RE
+.RE
+.P
+Read and execute commands from the file named by the pathname
+.IR file
+and return to command mode.
+.SS "Display Beginning of Messages"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+to\fB[\fRp\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Write the top few lines of each of the specified messages. If the
+.BR toplines
+variable is set, it is taken as the number of lines to write. The
+default shall be 5.
+.SS "Touch Messages"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+tou\fB[\fRch\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Touch the specified messages. If any message in
+.IR msglist
+is not specifically deleted nor saved in a file, it shall be placed in
+the
+.BR mbox
+upon normal termination. See
+.BR exit
+and
+.BR quit .
+.SS "Delete Aliases"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+una\fB[\fRlias\fB] [\fIalias\fB]\fR...
+.fi
+.P
+.RE
+.RE
+.P
+Delete the specified alias names. If a specified alias does not exist,
+the results are unspecified.
+.SS "Undelete Messages"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+u\fB[\fRndelete\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Change the state of the specified messages from deleted to read. If
+.BR autoprint
+is set, the last message of those restored shall be written. If
+.IR msglist
+is not specified, the message shall be selected as follows:
+.IP " *" 4
+If there are any deleted messages that follow the current message, the
+first of these shall be chosen.
+.IP " *" 4
+Otherwise, the last deleted message that also precedes the current
+message shall be chosen.
+.SS "Unset Variables"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+uns\fB[\fRet\fB] \fIname\fR...
+.fi
+.P
+.RE
+.RE
+.P
+Cause the specified variables to be erased.
+.SS "Edit Message with Full-Screen Editor"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+v\fB[\fRisual\fB] [\fImsglist\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Edit the given messages with a screen editor. Each message shall be
+placed in a temporary file, and the utility named by the
+.IR VISUAL
+variable shall be invoked to edit each file in sequence. The default
+editor shall be
+.IR vi .
+.P
+The
+.BR visual
+command does not modify the contents of those messages in the mailbox.
+.SS "Write Messages to a File"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+w\fB[\fRrite\fB] [\fImsglist\fB] \fIfile\fR
+.fi
+.P
+.RE
+.RE
+.P
+Write the given messages to the file specified by the pathname
+.IR file ,
+minus the message header. Otherwise, it shall be equivalent to the
+.BR save
+command.
+.SS "Scroll Header Display"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+z\fB[\fR+|-\fB]\fR
+.fi
+.P
+.RE
+.RE
+.P
+Scroll the header display forward (if
+.BR '\(pl'
+is specified or if no option is specified) or backward (if
+.BR '\-'
+is specified) one screenful. The number of headers written shall be
+set by the
+.BR screen
+variable.
+.SS "Invoke Shell Command"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+!\fIcommand\fR
+.fi
+.P
+.RE
+.RE
+.P
+Invoke the command interpreter specified by
+.IR SHELL
+with two arguments:
+.BR \-c
+and
+.IR command .
+(See also
+.IR sh
+.BR \-c .)
+If the
+.BR bang
+variable is set, each unescaped occurrence of
+.BR '!'
+in
+.IR command
+shall be replaced with the command executed by the previous
+.BR !
+command or
+.BR ~!
+command escape.
+.SS "Null Command"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+# \fIcomment\fR
+.fi
+.P
+.RE
+.RE
+.P
+This null command (comment) shall be ignored by
+.IR mailx .
+.SS "Display Current Message Number"
+.IP "\fISynopsis\fR:" 10
+.sp -1v
+.RS 10
+.sp
+.RS 4
+.nf
+
+=
+.fi
+.P
+.RE
+.RE
+.P
+Write the current message number.
+.SS "Command Escapes in mailx"
+.P
+The following commands can be entered only from input mode, by
+beginning a line with the escape character (by default,
+<tilde>
+(\c
+.BR '\(ti' )).
+See the
+.BR escape
+variable description for changing this special character. The format
+for the commands shall be:
+.sp
+.RS 4
+.nf
+
+<\fIescape-character\fR><\fIcommand-char\fR><\fIseparator\fR>\fB[\fR<\fIarguments\fR>\fB]\fR
+.fi
+.P
+.RE
+.P
+where the <\fIseparator\fP> can be zero or more
+<blank>
+characters.
+.P
+In the following descriptions, the application shall ensure that the
+argument
+.IR command
+(but not
+.IR mailx-command)
+is a shell command string. Any string acceptable to the command
+interpreter specified by the
+.IR SHELL
+variable when it is invoked as
+.IR SHELL
+.BR \-c
+.IR command_string
+shall be valid. The command can be presented as multiple arguments
+(that is, quoting is not required).
+.P
+Command escapes that are listed with
+.IR msglist
+or
+.IR mailx-command
+arguments are invalid in Send Mode and produce unspecified results.
+.IP "\fB~!\0\fIcommand\fR" 10
+Invoke the command interpreter specified by
+.IR SHELL
+with two arguments:
+.BR \-c
+and
+.IR command ;
+and then return to input mode. If the
+.BR bang
+variable is set, each unescaped occurrence of
+.BR '!'
+in
+.IR command
+shall be replaced with the command executed by the previous
+.BR !
+command or
+.BR ~!
+command escape.
+.IP "\fB~.\fR" 10
+Simulate end-of-file (terminate message input).
+.IP "\fB~:\0\fImailx-command\fR,\0\fB~_\0\fImailx-command\fR" 10
+.br
+Perform the command-level request.
+.IP "\fB~?\fR" 10
+Write a summary of command escapes.
+.IP "\fB~A\fR" 10
+This shall be equivalent to
+.BR "~i\0Sign" .
+.IP "\fB~a\fR" 10
+This shall be equivalent to
+.BR "~i\0sign" .
+.IP "\fB~b\0\fIname\fR.\|.\|." 10
+Add the
+.IR name s
+to the blind carbon copy (\c
+.BR Bcc )
+list.
+.IP "\fB~c\0\fIname\fR.\|.\|." 10
+Add the
+.IR name s
+to the carbon copy (\c
+.BR Cc )
+list.
+.IP "\fB~d\fR" 10
+Read in the dead-letter file. See
+.IR DEAD
+for a description of this file.
+.IP "\fB~e\fR" 10
+Invoke the editor, as specified by the
+.IR EDITOR
+environment variable, on the partial message.
+.IP "\fB~f\0[\fImsglist\fB]\fR" 10
+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
+.BR discard ,
+.BR ignore ,
+and
+.BR retain
+commands.
+.IP "\fB~F\0[\fImsglist\fB]\fR" 10
+This shall be the equivalent of the
+.BR ~f
+command escape, except that all headers shall be included in the
+message, regardless of previous
+.BR discard ,
+.BR ignore ,
+and
+.BR retain
+commands.
+.IP "\fB~h\fR" 10
+If standard input is a terminal, prompt for a
+.BR Subject
+line and the
+.BR To ,
+.BR Cc ,
+and
+.BR 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.
+.IP "\fB~i\0\fIstring\fR" 10
+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.
+.IP "\fB~m\0[\fImsglist\fB]\fR" 10
+Insert the specified messages into the message, prefixing non-empty
+lines with the string in the
+.BR indentprefix
+variable. This command escape also shall insert message headers into
+the message, with field selection affected by the
+.BR discard ,
+.BR ignore ,
+and
+.BR retain
+commands.
+.IP "\fB~M\0[\fImsglist\fB]\fR" 10
+This shall be the equivalent of the
+.BR ~m
+command escape, except that all headers shall be included in the
+message, regardless of previous
+.BR discard ,
+.BR ignore ,
+and
+.BR retain
+commands.
+.IP "\fB~p\fR" 10
+Write the message being entered. If the message is longer than
+.BR crt
+lines (see
+.IR "Internal Variables in mailx"),
+the output shall be paginated as described for the
+.IR PAGER
+variable.
+.IP "\fB~q\fR" 10
+Quit (see the
+.BR 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
+.IR DEAD
+for a description of this file.
+.IP "\fB~r\0\fIfile\fR,\0\fB~<\0\fIfile\fR,\0\fB~r\0!\fIcommand\fR,\0\fB~<\0!\fIcommand\fR" 10
+.br
+Read in the file specified by the pathname
+.IR file .
+If the argument begins with an
+<exclamation-mark>
+(\c
+.BR '!' ),
+the rest of the string shall be taken as an arbitrary system command;
+the command interpreter specified by
+.IR SHELL
+shall be invoked with two arguments:
+.BR \-c
+and
+.IR command .
+The standard output of
+.IR command
+shall be inserted into the message.
+.IP "\fB~s\0\fIstring\fR" 10
+Set the subject line to
+.IR string .
+.IP "\fB~t\0\fIname\fR.\|.\|." 10
+Add the given
+.IR name s
+to the
+.BR To
+list.
+.IP "\fB~v\fR" 10
+Invoke the full-screen editor, as specified by the
+.IR VISUAL
+environment variable, on the partial message.
+.IP "\fB~w\0\fIfile\fR" 10
+Write the partial message, without the header, onto the file named by
+the pathname
+.IR file .
+The file shall be created or the message shall be appended to it if the
+file exists.
+.IP "\fB~x\fR" 10
+Exit as with
+.BR ~q ,
+except the message shall not be saved in the dead-letter file.
+.IP "\fB~|\0\fIcommand\fR" 10
+Pipe the body of the message through the given
+.IR command
+by invoking the command interpreter specified by
+.IR SHELL
+with two arguments:
+.BR \-c
+and
+.IR command .
+If the
+.IR command
+returns a successful exit status, the standard output of the command
+shall replace the message. Otherwise, the message shall remain
+unchanged. If the
+.IR command
+fails, an error message giving the exit status shall be written.
+.br
+.SH "EXIT STATUS"
+When the
+.BR \-e
+option is specified, the following exit values are returned:
+.IP "\00" 6
+Mail was found.
+.IP >0 6
+Mail was not found or an error occurred.
+.P
+Otherwise, the following exit values are returned:
+.IP "\00" 6
+Successful completion; note that this status implies that all messages
+were
+.IR sent ,
+but it gives no assurances that any of them were actually
+.IR delivered .
+.IP >0 6
+An error occurred.
+.SH "CONSEQUENCES OF ERRORS"
+When in
+input mode (Receive Mode)
+or Send Mode:
+.IP " *" 4
+If an error is encountered processing an input line beginning
+with a
+<tilde>
+(\c
+.BR '\(ti' )
+character,
+(see
+.IR "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.
+.IP " *" 4
+Other errors shall prevent the sending of the message.
+.P
+When in command mode:
+.IP " *" 4
+Default.
+.LP
+.IR "The following sections are informative."
+.SH "APPLICATION USAGE"
+Delivery of messages to remote systems requires the existence of
+communication paths to such systems. These need not exist.
+.P
+Input lines are limited to
+{LINE_MAX}
+bytes, but mailers between systems may impose more severe line-length
+restrictions. This volume of POSIX.1\(hy2017 does not place any restrictions on the length of
+messages handled by
+.IR 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 100\|000 bytes because some mail gateways
+impose message-length restrictions.
+.P
+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.
+.P
+Some new formats for messages can be expected in the future, probably
+including binary data, bit maps, and various multimedia objects. As
+described here,
+.IR 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.
+.P
+The
+.BR discard
+and
+.BR ignore
+commands are not inverses of the
+.BR retain
+command. The
+.BR retain
+command discards all header-fields except those explicitly retained.
+The
+.BR discard
+command keeps all header-fields except those explicitly discarded. If
+headers exist on the retained header list,
+.BR discard
+and
+.BR ignore
+commands are ignored.
+.SH EXAMPLES
+None.
+.SH 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 POSIX.1\(hy2017.
+.P
+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.
+.P
+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\ 920, RFC\ 921, RFC\ 1123, and RFC\ 5322 (which
+succeeded RFC\ 822).
+.P
+Many historical systems modified each body line that started with
+.BR "From\0"
+by prefixing the
+.BR 'F'
+with
+.BR '>' .
+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.
+.P
+The
+.BR edit
+and
+.BR 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.
+.P
+The restriction on a subject line being
+{LINE_MAX}\-10
+bytes is based on the historical format that consumes 10 bytes for
+.BR "Subject:\0"
+and the trailing
+<newline>.
+Many historical mailers that a message may encounter on other systems
+are not able to handle lines that long, however.
+.P
+Like the utilities
+.IR logger
+and
+.IR lp ,
+.IR mailx
+admittedly is difficult to test. This was not deemed sufficient
+justification to exclude this utility from this volume of POSIX.1\(hy2017. It is also arguable
+that it is, in fact, testable, but that the tests themselves are not
+portable.
+.P
+When
+.IR 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
+.IR DEAD
+environment variable must be set to
+.BR /dev/null .
+Otherwise, it may be subject to the file creations described in
+.IR mailx
+ASYNCHRONOUS EVENTS. Similarly, if the
+.IR MAILRC
+environment variable is not set to
+.BR /dev/null ,
+historical versions of
+.IR mailx
+and
+.IR 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
+.IR MAILRC
+to
+.BR /dev/null .
+.P
+The description of
+.IR 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,
+.IR mailx
+cannot convert the date and time strings into the internal form that
+then is parsed by routines like
+\fIstrftime\fR()
+that can take
+.IR LC_TIME
+settings into account. Changing all these times to a user-specified
+format is allowed, but not required.
+.P
+The paginator selected when
+.IR PAGER
+is null or unset is partially unspecified to allow the System V
+historical practice of using
+.IR pg
+as the default. Bypassing the pagination function, such as by declaring
+that
+.IR cat
+is the paginator, would not meet with the intended meaning of this
+description. However, any ``portable user'' would have to set
+.IR PAGER
+explicitly to get his or her preferred paginator on all systems. The
+paginator choice was made partially unspecified, unlike the
+.IR VISUAL
+editor choice (mandated to be
+.IR vi )
+because most historical pagers follow a common theme of user input,
+whereas editors differ dramatically.
+.P
+Options to specify addresses as
+.BR cc
+(carbon copy) or
+.BR bcc
+(blind carbon copy) were considered to be format details and were
+omitted.
+.P
+A zero exit status implies that all messages were
+.IR sent ,
+but it gives no assurances that any of them were actually
+.IR delivered .
+The reliability of the delivery mechanism is unspecified and is an
+appropriate marketing distinction between systems.
+.P
+In order to conform to the Utility Syntax Guidelines, a solution was
+required to the optional
+.IR file
+option-argument to
+.BR \-f .
+By making
+.IR file
+an operand, the guidelines are satisfied and users remain portable.
+However, it does force implementations to support usage such as:
+.sp
+.RS 4
+.nf
+
+mailx -fin mymail.box
+.fi
+.P
+.RE
+.P
+The
+.BR no
+.IR 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
+.IR mailx
+.IR set
+command without arguments.
+.P
+The
+.BR ask
+and
+.BR asksub
+variables are the names selected by BSD and System V, respectively, for
+the same feature. They are synonyms in this volume of POSIX.1\(hy2017.
+.P
+The
+.IR mailx
+.IR echo
+command was not documented in the BSD version and has been omitted here
+because it is not obviously useful for interactive users.
+.P
+The default prompt on the System V
+.IR mailx
+is a
+<question-mark>,
+on BSD
+.IR Mail
+an
+<ampersand>.
+Since this volume of POSIX.1\(hy2017 chose the
+.IR mailx
+name, it kept the System V default, assuming that BSD users would not
+have difficulty with this minor incompatibility (that they can
+override).
+.P
+The meanings of
+.BR r
+and
+.BR R
+are reversed between System V
+.IR mailx
+and SunOS
+.IR Mail .
+Once again, since this volume of POSIX.1\(hy2017 chose the
+.IR mailx
+name, it kept the System V default, but allows the SunOS user to
+achieve the desired results using
+.BR flipr ,
+an internal variable in System V
+.IR mailx ,
+although it has not been documented in the SVID.
+.P
+The
+.BR indentprefix
+variable, the
+.BR retain
+and
+.BR unalias
+commands, and the
+.BR ~F
+and
+.BR ~M
+command escapes were adopted from 4.3 BSD
+.IR Mail .
+.P
+The
+.BR 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
+.IR mailx
+command.
+.P
+The ``implementation-specific (unspecified) system start-up file''
+historically has been named
+.BR /etc/mailx.rc ,
+but this specific name and location are not required.
+.P
+The intent of the wording for the
+.BR 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:
+.sp
+.RS 4
+.nf
+
+next 3
+delete 3
+next
+.fi
+.P
+.RE
+.P
+where the
+.BR autoprint
+option was not set. The normative text specifies that the second
+.BR 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
+.BR 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
+.BR next
+(or the default command) would skip the message for which the user had
+searched.
+.SH "FUTURE DIRECTIONS"
+None.
+.SH "SEE ALSO"
+.IR "Chapter 2" ", " "Shell Command Language",
+.IR "\fIed\fR\^",
+.IR "\fIls\fR\^",
+.IR "\fImore\fR\^",
+.IR "\fIvi\fR\^"
+.P
+The Base Definitions volume of POSIX.1\(hy2017,
+.IR "Chapter 8" ", " "Environment Variables",
+.IR "Section 12.2" ", " "Utility Syntax Guidelines"
+.\"
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1-2017, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, 2018 Edition,
+Copyright (C) 2018 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 .
+.PP
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .