Note in dist, mh-profile, and repl man pages that the @ link
[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, with
167 .B \-atfile
168 and if the current directory is writable, the message being resent
169 is available through a link named \*(lq@\*(rq (assuming the default
170 .IR whatnowproc ).
171 In addition, the actual pathname of the message is
172 stored in the environment variable
173 .BR $editalt ,
174 and the pathname of
175 the folder containing the message is stored in the environment variable
176 .BR $mhfolder .
177 The creation of the \*(lq@\*(rq file is controlled via the
178 .B \-atfile
179 and
180 .B \-noatfile
181 options.
182 .PP
183 The
184 .B \-draftfolder
185 .I +folder
186 and
187 .B \-draftmessage
188 .I msg
189 switches invoke the
190 .B nmh
191 draft folder facility.  This is an advanced (and highly
192 useful) feature.  Consult the
193 .IR mh-draft (5)
194 man page for more information.
195 .PP
196 Upon exiting from the editor,
197 .B dist
198 will invoke the
199 .B whatnow
200 program.  See
201 .IR whatnow (1)
202 for a discussion of available options.  The invocation of this
203 program can be inhibited by using the
204 .B \-nowhatnowproc
205 switch.  (In truth of fact, it is the
206 .B whatnow
207 program which starts the initial edit.  Hence,
208 .B \-nowhatnowproc
209 will prevent any edit from occurring.)
210 .SH FILES
211 .fc ^ ~
212 .nf
213 .ta \w'%etcdir%/ExtraBigFileName  'u
214 ^%etcdir%/distcomps~^The standard message skeleton
215 ^or <mh\-dir>/distcomps~^Rather than the standard skeleton
216 ^$HOME/\&.mh\(ruprofile~^The user profile
217 ^<mh\-dir>/draft~^The draft file
218 .fi
219 .SH "PROFILE COMPONENTS"
220 .fc ^ ~
221 .nf
222 .ta 2.4i
223 .ta \w'ExtraBigProfileName  'u
224 ^Path:~^To determine the user's nmh directory
225 ^Current\-Folder:~^To find the default current folder
226 ^Draft\-Folder:~^To find the default draft\-folder
227 ^Editor:~^To override the default editor
228 ^fileproc:~^Program to refile the message
229 ^whatnowproc:~^Program to ask the \*(lqWhat now?\*(rq questions
230 .fi
231 .SH "SEE ALSO"
232 .IR comp (1),
233 .IR forw (1),
234 .IR prompter (1),
235 .IR repl (1),
236 .IR send (1),
237 .IR whatnow (1)
238 .SH DEFAULTS
239 .nf
240 .RB ` +folder "' defaults to the current folder"
241 .RB ` msg "' defaults to cur"
242 .RB ` \-noannotate '
243 .RB ` \-nodraftfolder '
244 .RB ` \-inplace '
245 .RB ` \-noatfile '
246 .fi
247 .SH CONTEXT
248 If a folder is given, it will become the current folder.  The message
249 distributed will become the current message.
250 .SH HISTORY
251 .B Dist
252 originally used headers of the form
253 .RI \*(lq Distribute\-xxx: \*(rq
254 instead of
255 .RI \*(lq Resent\-xxx: \*(rq.
256 In order to conform with the ARPA Internet standard, RFC\-822, the
257 .RI \*(lq Resent\-xxx: \*(rq
258 form is now used.
259 .B Dist
260 will recognize
261 .RI \*(lq Distribute\-xxx: \*(rq
262 type headers and automatically convert them to
263 .RI \*(lq Resent\-xxx: \*(rq.
264 .SH BUGS
265 .B Dist
266 does not rigorously check the message being distributed
267 for adherence to the transport standard, but
268 .B post
269 called by
270 .B send
271 does.  The
272 .B post
273 program will balk (and rightly so) at poorly formatted messages, and
274 .B dist
275 won't correct things for you.
276 .PP
277 If
278 .I whatnowproc
279 is
280 .BR whatnow ,
281 then
282 .B comp
283 uses a built\-in
284 .BR whatnow ,
285 it does not actually run the
286 .B whatnow
287 program.
288 Hence, if you define your own
289 .IR whatnowproc ,
290 don't call it
291 .B whatnow
292 since
293 .B comp
294 won't run it.