Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mail(1) — DG/UX 5.4.2A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(1)

login(1)

mailx(1)

notify(1)

write(1)

vacation(1)

mailsurr(4)

mailcnfg(4)



mail(1)                          DG/UX 5.4.2                         mail(1)


NAME
       mail, rmail - read mail or send mail to users

SYNOPSIS
   Sending Mail
       mail [ -tw ] [ -m messagetype ] recipient . . .

       rmail [ -tw ] [ -m messagetype ] recipient . . .

   Reading Mail
       mail [ -ehpPqr ] [ -f file ]

   Forwarding Mail
       mail -F recipient . . .

   Debugging
       mail [ -xdebuglevel ] [ othermailoptions ] recipient . . .

       mail -T mailsurrfile recipient . . .

DESCRIPTION
       A recipient is usually a user name recognized by login(1).  When
       recipients are named, mail assumes a message is being sent (except in
       the case of the -F option).  It reads from the standard input up to
       an end-of-file (Ctrl-D) or, if reading from a terminal device, until
       it reads a line consisting of just a period.  When either of those
       indicators is received, mail adds the letter to the mailfile for each
       recipient.

       A letter is composed of some header lines followed by a blank line
       followed by the message content.  The header lines section of the
       letter consists of one or more UNIX postmarks:
              From sender dateandtime [remote from remotesystemname]
       followed by one or more standardized message header lines of the
       form:
              keyword-name: [printable text]
       where keyword-name is comprised of any printable, non-white-space,
       characters other than colon (`:').  A Content-Length: header line,
       indicating the number of bytes in the message content will always be
       present.  A Content-Type: header line that describes the type of the
       message content (such as text, binary, multipart, etc.) will always
       be present unless the letter consists of only header lines with no
       message content.  Header lines may be continued on the following line
       if that line starts with white space.

   International Features
       mail enables the retrieval, editing and processing of mail messages
       which include characters from supplementary code sets.  Supplementary
       code set characters can be used in the subject line.

   Sending Mail
       The following command-line arguments affect SENDING mail:
       -m     causes a Message-Type: line to be added to the message header
              with the value of messagetype.



Licensed material--property of copyright holder(s)                         1




mail(1)                          DG/UX 5.4.2                         mail(1)


       -t     causes a To: line to be added to the message header for each
              of the intended recipients.
       -w     causes a letter to be sent to a remote recipient without
              waiting for the completion of the remote transfer program.

       If a letter is found to be undeliverable, it is returned to the
       sender with diagnostics that indicate the location and nature of the
       failure.  If mail is interrupted during input, the message is saved
       in the file dead.letter to allow editing and resending.  dead.letter
       is always appended to, thus preserving any previous contents.  The
       initial attempt to append to (or create) dead.letter will be in the
       current directory.  If this fails, dead.letter will be appended to
       (or created in) the user's login directory.  If the second attempt
       also fails, no dead.letter processing will be done.

       rmail only permits the sending of mail; uucp(1C) uses rmail as a
       security precaution.  Any application programs that generate mail
       messages should be sure to invoke rmail rather than mail for message
       transport and/or delivery.

       If the local system has the Basic Networking Utilities installed,
       mail may be sent to a recipient on a remote system.  There are
       numerous ways to address mail to recipients on remote systems
       depending on the transport mechanisms available to the local system.
       The two most prevalent addressing schemes are UUCP-style and Domain-
       style.  With UUCP-style addressing, remote recipients are specified
       by prefixing the recipient name with the remote system name and an
       exclamation point (such as sysa!user).  A series of system names
       separated by exclamation points can be used to direct a letter
       through an extended network (such as sysa!sysb!sysc!user).  With
       Domain-style addressing, remote recipients are specified by appending
       an `@' and domain (and possibly sub-domain) information to the
       recipient name (such as user@sf.att.com).  (The local system
       administrator should be consulted for details on which addressing
       conventions are available on the local system.)

   Reading Mail
       The following command-line arguments affect READING mail:
       -e     causes mail not to be printed.  An exit value of 0 is returned
              if the user has mail; otherwise, an exit value of 1 is
              returned.
       -h     causes a window of headers to be initially displayed rather
              than the latest message.  The display is followed by the `?'
              prompt.
       -p     causes all messages to be printed without prompting for
              disposition.
       -P     causes all messages to be printed with all header lines
              displayed, rather than the default selective header line
              display.
       -q     causes mail to terminate after interrupts.  Normally an
              interrupt causes only the termination of the message being
              printed.
       -r     causes messages to be printed in first-in, first-out order.




Licensed material--property of copyright holder(s)                         2




mail(1)                          DG/UX 5.4.2                         mail(1)


       -f file
              causes mail to use file (such as mbox) instead of the default
              mailfile.

       mail, unless otherwise influenced by command-line arguments, prints a
       user's mail messages in last-in, first-out order.  The default mode
       for printing messages is to display only those header lines of
       immediate interest.  These include, but are not limited to, the UNIX
       From and >From postmarks, From:, Date:, Subject:, and Content-Length:
       header lines, and any recipient header lines such as To:, Cc:, Bcc:,
       etc.  After the header lines have been displayed, mail will display
       the contents (body) of the message only if it contains no unprintable
       characters.  Otherwise, mail will issue a warning statement about the
       message having binary content and not display the content.  (This may
       be overridden via the p command. See below.)

       For each message, the user is prompted with a ?, and a line is read
       from the standard input.  The following commands are available to
       determine the disposition of the message:

       #                    Print the number of the current message.

       -                    Print previous message.

       <new-line>, +, or n  Print the next message.

       !command             Escape to the shell to do command.

       a                    Print message that arrived during the mail
                            session.

       d, or dp             Delete the current message and print the next
                            message.

       d n                  Delete message number n.  Do not go on to next
                            message.

       dq                   Delete message and quit mail.

       h                    Display a window of headers around current
                            message.

       h n                  Display a window of headers around message
                            number n.

       h a                  Display headers of all messages in the user's
                            mailfile.

       h d                  Display headers of messages scheduled for
                            deletion.

       m [ persons ]        Mail (and delete) the current message to the
                            named person(s).




Licensed material--property of copyright holder(s)                         3




mail(1)                          DG/UX 5.4.2                         mail(1)


       n                    Print message number n.

       p                    Print current message again, overriding any
                            indications of binary (that is, unprintable)
                            content.

       P                    Override default brief mode and print current
                            message again, displaying all header lines.

       q, or Ctrl-D         Put undeleted mail back in the mailfile and quit
                            mail.

       r [ users ]          Reply to the sender, and other user(s), then
                            delete the message.

       s [ files ]          Save message in the named file(s) (mbox is
                            default) and delete the message.

       u [ n ]              Undelete message number n (default is last
                            read).

       w [ files ]          Save message contents, without any header lines,
                            in the named files (mbox is default) and delete
                            the message.

       x                    Put all mail back in the mailfile unchanged and
                            exit mail.

       y [ files ]          Same as save.

       ?                    Print a command summary.

       When a user logs in, the presence of mail, if any, is usually
       indicated.  Also, notification is made if new mail arrives while
       using mail.

       The permissions of mailfile may be manipulated using chmod in two
       ways to alter the function of mail.  The other permissions of the
       file may be read-write (0666), read-only (0664), or neither read nor
       write (0660) to allow different levels of privacy.  If changed to
       other than the default (mode 0660), the file will be preserved even
       when empty to perpetuate the desired permissions.  (The administrator
       may override this file preservation using the DELEMPTYMAILFILE
       option of mailcnfg.)

       The group id of the mailfile must be mail to allow new messages to be
       delivered, and the mailfile must be writable by group mail.

   Forwarding Mail
       The following command-line argument affects FORWARDING of mail:
       -F recipients
              Causes all incoming mail to be forwarded to recipients. The
              mailbox must be empty.




Licensed material--property of copyright holder(s)                         4




mail(1)                          DG/UX 5.4.2                         mail(1)


       The -F option causes the mailfile to contain a first line of:
              Forward to recipient. . .
       Thereafter, all mail sent to the owner of the mailfile will be
       forwarded to each recipient.

       An Auto-Forwarded-From: ... line will be added to the forwarded
       message's header.  This is especially useful in a multi-machine
       environment to forward all a person's mail to a single machine, and
       to keep the recipient informed if the mail has been forwarded.

       Installation and removal of forwarding is done with the -F invocation
       option.  To forward all your mail to systema!user enter:
              mail -F systema!user

       To forward to more than one recipient enter:
              mail -F "user1,user2@att.com,systemc!systemd!user3"

       Note that when more than one recipient is specified, the entire list
       should be enclosed in double quotes so that it may all be interpreted
       as the operand of the -F option.  The list can be up to 1024 bytes;
       either commas or white space can be used to separate users.

       If the first character of any forwarded-to recipient name is the pipe
       symbol (`|'), the remainder of the line will be interpreted as a
       command to pipe the current mail message to.  The command, known as a
       Personal Surrogate, will be executed in the environment of the
       recipient of the message (that is, basename of the mailfile).  For
       example, if the mailfile is /var/mail/foo, foo will be looked up in
       /etc/passwd to determine the correct userID, groupID, and HOME
       directory.  The command's environment will be set to contain only
       HOME, LOGNAME, TZ, PATH (= /usr/usr/bin:), and SHELL (= /usr/bin/sh),
       and the command will execute in the recipient's HOME directory.  If
       the message recipient cannot be found in /etc/passwd, the command
       will not be executed and a non-delivery notification with appropriate
       diagnostics will be sent to the message's originator.

       After the pipe symbol, escaped double quotes should be used to have
       strings with embedded white space be considered as single arguments
       to the command being executed.  No shell syntax or metacharacters may
       be used unless the command specified is /usr/bin/sh.  For example,
              mail -F "|/bin/sh -c \"shellcommandline\""
       will work, but is not advised since using double quotes and
       backslashes within the shell_command_line is difficult to do
       correctly and becomes tedious very quickly.

       Certain %keywords are allowed within the piped-to command
       specification and will be textually substituted for before the
       command line is executed.
       %R     Return path to the message originator.
       %c     Value of the Content-Type: header line if present.
       %S     Value of the Subject: header line if present.

       If the command being piped to exits with any non-zero value, mail
       will assume that message delivery failed and will generate a non-



Licensed material--property of copyright holder(s)                         5




mail(1)                          DG/UX 5.4.2                         mail(1)


       delivery notification to the message's originator. It is allowable to
       forward mail to other recipients and pipe it to a command, as in
              mail -F "carol,joe,|myvacationprog %R"

       Two UNIX System facilities that use the forwarding of messages to
       commands are notify(1), which causes asynchronous notification of new
       mail, and vacation(1), which provides an auto-answer capability for
       messages when the recipient will be unavailable for an extended
       period of time.

       To remove forwarding enter:
              mail -F ""

       The pair of double quotes is mandatory to set a NULL argument for the
       -F option.

       In order for forwarding to work properly the mailfile should have
       mail as group ID, and the group permission should be read-write.

       mail will exit with a return code of 0 if forwarding was successfully
       installed or removed.

   Debugging
       The following command-line arguments cause mail to provide DEBUGGING
       information:
       -T mailsurrfile  causes mail to display how it will parse and
                         interpret the mailsurr file.
       -xdebuglevel     causes mail to create a trace file containing
                         debugging information.

       The -T option requires an argument that will be taken as the pathname
       of a test mailsurr file.  If NULL (as in -T ""), the system mailsurr
       file will be used.  To use, type 'mail -T testfile recipient' and
       some trivial message (like "testing"), followed by a line with either
       just a dot (`.') or a Ctrl-D.  The result of using the -T option will
       be displayed on standard output and show the inputs and resulting
       transformations as mailsurr is processed by the mail command for the
       indicated recipient.  Mail messages will never actually be sent or
       delivered when the -T option is used.

       The  -x option causes mail to create a file named
       /tmp/MLDBGprocessid that contains debugging information relating to
       how mail processed the current message.  The absolute value of
       debuglevel controls the verboseness of the debug information.  Zero
       implies no debugging.  If debuglevel is greater than zero, the debug
       file will be retained only if mail encountered some problem while
       processing the message.  If debuglevel is less than zero the debug
       file will always be retained.  The debuglevel specified via -x
       overrides any specification of DEBUG in /etc/mail/mailcnfg.  The
       information provided by the -x option is esoteric and is probably
       only useful to system administrators.  The output produced by the -x
       option is a superset of that provided by the -T option.





Licensed material--property of copyright holder(s)                         6




mail(1)                          DG/UX 5.4.2                         mail(1)


   Delivery Notification
       Several forms of notification are available for mail by including one
       of the following lines in the message header.

       Transport-Options: [ /options ]
       Default-Options: [ /options ]
       >To: recipient [ /options ]

       Where the ``/options'' may be one or more of the following:

       /delivery     Inform the sender that the message was successfully
                     delivered to the recipient's mailbox.

       /nodelivery   Do not inform the sender of successful deliveries.

       /ignore       Do not inform the sender of unsuccessful deliveries.

       /return       Inform the sender if mail delivery fails.  Return the
                     failed message to the sender.

       /report       Same as /return except that the original message is not
                     returned.

       The default is /nodelivery/return.  If contradictory options are
       used, the first will be recognized and later, conflicting, terms will
       be ignored.

FILES
       dead.letter         unmailable text
       /etc/passwd         to identify sender and locate recipients
       /etc/mail/mailsurr  routing / name translation information
       /etc/mail/mailcnfg  initialization information
       $HOME/mbox          saved mail
       $MAIL               variable containing pathname of mailfile
       /tmp/ma*            temporary file
       /tmp/MLDBG*         debug trace file
       /var/mail/*.lock    lock for mail directory
       /var/mail/:saved    directory for holding temp files to prevent loss
                           of data in the event of a system crash.
       /var/mail/user      incoming mail for user; that is, the mailfile

SEE ALSO
       chmod(1), login(1), mailx(1), notify(1), write(1), vacation(1)
       mailpipe(1M), mailsurr(4), mailcnfg(4).
       User's Guide.

NOTES
       The "Forward to recipient" feature may result in a loop.  Local loops
       (messages sent to usera, which are forwarded to userb, which are
       forwarded to usera) will be detected immediately. Remote loops (mail
       sent to sys1!usera1 which is forwarded to sys2!userb, which is
       forwarded to sys1!usera) will also be detected, but only after the
       message has exceeded the built-in hop count limit of 20.  Both cases
       of forwarding loops will result in a non-delivery notification being



Licensed material--property of copyright holder(s)                         7




mail(1)                          DG/UX 5.4.2                         mail(1)


       sent to the message originator.

       As a security precaution, the equivalent of a chmod s+g is performed
       on the mailfile whenever forwarding is activated via the -F option,
       and a chmod s-g is done when forwarding is removed via the -F option.
       If the setGID mode bit is not set when mail attempts to forward an
       incoming message to a command, the operation will fail and a non-
       delivery report with appropriate diagnostics will be sent to the
       message's originator.

       The interpretation and resulting action taken because of the header
       lines described in the Delivery Notifications section above will only
       occur if this version of mail is installed on the system where the
       delivery (or failure) happens.  Earlier versions of mail may not
       support any types of delivery notification.

       Conditions sometimes result in a failure to remove a lock file.

       After an interrupt, the next message may not be printed; printing may
       be forced by typing a p.

       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 mail.  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)                         8


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026