Annotation of researchv10dc/man/manb/delivermail.8, revision 1.1.1.1

1.1       root        1: .TH DELIVERMAIL 8
                      2: .UC 4
                      3: .SH NAME
                      4: delivermail \- deliver mail to arbitrary people
                      5: .SH SYNOPSIS
                      6: .B /etc/delivermail
                      7: [
                      8: .BR \- [ fr ]
                      9: .I address
                     10: ] [
                     11: .B \-a
                     12: ] [
                     13: .BI \-e x
                     14: ] [
                     15: .B \-n
                     16: ] [
                     17: .B \-m
                     18: ] [
                     19: .B \-s
                     20: ] [
                     21: .B \-i
                     22: ] [
                     23: .B \-h
                     24: .I N
                     25: ] address ...
                     26: .SH DESCRIPTION
                     27: .I Delivermail
                     28: delivers a letter to one or more people,
                     29: routing the letter over whatever networks
                     30: are necessary.
                     31: .I Delivermail
                     32: will do inter-net forwarding as necessary
                     33: to deliver the mail to the correct place.
                     34: .PP
                     35: .I Delivermail
                     36: is not intended as a user interface routine;
                     37: it is expected that other programs will provide user-friendly
                     38: front ends,
                     39: and
                     40: .I delivermail
                     41: will be used only to deliver pre-formatted messages.
                     42: .PP
                     43: .I Delivermail
                     44: reads its standard input
                     45: up to a control-D
                     46: or a line with a single dot
                     47: and sends a copy of the letter found there
                     48: to all of the addresses listed.
                     49: If the
                     50: .B \-i
                     51: flag is given,
                     52: single dots are ignored.
                     53: It determines the network to use
                     54: based on the syntax of the addresses.
                     55: Addresses containing the character `@'
                     56: or the word \*(lqat\*(rq
                     57: are sent to the
                     58: .SM ARPANET;
                     59: addresses containing `!'
                     60: are sent to the
                     61: .SM UUCP
                     62: net,
                     63: and addresses containing `:' or `.'
                     64: are sent to the Berkeley network.
                     65: Other addresses are assumed to be local.
                     66: .PP
                     67: Local addresses are looked up in a file
                     68: constructed by
                     69: .IR newaliases (1)
                     70: from the data file
                     71: .I /usr/lib/aliases
                     72: and aliased appropriately.
                     73: Aliasing can be prevented by preceding the address
                     74: with a backslash or using the
                     75: .B \-n
                     76: flag.
                     77: Normally the sender is not included in any alias
                     78: expansions, e.g.,
                     79: if `john' sends to `group',
                     80: and `group' includes `john' in the expansion,
                     81: then the letter will not be delivered to `john'.
                     82: The
                     83: .B \-m
                     84: flag disables this suppression.
                     85: .PP
                     86: .I Delivermail
                     87: computes the person sending the mail
                     88: by looking at your login name.
                     89: The \*(lqfrom\*(rq person
                     90: can be explicitly specified by using the
                     91: .B \-f
                     92: flag;
                     93: or, if the
                     94: .B \-a
                     95: flag is given,
                     96: delivermail looks in the body of the message
                     97: for a \*(lqFrom:\*(rq or \*(lqSender:\*(rq
                     98: field in
                     99: .SM ARPANET
                    100: format.
                    101: The
                    102: .B \-f
                    103: and
                    104: .B \-a
                    105: flags can be used
                    106: only by the special users
                    107: .I root
                    108: and
                    109: .I network,
                    110: or if the person you are trying to become
                    111: is the same as the person you are.
                    112: The
                    113: .B \-r
                    114: flag is entirely equivalent to the
                    115: .B \-f
                    116: flag; it is provided for ease of interface only.
                    117: .PP
                    118: The
                    119: .BI \-e x
                    120: flag controls the disposition of error output,
                    121: as follows:
                    122: .TP 3n
                    123: .B e
                    124: Print errors on the standard output,
                    125: and echo a copy of the message when done.
                    126: It is assumed that a network server will
                    127: return the message back to the user.
                    128: .TP
                    129: .B m
                    130: Mail errors back to the user.
                    131: .TP
                    132: .B p
                    133: Print errors on the standard output.
                    134: .TP
                    135: .B q
                    136: Throw errors away;
                    137: only exit status is returned.
                    138: .TP
                    139: .B w
                    140: Write errors back to the user's terminal,
                    141: but only if the user is still logged in
                    142: and write permission is enabled;
                    143: otherwise errors are mailed back.
                    144: .LP
                    145: If the error is not mailed back,
                    146: and if the mail originated on the machine where the error occurred,
                    147: the letter is appended to the file
                    148: .I dead.letter
                    149: in the sender's home directory.
                    150: .PP
                    151: If the first character of the user name
                    152: is a vertical bar,
                    153: the rest of the user name is used as the name of a program
                    154: to pipe the mail to.
                    155: It may be necessary to quote the name of the user
                    156: to keep
                    157: .I delivermail
                    158: from suppressing the blanks from between arguments.
                    159: .PP
                    160: The message is normally edited to eliminate \*(lqFrom\*(rq
                    161: lines that might confuse other mailers.
                    162: In particular,
                    163: \*(lqFrom\*(rq lines in the header are deleted,
                    164: and \*(lqFrom\*(rq lines in the body are prepended by `>'.
                    165: The
                    166: .B \-s
                    167: flag saves \*(lqFrom\*(rq lines in the header.
                    168: .PP
                    169: The
                    170: .B \-h
                    171: flag gives a \*(lqhop-count\*(rq, i.e.,
                    172: a measure of how many times this message
                    173: has been processed by
                    174: .I delivermail
                    175: (presumably on different machines).
                    176: Each time
                    177: .I delivermail
                    178: processes a message,
                    179: it increases the hop-count by one;
                    180: if it exceeds 30
                    181: .I delivermail
                    182: assumes that an alias loop has occurred
                    183: and it aborts the message.
                    184: The hop-count defaults to zero.
                    185: .PP
                    186: .I Delivermail
                    187: returns an exit status
                    188: describing what it did.
                    189: The codes are defined in <sysexits.h>
                    190: .ta 3n +\w'EX_UNAVAILABLE'u+3n
                    191: .de XX
                    192: .ti \n(.iu
                    193: ..
                    194: .in +\w'EX_UNAVAILABLE'u+6n
                    195: .XX
                    196:        EX_OK   Successful completion on all addresses.
                    197: .XX
                    198:        EX_NOUSER       User name not recognized.
                    199: .XX
                    200:        EX_UNAVAILABLE  Catchall meaning necessary resources
                    201: were not available.
                    202: .XX
                    203:        EX_SYNTAX       Syntax error in address.
                    204: .XX
                    205:        EX_SOFTWARE     Internal software error,
                    206: including bad arguments.
                    207: .XX
                    208:        EX_OSERR        Temporary operating system error,
                    209: such as \*(lqcannot fork\*(rq.
                    210: .XX
                    211:        EX_NOHOST       Host name not recognized.
                    212: .SH FILES
                    213: .if t .ta 2i
                    214: .if n .ta 3i
                    215: /usr/lib/aliases       raw data for alias names
                    216: .br
                    217: /usr/lib/aliases.dir   data base of alias names
                    218: .br
                    219: /usr/lib/aliases.pag
                    220: .br
                    221: /bin/mail      to deliver uucp mail
                    222: .br
                    223: /usr/net/bin/v6mail    to deliver local mail
                    224: .br
                    225: /usr/net/bin/sendmail  to deliver Berknet mail
                    226: .br
                    227: /usr/lib/mailers/arpa  to deliver ARPANET mail
                    228: .br
                    229: /tmp/mail*     temp file
                    230: .br
                    231: /tmp/xscript*  saved transcript
                    232: .SH SEE\ ALSO
                    233: biff(1), binmail(1), mail(1), newaliases(1), aliases(5)
                    234: .SH BUGS
                    235: .I Delivermail
                    236: sends one copy of the letter
                    237: to each user;
                    238: it should send one copy
                    239: of the letter to each host
                    240: and distribute to multiple users there
                    241: whenever possible.
                    242: .PP
                    243: .I Delivermail
                    244: assumes the addresses can be represented as one word.
                    245: This is incorrect according to the
                    246: .SM ARPANET
                    247: mail protocol RFC 733 (NIC 41952),
                    248: but is consistent with the real world.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.