dbfd251f83f7ba24ff3fefa6297b304c636b3aa6
[mmh] / man / dist.man
1 .TH DIST %manext1% "June 18, 2012" "%nmhversion%"
2 .\"
3 .\" %nmhwarning%
4 .\"
5 .SH NAME
6 dist \- redistribute a message to additional addresses
7 .SH SYNOPSIS
8 .HP 5
9 .na
10 .B dist
11 .RI [ +folder ]
12 .RI [ msg ]
13 .RB [ \-form
14 .IR formfile ]
15 .RB [ \-annotate " | " \-noannotate ]
16 .RB [ \-inplace " | " \-noinplace ]
17 .RB [ \-draftfolder
18 .IR +folder ]
19 .RB [ \-draftmessage
20 .IR msg ]
21 .RB [ \-nodraftfolder ]
22 .RB [ \-editor
23 .IR editor ]
24 .RB [ \-noedit ]
25 .RB [ \-width
26 .IR columns ]
27 .RB [ \-from
28 .IR address ]
29 .RB [ \-to
30 .IR address ]
31 .RB [ \-cc
32 .IR address ]
33 .RB [ \-fcc
34 .IR +folder ]
35 .RB [ \-whatnowproc
36 .IR program ]
37 .RB [ \-nowhatnowproc ]
38 .RB [ \-atfile ]
39 .RB [ \-noatfile ]
40 .RB [ \-version ]
41 .RB [ \-help ]
42 .ad
43 .SH DESCRIPTION
44 .B Dist
45 is similar to
46 .BR forw .
47 It prepares the specified message
48 for redistribution to addresses that (presumably) are not on the original
49 address list.
50 .PP
51 The default message form contains the following elements:
52 .PP
53 .RS 5
54 .nf
55 Resent-From: {from switch} or <Local-Mailbox> or <username@hostname>
56 Resent-To: {to switch} or blank
57 Resent-cc: {cc switch} or blank
58 Resent-fcc: {fcc switch} or blank
59 .fi
60 .RE
61 .PP
62 If a file named
63 .RI \*(lq distcomps \*(rq
64 exists in the user's nmh directory, it
65 will be used instead of this default form.  You may specify an alternate
66 forms file with the switch
67 .B \-form
68 .IR formfile .
69 Forms are processed via the
70 .B nmh
71 template system; see
72 .IR mh\-format (5)
73 for details.  Components from the redistributed message are available
74 as standard component escapes in the forms file.
75 .PP
76 In addition to the standard
77 .IR mh\-format (5)
78 escapes, the following
79 .I component
80 escapes are also supported:
81 .PP
82 .RS 5
83 .nf
84 .ta \w'Escape   'u +\w'Returns  'u
85 .I "Escape      Returns Description"
86 fcc     string  Any folders specified with `\-fcc\ folder'
87 nmh\-from       string  Addresses specified with `\-from\ address'
88 nmh\-to string  Addresses specified with `\-to\ address'
89 nmh\-cc string  Addresses specified with `\-cc\ address'
90 .fi
91 .RE
92 .PP
93 See the
94 .IR forw (1)
95 man page for descriptions of the
96 .BR \-from ,
97 .BR \-to ,
98 .BR \-cc ,
99 and
100 .B \-fcc
101 switches.
102 .PP
103 If the draft already exists,
104 .B dist
105 will ask you as to the disposition of the draft.  A reply of
106 .B quit
107 will abort
108 .BR dist ,
109 leaving the draft intact;
110 .B replace
111 will replace the existing draft with a blank skeleton; and
112 .B list
113 will display the draft.
114 .PP
115 Only those addresses in
116 .RI \*(lq Resent\-To: \*(rq,
117 .RI \*(lq Resent\-cc: \*(rq,
118 and
119 .RI \*(lq Resent\-Bcc: \*(rq
120 will be sent.  Also, a
121 .RI \*(lq "Resent\-Fcc: folder" \*(rq
122 will be honored (see
123 .IR send (1)).
124 Note that with
125 .BR dist ,
126 the draft should contain only
127 .RI \*(lq Resent\-xxx: \*(rq
128 fields and no body.  The headers and the body of
129 the original message are copied to the draft when the message is sent.
130 Use care in constructing the headers for the redistribution.
131 .PP
132 Because the draft is minimal, the
133 .IR prompter (1)
134 editor is quite useful with
135 .BR dist .
136 .PP
137 If the
138 .B \-annotate
139 switch is given, the  message being distributed will
140 be annotated with the lines:
141 .RS
142 Resent:\ date
143 .br
144 Resent:\ addrs
145 .RE
146 where each address list contains as many lines as required.  This
147 annotation will be done only if the message is sent directly from
148 .BR dist .
149 If the message is not sent immediately from
150 .BR dist ,
151 .RB \*(lq comp
152 .BR \-use \*(rq
153 may be used to re\-edit and send the constructed
154 message, but the annotations won't take place.  Normally annotations are
155 done inplace in order to preserve any links to the message.  You may use
156 the
157 .B \-noinplace
158 switch to change this.
159 .PP
160 See
161 .IR comp (1)
162 for a description of the
163 .B \-editor
164 and
165 .B \-noedit
166 switches.  Note that while in the editor, the message being resent
167 is available through a link named \*(lq@\*(rq (assuming the default
168 .IR whatnowproc ).
169 In addition, the actual pathname of the message is
170 stored in the environment variable
171 .BR $editalt ,
172 and the pathname of
173 the folder containing the message is stored in the environment variable
174 .BR $mhfolder .
175 The creation of the \*(lq@\*(rq file and associated environment variables
176 can be controlled via the
177 .B \-atfile
178 and
179 .B \-noatfile
180 options.
181 .PP
182 The
183 .B \-draftfolder
184 .I +folder
185 and
186 .B \-draftmessage
187 .I msg
188 switches invoke the
189 .B nmh
190 draft folder facility.  This is an advanced (and highly
191 useful) feature.  Consult the
192 .IR mh-draft (5)
193 man page for more information.
194 .PP
195 Upon exiting from the editor,
196 .B dist
197 will invoke the
198 .B whatnow
199 program.  See
200 .IR whatnow (1)
201 for a discussion of available options.  The invocation of this
202 program can be inhibited by using the
203 .B \-nowhatnowproc
204 switch.  (In truth of fact, it is the
205 .B whatnow
206 program which starts the initial edit.  Hence,
207 .B \-nowhatnowproc
208 will prevent any edit from occurring.)
209 .SH FILES
210 .fc ^ ~
211 .nf
212 .ta \w'%etcdir%/ExtraBigFileName  'u
213 ^%etcdir%/distcomps~^The standard message skeleton
214 ^or <mh\-dir>/distcomps~^Rather than the standard skeleton
215 ^$HOME/\&.mh\(ruprofile~^The user profile
216 ^<mh\-dir>/draft~^The draft file
217 .fi
218 .SH "PROFILE COMPONENTS"
219 .fc ^ ~
220 .nf
221 .ta 2.4i
222 .ta \w'ExtraBigProfileName  'u
223 ^Path:~^To determine the user's nmh directory
224 ^Current\-Folder:~^To find the default current folder
225 ^Draft\-Folder:~^To find the default draft\-folder
226 ^Editor:~^To override the default editor
227 ^fileproc:~^Program to refile the message
228 ^whatnowproc:~^Program to ask the \*(lqWhat now?\*(rq questions
229 .fi
230 .SH "SEE ALSO"
231 .IR comp (1),
232 .IR forw (1),
233 .IR prompter (1),
234 .IR repl (1),
235 .IR send (1),
236 .IR whatnow (1)
237 .SH DEFAULTS
238 .nf
239 .RB ` +folder "' defaults to the current folder"
240 .RB ` msg "' defaults to cur"
241 .RB ` \-noannotate '
242 .RB ` \-nodraftfolder '
243 .RB ` \-inplace '
244 .RB ` \-noatfile '
245 .fi
246 .SH CONTEXT
247 If a folder is given, it will become the current folder.  The message
248 distributed will become the current message.
249 .SH HISTORY
250 .B Dist
251 originally used headers of the form
252 .RI \*(lq Distribute\-xxx: \*(rq
253 instead of
254 .RI \*(lq Resent\-xxx: \*(rq.
255 In order to conform with the ARPA Internet standard, RFC\-822, the
256 .RI \*(lq Resent\-xxx: \*(rq
257 form is now used.
258 .B Dist
259 will recognize
260 .RI \*(lq Distribute\-xxx: \*(rq
261 type headers and automatically convert them to
262 .RI \*(lq Resent\-xxx: \*(rq.
263 .SH BUGS
264 .B Dist
265 does not rigorously check the message being distributed
266 for adherence to the transport standard, but
267 .B post
268 called by
269 .B send
270 does.  The
271 .B post
272 program will balk (and rightly so) at poorly formatted messages, and
273 .B dist
274 won't correct things for you.
275 .PP
276 If
277 .I whatnowproc
278 is
279 .BR whatnow ,
280 then
281 .B comp
282 uses a built\-in
283 .BR whatnow ,
284 it does not actually run the
285 .B whatnow
286 program.
287 Hence, if you define your own
288 .IR whatnowproc ,
289 don't call it
290 .B whatnow
291 since
292 .B comp
293 won't run it.
294 .PP
295 If your current working directory is not writable, the link named
296 \*(lq@\*(rq is not available.