|
|
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.