mailx(1) DG/UX 5.4R3.00 mailx(1)
NAME
mailx - interactive message processing system
SYNOPSIS
mailx [ options ] [ name... ]
DESCRIPTION
The command mailx provides a comfortable, flexible environment for
sending and receiving messages electronically. 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.
Many of the remote features of mailx work only if the Basic
Networking Utilities are installed on your system.
Incoming mail is stored in a standard file for each user, called the
mailbox for that user. When mailx is called to read messages, the
mailbox is the default place to find them. As messages are read,
they are marked to be moved to a secondary file for storage, unless
specific action is taken, so that the messages need not be seen
again. This secondary file is called the mbox and is normally
located in the user's HOME directory [see MBOX (Environment
Variables) for a description of this file]. Messages can be saved in
other secondary files named by the user. Messages remain in a
secondary file until forcibly removed.
The user can access a secondary file by using the -f option of the
mailx command. Messages in the secondary file can then be read or
otherwise processed using the same Commands as in the primary
mailbox. This gives rise within these pages to the notion of a
current mailbox.
On the command line, options start with a dash (-) and any other
arguments are taken to be destinations (recipients). If no
recipients are specified, mailx attempts to read messages from the
mailbox. Command-line options are:
-d Turn on debugging output.
-e Test for presence of mail. mailx prints nothing
and exits with a successful return code if there
is mail to read.
-f [filename] Read messages from filename instead of mailbox.
If no filename is specified, the mbox is used.
-F Record the message in a file named after the
first recipient. Overrides the record variable,
if set (see Environment Variables).
-h number The number of network ``hops'' made so far.
This is provided for network software to avoid
Licensed material--property of copyright holder(s) 1
mailx(1) DG/UX 5.4R3.00 mailx(1)
infinite delivery loops. This option and its
argument is passed to the delivery program.
-H Print header summary only.
-i Ignore interrupts. See also ignore (Environment
Variables).
-I Include the newsgroup and article-id header
lines when printing mail messages. This option
requires the -f option to be specified.
-n Do not initialize from the system default
mailx.rc file.
-N Do not print initial header summary.
-r address Use address as the return address when invoking
the delivery program. All tilde commands are
disabled. This option and its argument is
passed to the delivery program.
-s subject Set the Subject header field to subject.
-T file Message-id and article-id header lines are
recorded in file after the message is read.
This option will also set the -I option.
-u user Read user's mailbox. This is only effective if
user's mailbox is not read protected.
-U Convert uucp style addresses to internet
standards. Overrides the conv environment
variable.
-V Print the mailx version number and exit.
-~ Permits tilde escape commands no matter where
the input is coming from, including non-tty
input.
When reading mail, mailx is in command mode. A header summary of the
first several messages is displayed, followed by a prompt indicating
mailx can accept regular commands (see Commands below). When sending
mail, mailx is in input mode. If no subject is specified on the
command line, a prompt for the subject is printed. (A subject longer
than 1024 characters causes mailx to print the message mail: ERROR
signal 10; the mail will not be delivered.) As the message is typed,
mailx reads the message and store it in a temporary file. Commands
may be entered by beginning a line with the tilde (~) escape
character followed by a single command letter and optional arguments.
See Tilde Escapes for a summary of these commands.
At any time, the behavior of mailx is governed by a set of
Licensed material--property of copyright holder(s) 2
mailx(1) DG/UX 5.4R3.00 mailx(1)
environment variables. These are flags and valued parameters which
are set and cleared via the set and unset commands. See Environment
Variables below for a summary of these parameters.
Recipients listed on the command line may be of three types: login
names, shell commands, or alias groups. Login names may be any
network address, including mixed network addressing. If mail is
found to be undeliverable, an attempt is made to return it to the
sender's mailbox. If the recipient name begins with a pipe symbol (
| ), the rest of the name is taken to be a shell command to pipe the
message through. This provides an automatic interface with any
program that reads the standard input, such as lp(1) for recording
outgoing mail on paper. Alias groups are set by the alias command
(see Commands below) and are lists of recipients of any type.
Regular commands are of the form
[ command ] [ msglist ] [ arguments ]
If no command is specified in command mode, print is assumed. In
input mode, commands are recognized by the escape character, and
lines not treated as commands are taken as input for the message.
Each message is assigned a sequential number, and there is at any
time the notion of a current message, marked by a right angle bracket
(>) in the header summary. Many commands take an optional list of
messages (msglist) to operate on. The default for msglist is the
current message. A msglist is a list of message identifiers
separated by spaces, which may include:
n Message number n.
. The current message.
^ The first undeleted message.
$ The last message.
* All messages.
n-m An inclusive range of message numbers.
user All messages from user.
/string All messages with string in the subject line (case
ignored).
:c All messages of type c, where c is one of:
d deleted messages
n new messages
Licensed material--property of copyright holder(s) 3
mailx(1) DG/UX 5.4R3.00 mailx(1)
o old messages
r read messages
u unread messages
Note that the context of the command determines whether
this type of message specification makes sense.
Other arguments are usually arbitrary strings whose usage depends on
the command involved. File names, where expected, are expanded via
the normal shell conventions [see sh(1)]. Special characters are
recognized by certain commands and are documented with the commands
below.
At start-up time, mailx tries to execute commands from the optional
system-wide file (/etc/mail/mailx.rc) to initialize certain
parameters, then from a private start-up file ($HOME/.mailrc) for
personalized variables. With the exceptions noted below, regular
commands are legal inside start-up files. The most common use of a
start-up file is to set up initial display options and alias lists.
The following commands are not legal in the start-up file: !, Copy,
edit, followup, Followup, hold, mail, preserve, reply, Reply, shell,
and visual. An error in the start-up file causes the remaining lines
in the file to be ignored. The .mailrc file is optional, and must be
constructed locally.
International Features
mailx enables the retrieval, editing and processing of mail messages,
including characters from supplementary code sets. Supplementary
code set characters can be used in the subject line.
Commands
The following is a complete list of mailx commands:
!shell-command
Escape to the shell. See SHELL (Environment Variables).
# comment
Null command (comment). This may be useful in .mailrc files.
= Print the current message number.
? Prints a summary of commands.
alias alias name ...
group alias name ...
Declare an alias for the given names. The names are
substituted when alias is used as a recipient. Useful in the
.mailrc file.
alternates name ...
Declares a list of alternate names for your login. When
responding to a message, these names are removed from the list
Licensed material--property of copyright holder(s) 4
mailx(1) DG/UX 5.4R3.00 mailx(1)
of recipients for the response. With no arguments, alternates
prints the current list of alternate names. See also allnet
(Environment Variables).
cd [directory]
chdir [directory]
Change directory. If directory is not specified, $HOME is
used.
copy [filename]
copy [msglist] filename
Copy messages to the file without marking the messages as
saved. Otherwise equivalent to the save command.
Copy [msglist]
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 equivalent to the Save
command.
delete [msglist]
Delete messages from the mailbox. If autoprint is set, the
next message after the last one deleted is printed (see
Environment Variables).
discard [header-field ...]
ignore [header-field ...]
Suppresses printing of the specified header fields when
displaying messages on the screen. Examples of header fields
to ignore are status and cc. The fields are included when the
message is saved. The Print and Type commands override this
command. If no header is specified, the current list of
header fields being ignored will be printed. See also the
undiscard and unignore commands.
dp [msglist]
dt [msglist]
Delete the specified messages from the mailbox and print the
next message after the last one deleted. Roughly equivalent
to a delete command followed by a print command.
echo string ...
Echo the given strings [like echo(1)].
edit [msglist]
Edit the given messages. The messages are placed in a
temporary file and the EDITOR variable is used to get the name
of the editor (see Environment Variables). Default editor is
ed(1).
exit
xit Exit from mailx, without changing the mailbox. No messages
Licensed material--property of copyright holder(s) 5
mailx(1) DG/UX 5.4R3.00 mailx(1)
are saved in the mbox (see also quit).
file [filename]
folder [filename]
Quit from the current file of messages and read in the
specified file. Several special characters are recognized
when used as file names, with the following substitutions:
% the current mailbox.
%user the mailbox for user.
# the previous file.
& the current mbox.
Default file is the current mailbox.
folders
Print the names of the files in the directory set by the
folder variable (see Environment Variables).
followup [message]
Respond to a message, recording the response in a file whose
name is derived from the author of the message. Overrides the
record variable, if set. See also the Followup, Save, and
Copy commands and outfolder (Environment Variables).
Followup [msglist]
Respond to the first message in the msglist, sending the
message to the author of each message in the msglist. The
subject line is taken from the first message and the response
is recorded in a file whose name is derived from the author of
the first message. See also the followup, Save, and Copy
commands and outfolder (Environment Variables).
from [msglist]
Prints the header summary for the specified messages.
group alias name ...
alias alias name ...
Declare an alias for the given names. The names are
substituted when alias is used as a recipient. Useful in the
.mailrc file.
headers [message]
Prints the page of headers which includes the message
specified. The screen variable sets the number of headers per
page (see Environment Variables). See also the z command.
help Prints a summary of commands.
hold [msglist]
preserve [msglist]
Holds the specified messages in the mailbox.
if s | r
mail-commands
Licensed material--property of copyright holder(s) 6
mailx(1) DG/UX 5.4R3.00 mailx(1)
else
mail-commands
endif Conditional execution, where s executes following mail-
commands, up to an else or endif, if the program is in send
mode, and r causes the mail-commands to be executed only in
receive mode. Useful in the .mailrc file.
ignore [header-field ...]
discard [header-field ...]
Suppresses printing of the specified header fields when
displaying messages on the screen. Examples of header fields
to ignore are status and cc. All fields are included when the
message is saved. The Print and Type commands override this
command. If no header is specified, the current list of
header fields being ignored will be printed. See also the
undiscard and unignore commands.
list Prints all commands available. No explanation is given.
mail name ...
Mail a message to the specified users.
Mail name
Mail a message to the specified user and record a copy of it
in a file named after that user.
mbox [msglist]
Arrange for the given messages to end up in the standard mbox
save file when mailx terminates normally. See MBOX
(Environment Variables) for a description of this file. See
also the exit and quit commands.
next [message]
Go to next message matching message. A msglist may be
specified, but in this case the first valid message in the
list is the only one used. This is useful for jumping to the
next message from a specific user, since the name would be
taken as a command in the absence of a real command. See the
discussion of msglists above for a description of possible
message specifications.
pipe [msglist] [shell-command]
| [msglist] [shell-command]
Pipe the message through the given shell-command. The message
is treated as if it were read. If no arguments are given, the
current message is piped through the command specified by the
value of the cmd variable. If the page variable is set, a
form feed character is inserted after each message (see
Environment Variables).
preserve [msglist]
hold [msglist]
Licensed material--property of copyright holder(s) 7
mailx(1) DG/UX 5.4R3.00 mailx(1)
Preserve the specified messages in the mailbox.
Print [msglist]
Type [msglist]
Print the specified messages on the screen, including all
header fields. Overrides suppression of fields by the ignore
command.
print [msglist]
type [msglist]
Print the specified messages. If crt is set, the messages
longer than the number of lines specified by the crt variable
are paged through the command specified by the PAGER variable.
The default command is pg(1) (see Environment Variables).
quit Exit from mailx, storing messages that were read in mbox and
unread messages in the mailbox. Messages that have been
explicitly saved in a file are deleted.
Reply [msglist]
Respond [msglist]
Send a response to the author of each message in the msglist.
The subject line is taken from the first message. If record
is set to a file name, the response is saved at the end of
that file (see Environment Variables).
reply [message]
respond [message]
Reply to the specified message, including all other recipients
of the message. If record is set to a file name, the response
is saved at the end of that file (see Environment Variables).
Save [msglist]
Save the specified messages in a file whose name is derived
from the author of the first message. The name of the file is
taken to be the author's name with all network addressing
stripped off. See also the Copy, followup, and Followup
commands and outfolder (Environment Variables).
save [filename]
save [msglist] filename
Save the specified messages in the given file. The file is
created if it does not exist. The file defaults to mbox. The
message is deleted from the mailbox when mailx terminates
unless keepsave is set (see also Environment Variables and the
exit and quit commands).
set
set name
set name=string
set name=number
Define a variable called name. The variable may be given a
null, string, or numeric value. Set by itself prints all
defined variables and their values.
Licensed material--property of copyright holder(s) 8
mailx(1) DG/UX 5.4R3.00 mailx(1)
See Environment Variables for detailed descriptions of the
mailx variables.
shell Invoke an interactive shell [see also SHELL (Environment
Variables)].
size [msglist]
Print the size in characters of the specified messages.
source filename
Read commands from the given file and return to command mode.
top [msglist]
Print the top few lines of the specified messages. If the
toplines variable is set, it is taken as the number of lines
to print (see Environment Variables). The default is 5.
touch [msglist]
Touch the specified messages. If any message in msglist is
not specifically saved in a file, it is placed in the mbox, or
the file specified in the MBOX environment variable, upon
normal termination. See exit and quit.
Type [msglist]
Print [msglist]
Print the specified messages on the screen, including all
header fields. Overrides suppression of fields by the ignore
command.
type [msglist]
print [msglist]
Print the specified messages. If crt is set, the messages
longer than the number of lines specified by the crt variable
are paged through the command specified by the PAGER variable.
The default command is pg(1) (see Environment Variables).
undelete [msglist]
Restore the specified deleted messages. Will only restore
messages deleted in the current mail session. If autoprint is
set, the last message of those restored is printed (see
Environment Variables).
undiscard header-field ...
unignore header-field ...
Remove the specified header fields from the list being
ignored.
unset name ...
Causes the specified variables to be erased. If the variable
was imported from the execution environment (i.e., a shell
variable) then it cannot be erased.
version
Licensed material--property of copyright holder(s) 9
mailx(1) DG/UX 5.4R3.00 mailx(1)
Prints the current version.
visual [msglist]
Edit the given messages with a screen editor. The messages
are placed in
a temporary file and the VISUAL variable is used to get the
name of the editor (see Environment Variables).
write [msglist] filename
Write the given messages on the specified file, minus the
header and trailing blank line. Otherwise equivalent to the
save command.
xit
exit Exit from mailx, without changing the mailbox. No messages
are saved in the mbox (see also quit).
z[+ | -]
Scroll the header display forward or backward one screen-full.
The number of headers displayed is set by the screen variable
(see Environment Variables).
Tilde Escapes
The following commands may be entered only from input mode, by
beginning a line with the tilde escape character (~). See escape
(Environment Variables) for changing this special character.
~! shell-command
Escape to the shell.
~. Simulate end of file (terminate message input).
~: mail-command
~ mail-command
Perform the command-level request. Valid only when sending a
message while reading mail.
~? Print a summary of tilde escapes.
~A Insert the autograph string Sign into the message (see
Environment Variables).
~a Insert the autograph string sign into the message (see
Environment Variables).
~b names ...
Add the names to the blind carbon copy (Bcc) list.
~c names ...
Add the names to the carbon copy (Cc) list.
~d Read in the dead.letter file. See DEAD (Environment
Licensed material--property of copyright holder(s) 10
mailx(1) DG/UX 5.4R3.00 mailx(1)
Variables) for a description of this file.
~e Invoke the editor on the partial message. See also EDITOR
(Environment Variables).
~f [msglist]
Forward the specified messages. The messages are inserted
into the message without alteration.
~h Prompt for Subject line and To, Cc, and Bcc lists. If the
field is displayed with an initial value, it may be edited as
if you had just typed it.
~i string
Insert the value of the named variable into the text of the
message. For example, ~A is equivalent to ~iSign.
Environment variables set and exported in the shell are also
accessible by ~i.
~m [msglist]
Insert the specified messages into the letter, shifting the
new text to the right one tab stop. Valid only when sending a
message while reading mail.
~p Print the message being entered.
~q Quit from input mode by simulating an interrupt. If the body
of the message is not null, the partial message is saved in
dead.letter. See DEAD (Environment Variables) for a
description of this file.
~r filename
~< filename
~< !shell-command
Read in the specified file. If the argument begins with an
exclamation point (!), the rest of the string is taken as an
arbitrary shell command and is executed, with the standard
output inserted into the message.
~s string ...
Set the subject line to string.
~t names ...
Add the given names to the To list.
~v Invoke a preferred screen editor on the partial message. See
also VISUAL (Environment Variables).
~w filename
Write the message into the given file, without the header.
~x Exit as with ~q except the message is not saved in
dead.letter.
Licensed material--property of copyright holder(s) 11
mailx(1) DG/UX 5.4R3.00 mailx(1)
~| shell-command
Pipe the body of the message through the given shell-command.
If the shell-command returns a successful exit status, the
output of the command replaces the message.
Environment Variables
The following are environment variables taken from the execution
environment and are not alterable within mailx.
HOME=directory
The user's base of operations.
MAILRC=filename
The name of the start-up file. Default is $HOME/.mailrc.
The following variables are internal mailx variables. They may be
imported from the execution environment or set via the set command at
any time. The unset command may be used to erase variables.
allnet All network names whose last component (login name) match are
treated as identical. This causes the msglist message
specifications to behave similarly. Default is noallnet. See
also the alternates command and the metoo variable.
append Upon termination, append messages to the end of the mbox file
instead of prepending them. Default is noappend.
askcc Prompt for the Cc list after the Subject is entered. Default
is noaskcc.
askbcc Prompt for the Bcc list after the Subject is entered. Default
is noaskbcc.
asksub Prompt for subject if it is not specified on the command line
with the -s option. Enabled by default.
autoprint
Enable automatic printing of messages after delete and
undelete commands. Default is noautoprint.
bang Enable the special-casing of exclamation points (!) in shell
escape command lines as in vi(1). Default is nobang.
cmd=shell-command
Set the default command for the pipe command. No default
value.
conv=conversion
Convert uucp addresses to the specified address style. The
only valid conversion now is internet, which uses domain-style
addressing. Conversion is disabled by default. See also the
-U command-line option.
Licensed material--property of copyright holder(s) 12
mailx(1) DG/UX 5.4R3.00 mailx(1)
crt=number
Pipe messages having more than number lines through the
command specified by the value of the PAGER variable [pg(1) by
default]. Disabled by default.
DEAD=filename
The name of the file in which to save partial letters in case
of untimely interrupt. Default is $HOME/dead.letter.
debug Enable verbose diagnostics for debugging. Messages are not
delivered. Default is nodebug.
dot Take a period on a line by itself during input from a terminal
as end-of-file. Default is nodot.
EDITOR=shell-command
The command to run when the edit or ~e command is used.
Default is ed(1).
escape=c
Substitute c for the ~ escape character. Takes effect with
next message sent.
folder=directory
The directory for saving standard mail files. User-specified
file names beginning with a plus (+) are expanded by preceding
the file name with this directory name to obtain the real file
name. If directory does not start with a slash (/), $HOME is
prepended to it. In order to use the plus (+) construct on a
mailx command line, folder must be an exported sh environment
variable. There is no default for the folder variable. See
also outfolder below.
header Enable printing of the header summary when entering mailx.
Enabled by default.
hold Preserve all messages that are read in the mailbox instead of
putting them in the standard mbox save file. Default is
nohold.
ignore Ignore interrupts while entering messages. Handy for noisy
dial-up lines. Default is noignore.
ignoreeof
Ignore end-of-file during message input. Input must be
terminated by a period (.) on a line by itself or by the ~.
command. Default is noignoreeof. See also dot above.
keep When the mailbox is empty, truncate it to zero length instead
of removing it. Disabled by default.
keepsave
Keep messages that have been saved in other files in the
mailbox instead of deleting them. Default is nokeepsave.
Licensed material--property of copyright holder(s) 13
mailx(1) DG/UX 5.4R3.00 mailx(1)
MBOX=filename
The name of the file to save messages which have been read.
The xit command overrides this function, as does saving the
message explicitly in another file. Default is $HOME/mbox.
metoo If your login appears as a recipient, do not delete it from
the list. Default is nometoo.
LISTER=shell-command
The command (and options) to use when listing the contents of
the folder directory. The default is ls(1).
onehop When responding to a message that was originally sent to
several recipients, the other recipient addresses are normally
forced to be relative to the originating author's machine for
the response. This flag disables alteration of the
recipients' addresses, improving efficiency in a network where
all machines can send directly to all other machines (i.e.,
one hop away).
outfolder
Causes the files used to record outgoing messages to be
located in the directory specified by the folder variable
unless the path name is absolute. Default is nooutfolder.
See folder above and the Save, Copy, followup, and Followup
commands.
page Used with the pipe command to insert a form feed after each
message sent through the pipe. Default is nopage.
PAGER=shell-command
The command to use as a filter for paginating output. This
can also be used to specify the options to be used. Default
is pg(1).
prompt=string
Set the command mode prompt to string. Default is ``? ''.
quiet Refrain from printing the opening message and version when
entering mailx. Default is noquiet.
record=filename
Record all outgoing mail in filename. Disabled by default.
See also outfolder above. If you have the record and
outfolder variables set but the folder variable not set,
messages are saved in +filename instead of filename.
save Enable saving of messages in dead.letter on interrupt or
delivery error. See DEAD for a description of this file.
Enabled by default.
screen=number
Sets the number of lines in a screen-full of headers for the
headers command. It must be a positive number.
Licensed material--property of copyright holder(s) 14
mailx(1) DG/UX 5.4R3.00 mailx(1)
sendmail=shell-command
Alternate command for delivering messages. Default is
/usr/bin/rmail.
sendwait
Wait for background mailer to finish before returning.
Default is nosendwait.
SHELL=shell-command
The name of a preferred command interpreter. Default is
sh(1).
showto When displaying the header summary and the message is from
you, print the recipient's name instead of the author's name.
sign=string
The variable inserted into the text of a message when the ~a
(autograph) command is given. No default [see also ~i (Tilde
Escapes)].
Sign=string
The variable inserted into the text of a message when the ~A
command is given. No default [see also ~i (Tilde Escapes)].
toplines=number
The number of lines of header to print with the top command.
Default is 5.
VISUAL=shell-command
The name of a preferred screen editor. Default is vi.
FILES
$HOME/.mailrc personal start-up file
$HOME/mbox secondary storage file
/var/mail/* post office directory
/usr/share/lib/mailx/mailx.help* help message files
/etc/mail/mailx.rc optional global start-up file
/tmp/R[emqsx]* temporary files
SEE ALSO
ls(1), mail(1), pg(1), vi(1).
NOTES
The -h and -r options can be used only if mailx is using a delivery
program other than /usr/bin/rmail.
Where shell-command is shown as valid, arguments are not always
allowed. Experimentation is recommended.
Internal variables imported from the execution environment cannot be
unset.
The full internet addressing is not fully supported by mailx. The
new standards need some time to settle down.
Licensed material--property of copyright holder(s) 15
mailx(1) DG/UX 5.4R3.00 mailx(1)
Attempts to send a message having a line consisting only of a ``.''
are treated as the end of the message by mail(1) (the standard mail
delivery program).
Mailx(1) relies on the message header to be in a specific format.
When editing a mail message, changing the contents of the fields of
the header is acceptable. However, modifying the format of the
message header, such as inserting or deleting lines, or adding spaces
can cause unpredictable results.
In some cases, text messages originating in one locale may be treated
as binary when received in another locale (see environ(5)). This can
occur when the locales use different character sets. To allow such
messages to be treated as text when received, the LCCTYPE or LANG
environment variable should be set to match the value used on the
sending system.
If a user's mail folder resides on a non-DG/UX system, or if the user
has saved a mail folder from a pre-5.4 DG/UX system, and these
folders contain messages that use 8-bit characters, there may be
difficulties in processing the messages with mailx. In such a case,
the difficulties should be eliminated if the locale is set so that
the ISO 8859-1 character set will be used.
Licensed material--property of copyright holder(s) 16