Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MAILX(1)		     General Commands Manual			MAILX(1)

NAME
     mailx -- send and receive mail

SYNOPSIS
     mailx [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...
	   [- sendmail-option ...]
     mailx [-iInNv] -f [name]
     mailx [-iInNv] [-u user]

INTRODUCTION
     Mailx  is an intelligent mail processing system, which has a command syntax
     reminiscent of ed(1) with lines replaced by messages.

     -v    Verbose mode.  The details of delivery are displayed  on  the  user's
	   terminal.

     -i    Ignore tty interrupt signals.  This is particularly useful when using
	   mailx on noisy phone lines.

     -I    Forces mail to run in interactive mode even when input isn't a termi-
	   nal.   In  particular, the `~' special character when sending mail is
	   only active in interactive mode.

     -n    Inhibits reading the system-wide mail.rc files upon startup.

     -N    Inhibits the initial display of message headers when reading mail  or
	   editing a mail folder.

     -s    Specify subject on command line (only the first argument after the -s
	   flag  is  used  as a subject; be careful to quote subjects containing
	   spaces.)

     -c    Send carbon copies to list of users.

     -b    Send blind carbon copies to list.  List should be  a  comma-separated
	   list of names.

     -f    Read  in  the  contents of your mbox (or the specified file) for pro-
	   cessing; when you quit, mailx writes undeleted messages back to  this
	   file.

     -u    Is equivalent to:

		 mail -f /var/mail/user

   Sending mail
     To  send  a  message to one or more people, mailx can be invoked with argu-
     ments which are the names of people to whom the mail will be sent.  You are
     then expected to type in your message, followed by a `control-D' at the be-
     ginning of a line.  The section below Replying to or originating mail,  de-
     scribes some features of mailx available to help you compose your letter.

   Reading mail
     In normal usage mailx is given no arguments and checks your mail out of the
     post  office, then prints out a one line header of each message found.  The
     current message is initially the first message  (numbered	1)  and  can  be
     printed  using  the  print command (which can be abbreviated `p').  You can
     move among the messages much as you move between lines in ed(1),  with  the
     commands `+' and `-' moving backwards and forwards, and simple numbers.

   Disposing of mail.
     After  examining  a  message you can delete (d) the message or reply (r) to
     it.  Deletion causes the mailx program to forget about the  message.   This
     is not irreversible; the message can be undeleted (u) by giving its number,
     or  the  mailx  session  can  be  aborted	by  giving the exit (x) command.
     Deleted messages will, however, usually disappear never to be seen again.

   Specifying messages
     Commands such as print and delete can be given a list of message numbers as
     arguments to apply to a number of messages at  once.   Thus  "delete  1  2"
     deletes  messages 1 and 2, while "delete 1-5" deletes messages 1 through 5.
     The special name `*' addresses all messages, and  `$'  addresses  the  last
     message; thus the command top which prints the first few lines of a message
     could be used in "top *" to print the first few lines of all messages.

   Replying to or originating mail.
     You can use the reply command to set up a response to a message, sending it
     back  to  the person who it was from.  Text you then type in, up to an end-
     of-file, defines the contents of the message.  While you  are  composing  a
     message,  mailx  treats  lines  beginning with the character `~' specially.
     For instance, typing `~m' (alone on a line) will place a copy of  the  cur-
     rent  message  into  the  response  right	shifting  it  by  a tabstop (see
     indentprefix variable, below).  Other escapes will set up	subject  fields,
     add and delete recipients to the message and allow you to escape to an edi-
     tor  to  revise the message or to a shell to run some commands.  (These op-
     tions are given in the summary below.)

   Ending a mail processing session.
     You can end a mailx session with the quit (q) command.  Messages which have
     been examined go to your mbox file unless they have been deleted  in  which
     case  they  are discarded.  Unexamined messages go back to the post office.
     (See the -f option above).

   Personal and system wide distribution lists.
     It is also possible to create a personal distribution lists  so  that,  for
     instance,	you can send mail to "cohorts" and have it go to a group of peo-
     ple.  Such lists can be defined by placing a line like

	   alias cohorts bill ozalp jkf mark kridle@ucbcory

     in the file .mailrc in your home  directory.   The  current  list	of  such
     aliases can be displayed with the alias command in mailx.	System wide dis-
     tribution	lists can be created by editing /etc/aliases, see aliases(5) and
     sendmail(8); these are kept in a different syntax.  In mail you send,  per-
     sonal  aliases will be expanded in mail sent to others so that they will be
     able to reply to the recipients.  System wide aliases are not expanded when
     the mail is sent, but any reply returned to the machine will have the  sys-
     tem wide alias expanded as all mail goes through sendmail.

   Network mail (ARPA, UUCP, Berknet)
     See mailaddr(7) for a description of network addresses.

     Mailx has a number of options which can be set in the .mailrc file to alter
     its  behavior;  thus "set askcc" enables the askcc feature.  (These options
     are summarized below.)

SUMMARY
     (Adapted from the `Mail Reference Manual')

     Each command is typed on a line by itself, and may take arguments following
     the command word.	The command need not be typed  in  its	entirety  -  the
     first  command  which matches the typed prefix is used.  For commands which
     take message lists as arguments, if no message list is given, then the next
     message forward which satisfies the command's  requirements  is  used.   If
     there  are  no messages forward of the current message, the search proceeds
     backwards,  and  if  there  are  no  good	messages  at  all,  mailx  types
     "applicable messages" and aborts the command.

     -	     Print  out  the  preceding message.  If given a numeric argument n,
	     goes to the n'th previous message and prints it.

     #	     ignore the remainder of the line as a comment.

     ?	     Prints a brief summary of commands.

     !	     Executes the shell (see sh(1) and csh(1)) command which follows.

     Print   (P) Like print but also prints out ignored header fields.	See also
	     print, ignore and retain.

     Reply   (R) Reply to originator.  Does not reply to other recipients of the
	     original message.

     Type    (T) Identical to the Print command.

     alias   (a) With no arguments, prints out	all  currently-defined	aliases.
	     With one argument, prints out that alias.	With more than one argu-
	     ment, creates a new alias or changes an old one.

     alternates
	     (alt) The alternates command is useful if you have accounts on sev-
	     eral  machines.  It can be used to inform mailx that the listed ad-
	     dresses are really you.  When you reply to messages, mailx will not
	     send a copy of the message to any of the addresses  listed  on  the
	     alternates  list.	If the alternates command is given with no argu-
	     ment, the current set of alternate names is displayed.

     chdir   (c) Changes the user's working  directory	to  that  specified,  if
	     given.   If no directory is given, then changes to the user's login
	     directory.

     copy    (co) The copy command does the same thing that  save  does,  except
	     that  it does not mark the messages it is used on for deletion when
	     you quit.

     Copy    (C) The Copy command does the same thing  that  Save  does,  except
	     that  it does not mark the messages it is used on for deletion when
	     you quit.

     delete  (d) Takes a list of messages as argument  and  marks  them  all  as
	     deleted.  Deleted messages will not be saved in mbox, nor will they
	     be available for most other commands.

     dp      (also  dt) Deletes the current message and prints the next message.
	     If there is no next message, mailx says "at EOF".

     edit    (e) Takes a list of messages and points the text editor at each one
	     in turn.  On return from the editor, the message is read back in.

     exit    (ex or x) Effects an immediate return to the Shell without  modify-
	     ing  the  user's system mailbox, his mbox file, or his edit file in
	     -f.

     file    (fi) The same as folder.

     folders
	     List the names of the folders in your folder directory.

     folder  (fo) The folder command switches to a  new  mail  file  or  folder.
	     With  no arguments, it tells you which file you are currently read-
	     ing.  If you give it an argument, it will write out  changes  (such
	     as deletions) you have made in the current file and read in the new
	     file.   Some  special  conventions  are recognized for the name.  #
	     means the previous file, % means your system mailbox,  %user  means
	     user's  system mailbox, & means your mbox file, and +folder means a
	     file in your folder directory.

     from    (f) Takes a list of messages and prints their message headers.

     headers
	     (h) Lists the current range of  headers,  which  is  an  18-message
	     group.   If a `+' argument is given, then the next 18-message group
	     is printed, and if a `-' argument is given, the previous 18-message
	     group is printed.

     help    A synonym for ?

     hold    (ho, also preserve) Takes a message list  and  marks  each  message
	     therein  to  be  saved  in  the user's system mailbox instead of in
	     mbox.  Does not override the delete command.

     ignore  Add the list of header fields named to the  ignored  list.   Header
	     fields in the ignore list are not printed on your terminal when you
	     print  a  message.   This	command is very handy for suppression of
	     certain machine-generated header fields.  The Type and  Print  com-
	     mands can be used to print a message in its entirety, including ig-
	     nored  fields.   If  ignore is executed with no arguments, it lists
	     the current set of ignored fields.

     mail    (m) Takes as argument login names and distribution group names  and
	     sends mail to those people.

     more    () Takes a list of messages and invokes the pager on that list.

     mbox    Indicate  that  a list of messages be sent to mbox in your home di-
	     rectory when you quit.  This is the default action for messages  if
	     you do not have the hold option set.

     next    (n)  like ( + or CR) Goes to the next message in sequence and types
	     it.  With an argument list, types the next matching message.

     preserve
	     (pre) A synonym for hold.

     print   (p) Takes a message list and types out each message on  the  user's
	     terminal.

     quit    (q)  Terminates the session, saving all undeleted, unsaved messages
	     in the user's mbox file in his login directory, preserving all mes-
	     sages marked with hold or preserve or never referenced in his  sys-
	     tem  mailbox, and removing all other messages from his system mail-
	     box.  If new mail has arrived during the session, the message  "You
	     have  new	mail"  is  given.  If given while editing a mailbox file
	     with the -f flag, then the edit file is rewritten.  A return to the
	     Shell is effected, unless the rewrite of edit file fails, in  which
	     case the user can escape with the exit command.

     reply   (r)  Takes  a message list and sends mail to the sender and all re-
	     cipients of the specified message.  The default message must not be
	     deleted.

     respond
	     A synonym for reply.

     retain  Add the list of header fields named to the retained list  Only  the
	     header  fields  in  the retain list are shown on your terminal when
	     you print a message.  All other header fields are suppressed.   The
	     Type  and	Print commands can be used to print a message in its en-
	     tirety.  If retain is executed with no arguments, it lists the cur-
	     rent set of retained fields.

     save    (s) Takes a message list and a filename and appends each message in
	     turn to the end of the file.  The filename in quotes,  followed  by
	     the  line	count and character count is echoed on the user's termi-
	     nal.

     Save    (S) Takes a message list and appends each message in  turn  to  the
	     end  of the file whose name is derived from the author of the first
	     message to be saved.  The filename in quotes, followed by the  line
	     count and character count is echoed on the user's terminal.

     set     (se)  With  no  arguments,  prints all variable values.  Otherwise,
	     sets option.  Arguments are of the form option=value (no space  be-
	     fore  or  after =) or option.  Quotation marks may be placed around
	     any part of the assignment statement to quote blanks or tabs,  i.e.
	     "set indentprefix="->""

     saveignore
	     Saveignore  is  to  save  what ignore is to print and type.  Header
	     fields thus marked are filtered out when saving a message	by  save
	     or when automatically saving to mbox.

     saveretain
	     Saveretain  is  to  save  what retain is to print and type.  Header
	     fields thus marked are the only ones saved with a message when sav-
	     ing by save or when automatically saving to mbox.	Saveretain over-
	     rides saveignore.

     shell   (sh) Invokes an interactive version of the shell.

     size    Takes a message list and prints out the size in characters of  each
	     message.

     source  The source command reads commands from a file.

     top     Takes  a  message	list  and prints the top few lines of each.  The
	     number of lines printed is controlled by the variable toplines  and
	     defaults to five.

     type    (t) A synonym for print.

     unalias
	     Takes  a  list  of names defined by alias commands and discards the
	     remembered groups of users.  The group names  no  longer  have  any
	     significance.

     undelete
	     (u)  Takes  a  message  list  and	marks  each message as not being
	     deleted.

     unread  (U) Takes a message list and marks each message as not having  been
	     read.

     unset   Takes  a list of option names and discards their remembered values;
	     the inverse of set.

     visual  (v) Takes a message list and invokes the  display	editor	on  each
	     message.

     write   (w)  Similar  to  save, except that only the message body (without)
	     the header) is saved.  Extremely useful for such tasks  as  sending
	     and receiving source program text over the message system.

     xit     (x) A synonym for exit.

     z	     Mailx presents message headers in windowfuls as described under the
	     headers  command.	 You  can  move mailx's attention forward to the
	     next window with the z command.  Also, you can move to the previous
	     window by using z-.

   Tilde/Escapes
     Here is a summary of the tilde escapes, which are used when composing  mes-
     sages  to	perform special functions.  Tilde escapes are only recognized at
     the beginning of lines.  The name "tilde escape" is somewhat of a	misnomer
     since the actual escape character can be set by the option escape.

     ~!command
	     Execute the indicated shell command, then return to the message.

     ~a      Insert the string of the variable ``sign''.

     ~A      Insert the string of the variable ''Sign''.

     ~bname ...
	     Add  the  given  names to the list of carbon copy recipients but do
	     not make the names visible in the Cc: line ("blind" carbon copy).

     ~cname ...
	     Add the given names to the list of carbon copy recipients.

     ~d      Read the file "dead.letter" from your home directory into the  mes-
	     sage.

     ~e      Invoke  the text editor on the message collected so far.  After the
	     editing session is finished, you may continue appending text to the
	     message.

     ~fmessages
	     Read the named messages into the message being sent.   If	no  mes-
	     sages  are specified, read in the current message.  Message headers
	     currently being ignored (by the ignore or retain command)	are  not
	     included.

     ~Fmessages
	     Identical to ~f, except all message headers are included.

     ~h      Edit  the	message header fields by typing each one in turn and al-
	     lowing the user to append text to the end or modify  the  field  by
	     using the current terminal erase and kill characters.

     ~ivariable
	     Insert the string of the variable.

     ~mmessages
	     Read  the named messages into the message being sent, indented by a
	     tab or by the value of indentprefix.  If no messages are specified,
	     read the current message.	Message headers currently being  ignored
	     (by the ignore or retain command) are not included.

     ~Mmessages
	     Identical to ~m, except all message headers are included.

     ~p      Print  out  the  message  collected so far, prefaced by the message
	     header fields.

     ~q      Abort the message being sent, copying the message to  "dead.letter"
	     in your home directory if save is set.

     ~rfilename
	     Read the named file into the message.

     ~Rstring
	     Use string as the Reply-To field.

     ~sstring
	     Cause the named string to become the current subject field.

     ~tname ...
	     Add the given names to the direct recipient list.

     ~v      Invoke  an  alternate  editor (defined by the VISUAL option) on the
	     message collected so far.	Usually, the alternate editor will be  a
	     screen editor.  After you quit the editor, you may resume appending
	     text to the end of your message.

     ~wfilename
	     Write the message onto the named file.

     ~x      Abort  the  message  being  sent  without	copying  the  message to
	     "dead.letter."

     ~|command
	     Pipe the message through the command as a filter.	If  the  command
	     gives  no output or terminates abnormally, retain the original text
	     of the message.  The command fmt(1) is often used as command to re-
	     justify the message.

     ~:mail-command
	     Execute the given mail command.  Not all commands, however, are al-
	     lowed.

     ~~string
	     Insert the string of text in the message prefaced by  a  single  ~.
	     If  you  have  changed the escape character, then you should double
	     that character in order to send it.

   Mail Options
     Options are controlled via set and unset commands.  Options may  be  either
     binary, in which case it is only significant to see whether they are set or
     not;  or string, in which case the actual value is of interest.  The binary
     options include the following:

     append  Causes messages saved in mbox to be appended to the end rather than
	     prepended.  This should always be set (preferably	in  one  of  the
	     system-wide mail.rc files).

     ask     Causes  mailx  to	prompt	you  for the subject of each message you
	     send.  If you respond with simply a newline, no subject field  will
	     be sent.

     askcc   Causes  you to be prompted for additional carbon copy recipients at
	     the end of each message.  Responding with a newline indicates  your
	     satisfaction with the current list.

     autoprint
	     Causes  the delete command to behave like dp - thus, after deleting
	     a message, the next one will be typed automatically.

     debug   Setting the binary option debug is the same as specifying -d on the
	     command line and causes mailx to output all  sorts  of  information
	     useful for debugging mailx.

     dot     The binary option dot causes mailx to interpret a period alone on a
	     line as the terminator of a message you are sending.

     hold    This  option  is used to hold messages in the system mailbox by de-
	     fault.

     ignore  Causes interrupt signals from  your  terminal  to	be  ignored  and
	     echoed as @'s.

     ignoreeof
	     An  option  related to dot is ignoreeof which makes mailx refuse to
	     accept a control-d as the end of a message.  Ignoreeof also applies
	     to mailx command mode.

     metoo   Usually, when a group is expanded that  contains  the  sender,  the
	     sender  is  removed from the expansion.  Setting this option causes
	     the sender to be included in the group.

     noheader
	     Setting the option noheader is the same as giving the  -N	flag  on
	     the command line.

     nosave  Normally,	when  you  abort  a  message  with  two RUBOUT (erase or
	     delete) mailx copies the partial letter to the  file  "dead.letter"
	     in  your home directory.  Setting the binary option nosave prevents
	     this.

     Replyall
	     Reverses the sense of reply and Reply commands.

     quiet   Suppresses the printing of the version when first invoked.

     searchheaders
	     If this option is set, then a message-list specifier  in  the  form
	     ``/x:y'' will expand to all messages containing the substring ``y''
	     in the header field ``x''.  The string search is case insensitive.

     verbose
	     Setting  the option verbose is the same as using the -v flag on the
	     command line.  When mail runs in verbose mode, the actual	delivery
	     of messages is displayed on the user's terminal.

   Option String Values
     EDITOR	   Pathname of the text editor to use in the edit command and ~e
		   escape.  If not defined, then a default editor is used.

     LISTER	   Pathname  of  the directory lister to use in the folders com-
		   mand.  Default is /bin/ls.

     PAGER	   Pathname of the program to use in the more  command	or  when
		   crt	variable  is set.  The default paginator more(1) is used
		   if this option is not defined.

     REPLYTO	   If set, will be used to initialize  the  Reply-To  field  for
		   outgoing messages.

     SHELL	   Pathname  of the shell to use in the ! command and the ~! es-
		   cape.  A default shell is used if this option is not defined.

     VISUAL	   Pathname of the text editor to use in the visual command  and
		   ~v escape.

     crt	   The valued option crt is used as a threshold to determine how
		   long  a  message must be before PAGER is used to read it.  If
		   crt is set without a value, then the height of  the	terminal
		   screen  stored in the system is used to compute the threshold
		   (see stty(1)).

     escape	   If defined, the first character  of	this  option  gives  the
		   character to use in the place of ~ to denote escapes.

     folder	   The	name of the directory to use for storing folders of mes-
		   sages.  If this name begins with a `/', mailx considers it to
		   be an absolute pathname; otherwise, the folder  directory  is
		   found relative to your home directory.

     MBOX	   The	name  of the mbox file.  It can be the name of a folder.
		   The default is "mbox" in the user's home directory.

     record	   If defined, gives the pathname of the file used to record all
		   outgoing mail.  If not defined, then outgoing mail is not  so
		   saved.

     indentprefix  String  used  by  the  ``~m'' tilde escape for indenting mes-
		   sages, in place of the normal tab character (^I).  Be sure to
		   quote the value if it contains spaces or tabs.

     toplines	   If defined, gives the number of lines  of  a  message  to  be
		   printed  out  with  the top command; normally, the first five
		   lines are printed.

     sign	   String used by the ``~a''  tilde escape,  the  value  is  in-
		   serted in the message.

     Sign	   String  used  by  the  ``~A''  tilde escape, the value is in-
		   serted in the message.

ENVIRONMENT
     Mailx utilizes the HOME and USER environment variables.  Also, if the  MAIL
     environment variable is set, it is used as the location of the user's mail-
     box instead of the default in /var/mail.

FILES
     /var/mail/*		 Post office.
     ~/mbox			 User's old mail.
     ~/.mailrc			 File giving initial mail commands.
     /tmp/R*			 Temporary files.
     /usr/share/misc/mail.*help  Help files.

     /usr/share/misc/mail.rc
     /usr/local/etc/mail.rc
     /etc/mail.rc		 System-wide  initialization  files.  Each  file
				 will be sourced, in order, if it exists.

SEE ALSO
     fmt(1), newaliases(1), vacation(1),  aliases(5),  mailaddr(7),  sendmail(8)
     and

     The Mail Reference Manual..

HISTORY
     A	mailx command appeared in Version 1 AT&T UNIX.	This man page is derived
     from The Mail Reference Manual originally written by Kurt Shoens.

BUGS
     There are some flags that are not documented here.  Most are not useful  to
     the general user.

     Usually, mailx is just a link to Mailx, which can be confusing.

4th Berkeley Distribution	December 30, 1993			MAILX(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mailx&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help