|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.