Added all of the MH sources, including RCS files, in
[mmh] / docs / historical / mh-6.8.5 / conf / doc / RCS / mhn.rf,v
1 head    1.14;
2 access;
3 symbols;
4 locks; strict;
5 comment @# @;
6
7
8 1.14
9 date    93.10.26.20.12.56;      author jromine; state Exp;
10 branches;
11 next    1.13;
12
13 1.13
14 date    93.10.26.16.23.27;      author jromine; state Exp;
15 branches;
16 next    1.12;
17
18 1.12
19 date    93.10.26.16.02.50;      author jromine; state Exp;
20 branches;
21 next    1.11;
22
23 1.11
24 date    93.09.09.22.32.07;      author jromine; state Exp;
25 branches;
26 next    1.10;
27
28 1.10
29 date    93.09.01.20.49.46;      author jromine; state Exp;
30 branches;
31 next    1.9;
32
33 1.9
34 date    93.08.20.15.42.08;      author jromine; state Exp;
35 branches;
36 next    1.8;
37
38 1.8
39 date    92.12.10.23.59.10;      author jromine; state Exp;
40 branches;
41 next    1.7;
42
43 1.7
44 date    92.11.16.22.31.42;      author jromine; state Exp;
45 branches;
46 next    1.6;
47
48 1.6
49 date    92.11.02.16.58.55;      author jromine; state Exp;
50 branches;
51 next    1.5;
52
53 1.5
54 date    92.10.26.16.55.42;      author jromine; state Exp;
55 branches;
56 next    1.4;
57
58 1.4
59 date    92.10.20.20.30.08;      author jromine; state Exp;
60 branches;
61 next    1.3;
62
63 1.3
64 date    92.10.16.17.12.29;      author jromine; state Exp;
65 branches;
66 next    1.2;
67
68 1.2
69 date    92.03.03.17.13.54;      author jromine; state Exp;
70 branches;
71 next    1.1;
72
73 1.1
74 date    92.01.31.16.26.38;      author jromine; state Exp;
75 branches;
76 next    ;
77
78
79 desc
80 @multimedia MH
81 @
82
83
84 1.14
85 log
86 @fixup re: content-id
87 @
88 text
89 @.\"    @@(MHWARNING)
90 .\" @@(#)$Id: mhn.rf,v 1.13 1993/10/26 16:23:27 jromine Exp jromine $
91 .SC MHN 1
92 .NA
93 mhn \- multi-media MH
94 .SY
95 mhn
96 \%[\%[+folder] \%[msgs] | \%[\-file\0file]]
97 .br
98 \%[\-part\0number]... \%[\-type\0content]...
99 .br
100 \%[\-list\0\%[\-headers]\0\%[\-noheaders]
101 .br
102        \%[\-realsize]\0\%[\-norealsize]] \%[-nolist]
103 .br
104 \%[\-show\0\%[\-serialonly]\0\%[\-noserialonly]
105 .br
106        \%[\-form\0formfile]\0\%[\-pause]\0\%[\-nopause]] \%[\-noshow]
107 .br
108 \%[\-store\0\%[\-auto]\0\%[\-noauto]] \%[\-nostore]
109 .br
110 \%[\-cache] \%[\-nocache] \%[\-rcache\0policy] \%[\-wcache\0policy]
111 .br
112 \%[\-check]\0\%[\-nocheck]
113 .br
114 \%[\-ebcdicsafe]\0\%[\-noebcdicsafe]
115 .br
116 \%[\-rfc934mode]\0\%[\-norfc934mode]
117 .br
118 \%[\-verbose]\0\%[\-noverbose]
119 .br
120 \%[\-help]
121 .DE
122 The \fImhn\fR command manipulates multi-media messages as specified in
123 RFC 1521.
124
125 Four action switches direct the operation of \fImhn\fR,
126 namely `\-list', `\-show', `\-store', and `-cache'.
127 Any of these switches may be used concurrently.
128 Normally these action switches will operate on the content of each of the
129 named messages.
130 However,
131 by using the `\-part' and `\-type' switches,
132 the scope of the operation can be focused on particular
133 subparts (of a multipart content) and/or particular content types.
134
135 A part specification consists of a series of numbers separated by dots.
136 For example,
137 in a multipart content containing three parts,
138 these would be named as 1, 2, and 3, respectively.
139 If part 2 was also a multipart content containing two parts,
140 these would be named as 2.1 and 2.2, respectively.
141 Note that the `\-part' switch is effective for only messages
142 containing a multipart content.
143 If a message has some other kind of content,
144 or if the part is itself another multipart content,
145 the `\-part' switch will not prevent the content from being acted upon.
146
147 A content specification consists of a content type and a subtype.
148 The initial list of \*(lqstandard\*(rq content types and subtypes can be found
149 in RFC 1521.
150 .ne 18
151 A list of commonly used contents is briefly reproduced here:
152 .sp
153 .nf
154 .in +.5i
155 .ta \w'application  'u
156 Type    Subtypes
157 ----    --------
158 text    plain
159 multipart       mixed, alternative, digest, parallel
160 message rfc822, partial, external-body
161 application     octet-stream, postscript
162 image   jpeg, gif, x-pbm, x-pgm, x-ppm, x-xwd
163 audio   basic
164 video   mpeg
165 .re
166 .in -.5i
167 .fi
168 .sp
169 Subtypes are mandatory.
170 .PP
171 To specify a content,
172 regardless of its subtype,
173 just use the name of the content,
174 e.g.,
175 \*(lqaudio\*(rq.
176 To specify a specific subtype,
177 separate the two with a slash,
178 e.g.,
179 \*(lqaudio/basic\*(rq.
180 Note that regardless of the values given to the `\-type' switch,
181 a multipart content (of any subtype listed above) is always acted upon.
182 Further note that if the `\-type' switch is used,
183 and it is desirable to act on a message/external-body content,
184 then the `\-type' switch must be used twice:
185 once for message/external-body and once for the content externally referenced.
186
187 Each content may optionally have an integrity check associated with it.
188 If present and the `-check' switch is given,
189 then \fImhn\fR will attempt to verify the integrity of the content.
190
191 The option `\-file\ file' directs \fImhn\fR to use the specified
192 file as the source message, rather than a message from
193 a folder.
194 Note that the file should be a validly formatted message,
195 just like any other \fIMH\fR message.
196 It should \fBNOT\fR be in mail drop format
197 (to convert a file in mail drop format to a folder of \fIMH\fR messages,
198 see \fIinc\fR\0(1)).
199
200 .Uh "Listing the Contents"
201 The `\-list' switch tells \fImhn\fR to list the table of contents
202 associated with the named messages.
203 The `\-headers' switch indicates that a one-line banner should be
204 displayed above the listing.
205 The `\-realsize' switch tells \fImhn\fR to evaluate the \*(lqnative\*(rq
206 (decoded) format of each content prior to listing.
207 This provides an accurate count at the expense of a small delay.
208
209 .Uh "Showing the Contents"
210 The `\-show' switch tells \fImhn\fR to display the contents of the named
211 messages.
212 The headers of the message are displayed with the \fImhlproc\fR,
213 using format file \fImhl.headers\fR.
214 (The choice of format file can be overridden by the `\-form\0formfile' switch.)
215
216 \fImhn\fR will look for information in the user's profile to determine
217 how the different contents should be displayed.
218 This is accomplished by consulting a display string,
219 and executing it under \fB/bin/sh\fR,
220 with the standard input set to the content.
221 .ne 16
222 The display string may contain these escapes:
223 .sp
224 .nf
225 .in +.5i
226 .ta \w'%F  'u
227 %a      additional arguments
228 %e      exclusive execution
229 %f      filename containing content
230 %F      %e, %f, and stdin is terminal not content
231 %l      display listing prior to displaying content
232 %p      %l, and ask for confirmation
233 %s      subtype
234 %d      content description
235 .re
236 .in -.5i
237 .fi
238 .sp
239 For those display strings containing the e- or F-escape,
240 \fImhn\fR will execute at most one of these at any given time.
241 Although the F-escape expands to be the filename containing the content,
242 the e-escape has no expansion as far as the shell is concerned.
243
244 When the p-escape prompts for confirmation,
245 typing INTR (usually control-C) will tell \fImhn\fR not to display
246 that content.
247 (The p-escape can be disabled by specifying `\-nopause'.)
248 Further,
249 when \fImhn\fR is display a content,
250 typing QUIT (usually control-\\) will tell \fImhn\fR to wrap things up
251 immediately.
252
253 Note that if the content being displayed is multipart,
254 but not one of the subtypes listed above,
255 then the f- and F-escapes expand to multiple filenames,
256 one for each subordinate content.
257 Further,
258 stdin is not redirected from the terminal to the content.
259
260 First,
261 \fImhn\fR will look for an entry of the form:
262 .sp
263 .in +.5i
264 mhn-show-<type>/<subtype>
265 .in -.5i
266 .sp
267 to determine the command to use to display the content.
268 If this isn't found,
269 \fImhn\fR will look for an entry of the form:
270 .sp
271 .in +.5i
272 mhn-show-<type>
273 .in -.5i
274 .sp
275 to determine the display command.
276 .ne 10
277 If this isn't found,
278 \fImhn\fR has two default values:
279 .sp
280 .nf
281 .in +.5i
282 mhn-show-text/plain: %pmoreproc '%F'
283 mhn-show-message/rfc822: %pshow -file '%F'
284 .in -.5i
285 .fi
286 .sp
287 If neither apply,
288 \fImhn\fR will check to see if the message has a application/octet-stream
289 content with parameter \*(lqtype=tar\*(rq.
290 If so,
291 \fImhn\fR will use an appropriate command.
292 If not,
293 \fImhn\fR will complain.
294
295 .ne 10
296 Example entries might be:
297 .sp
298 .nf
299 .in +.5i
300 mhn-show-audio/basic: raw2audio 2>/dev/null | play
301 mhn-show-image: xv '%f'
302 mhn-show-application/PostScript: lpr -Pps
303 .in -.5i
304 .fi
305 .sp
306 Note that when using the f- or F-escape,
307 it's a good idea to use single-quotes around the escape.
308 This prevents misinterpretation by the shell of any funny characters
309 that might be present in the filename.
310
311 Because the text content might be in a non-ASCII character set,
312 when \fImhn\fR encounters a \*(lqcharset\*(rq parameter for this content,
313 it checks to see whether the environment variable $MM_CHARSET is set
314 and whether the value of this environment variable is equal to the value of
315 the charset parameter.
316 If not,
317 then
318 \fImhn\fR will look for an entry of the form:
319 .sp
320 .in +.5i
321 mhn-charset-<charset>
322 .in -.5i
323 .sp
324 which should contain a command creating an environment to render the
325 character set.
326 This command string should containing a single \*(lq%s\*(rq,
327 which will be filled-in with the command to display the content.
328
329 An example entry might be:
330 .sp
331 .in +.5i
332 mhn-charset-iso-8859-1: xterm -fn '-*-*-medium-r-normal-*-*-120-*-*-c-*-iso8859-*' -e %s
333 .in -.5i
334 .sp
335 Note that many pagination programs strip off the high-order bit.
336 However,
337 newer releases of the \fIless\fR program have modest support for
338 single-octet character sets.
339 The source to \fIless\fR version 177,
340 which has such support,
341 is found in the MH source tree under \fBmiscellany/less-177\fR.
342 In order to view messages sent in the ISO 8859/1 character set using
343 \fIless\fR,
344 .ne 9
345 put these lines in your \&.login file:
346 .sp
347 .nf
348 .in +.5i
349 setenv LESSCHARSET latin1
350 setenv LESS "-f"
351 .in -.5i
352 .fi
353 .sp
354 The first line tells \fIless\fR to use 8859/1 definition for determing
355 whether a character is \*(lqnormal\*(rq, \*(lqcontrol\*(lq, or
356 \*(lqbinary\*(rq.
357 The second line tells \fIless\fR not to warn you if it encounters a
358 file that has non-ASCII characters.
359 Then,
360 simply set the \fBmoreproc\fR profile entry to \fIless\fR,
361 and it will get called automatically.
362 (To handle other single-octet character sets,
363 look at the \fIless\fR\0(1) manual entry for information about the
364 \fBLESSCHARDEF\fR environment variable.)
365
366 Finally,
367 \fImhn\fR will process each message serially\0--\0it won't start showing
368 the next message until all the commands executed to display the
369 current message have terminated.
370 In the case of a multipart content (of any subtype listed above),
371 the content contains advice indicating if the parts should be
372 displayed serially or in parallel.
373 Because this may cause confusion,
374 particularly on uni-window displays,
375 the `\-serialonly' switch can be given to tell \fImhn\fR to never
376 display parts in parallel.
377
378 .Uh "Storing the Contents"
379 The `\-store' switch tells \fImhn\fR to store the contents of the
380 named messages in \*(lqnative\*(rq (decoded) format.
381 Two things must be determined:
382 the directory to store the content,
383 and the filenames.
384 Files are written in the directory given by the \fBmhn-storage\fR
385 profile entry,
386 .ne 6
387 e.g.,
388 .sp
389 .in +.5i
390 mhn-storage: /tmp
391 .in -.5i
392 .sp
393 If this entry isn't present,
394 the current working directory is used.
395
396 \fImhn\fR will look for information in the user's profile to determine
397 how the different contents should be stored.
398 This is achieved through the use of a formatting string,
399 .ne 13
400 which may contain these escapes:
401 .sp
402 .nf
403 .in +.5i
404 .ta \w'%P  'u
405 %m      message number
406 %P      .part
407 %p      part
408 %s      subtype
409 .re
410 .in -.5i
411 .fi
412 .sp
413 If the content isn't part of a multipart (of any subtype listed above) content,
414 the p-escapes are ignored.
415 Note that if the formatting string starts with a \*(lq+\*(rq character,
416 then these escapes are ignored,
417 and the content is stored in the named folder.
418 (A formatting string consisting solely of a \*(lq+\*(rq character
419 indicates the current folder.)
420 Further,
421 a formatting string consisting solely of a \*(lq-\*(rq character
422 indicates the standard-output.
423
424 First,
425 \fImhn\fR will look for an entry of the form:
426 .sp
427 .in +.5i
428 mhn-store-<type>/<subtype>
429 .in -.5i
430 .sp
431 to determine the formatting string.
432 If this isn't found,
433 \fImhn\fR will look for an entry of the form:
434 .sp
435 .in +.5i
436 mhn-store-<type>
437 .in -.5i
438 .sp
439 to determine the formatting string.
440 If this isn't found,
441 \fImhn\fR will check to see if the content is application/octet-stream
442 with parameter \*(lqtype=tar\*(rq.
443 If so,
444 \fImhn\fR will choose an appropriate filename.
445 If the content is not application/octet-stream,
446 then \fImhn\fR will check to see if the content is a message.
447 If so,
448 \fImhn\fR will use the value \*(lq+\*(rq.
449 If not,
450 \fImhn\fR will use the value \*(lq%m%P.%s\*(rq.
451
452 Note that if the formatting string starts with a '/',
453 then content will be stored in the full path given
454 (rather than using the value of \fBmhn-storage\fR or the current working
455 directory.)
456 Similarly,
457 if the formatting string starts with a '|',
458 then \fImhn\fR will execute a command which should ultimately store
459 the content.
460 Note that before executing the command,
461 \fImhn\fR will change to the appropriate directory.
462 Also note that if the formatting string starts with a '|',
463 then \fImhn\fR will also honor the a-escape when processing the
464 formatting string.
465
466 .ne 10
467 Example entries might be:
468 .sp
469 .nf
470 .in +.5i
471 mhn-store-text: %m%P.txt
472 mhn-store-audio/basic: | raw2audio -e ulaw -s 8000 -c 1 > %m%P.au
473 mhn-store-application/PostScript: %m%P.ps
474 .in -.5i
475 .fi
476 .sp
477 Further,
478 note that when asked to store a content containing a partial message,
479 \fImhn\fR will try to locate all of the portions and combine them accordingly.
480 Thus,
481 if someone's sent you a message in several parts,
482 you might put them all in their own folder and do:
483 .sp
484 .in +.5i
485 mhn all -store
486 .in -.5i
487 .sp
488 This will store exactly one message,
489 containing the sum of the parts.
490 Note that if \fImhn\fR can not locate each part,
491 it will not store anything.
492
493 Finally,
494 if the `\-auto' switch is given and the content contains information
495 indicating the filename the content should be stored as
496 (and if the filename doesn't begin with a '/'),
497 then the filename from the content will be used instead.
498
499 .Uh "External Access"
500 For contents of type message/external-body,
501 .ne 12
502 \fImhn\fR supports these access-types:
503 .sp
504 .nf
505 .in +.5i
506 afs
507 anon-ftp
508 ftp
509 local-file
510 mail-server
511 .in -.5i
512 .fi
513 .sp
514 For the \*(lqanon-ftp\*(rq and \*(lqftp\*(rq access types,
515 if your system supports a SOCKETs interface to TCP/IP,
516 then \fImhn\fR will use a built-in FTP client.
517 Otherwise,
518 \fImhn\fR will look for the \fBmhn-access-ftp\fR profile entry,
519 .ne 6
520 e.g.,
521 .sp
522 .in +.5i
523 mhn-access-ftp: myftp.sh
524 .in -.5i
525 .sp
526 to determine the pathname of a program to perform the FTP retrieval.
527 .ne 14
528 This program is invoked with these arguments:
529 .sp
530 .nf
531 .in +.5i
532 domain name of FTP-site
533 username
534 password
535 remote directory
536 remote filename
537 local filename
538 \*(lqascii\*(rq or \*(lqbinary\*(rq
539 .in -.5i
540 .fi
541 .sp
542 The program should terminate with a zero-valued exit-status if the
543 retrieval is successful.
544
545 .Uh "The Content Cache"
546 When \fImhn\fR encounters an external content containing a
547 \*(lqContent-ID:\*(rq field,
548 and if the content allows caching,
549 then depending on the caching behavior of \fImhn\fR,
550 the content might be read from or written to a cache.
551
552 The caching behavior of \fImhn\fR is controlled with
553 the `\-rcache' and `\-wcache' switches,
554 which define the policy for reading from,
555 and writing to,
556 the cache, respectively.
557 One of four policies may be specified:
558 \*(lqpublic\*(rq,
559 indicating that \fImhn\fR should make use of a
560 publically-accessible content cache;
561 \*(lqprivate\*(rq,
562 indicating that \fImhn\fR should make use of the user's
563 private content cache;
564 \*(lqnever\*(rq,
565 indicating that \fImhn\fR should never make use of caching;
566 and,
567 \*(lqask\*(rq,
568 indicating that \fImhn\fR should ask the user.
569
570 There are two directories where contents may be cached:
571 the profile entry \fBmhn-cache\fR names a directory containing
572 world-readable contents,
573 and,
574 the profile entry \fBmhn-private-cache\fR names a directory containing
575 private contents.
576 The former should be an absolute (rooted) directory name.
577 .ne 6
578 For example,
579 .sp
580 .in +.5i
581 mhn-cache: /tmp
582 .in -.5i
583 .sp
584 might be used if you didn't care that the cache got wiped after each reboot
585 of the system.
586 The latter is interpreted relative to the user's MH directory,
587 if not rooted,
588 .ne 6
589 e.g.,
590 .sp
591 .in +.5i
592 mhn-private-cache: .cache
593 .in -.5i
594 .sp
595 (which is the default value).
596
597 .Uh "Caching the Contents"
598 When you encounter a content of type message/external-body with access type
599 \*(lqmail-server\*(rq,
600 \fImhn\fR will ask you if may send a message to a mail-server
601 requesting the content,
602 .ne 14
603 e.g.,
604 .sp
605 .nf
606 .in +.5i
607 % show 1
608 Retrieve content by asking mail-server@@...
609
610 SEND file
611
612 ? yes
613 mhn: request sent
614 .in -.5i
615 .fi
616 .sp
617 Regardless of your decision,
618 \fImhn\fR can't perform any other processing on the content.
619
620 However,
621 if \fImhn\fR is allowed to request the content,
622 then when it arrives,
623 there should be a top-level \*(lqContent-ID:\*(rq field which
624 corresponds to the value in the original message/external-body content.
625 You should now use the `-cache' switch to tell \fImhn\fR to enter the
626 arriving content into the content cache,
627 .ne 8
628 e.g.,
629 .sp
630 .nf
631 .in +.5i
632 % mhn -cache 2
633 caching message 2 as file ...
634 .in -.5i
635 .fi
636 .sp
637 You can then re-process the original message/external-body content,
638 and \*(lqthe right thing should happen\*(rq,
639 .ne 8
640 e.g.,
641 .sp
642 .nf
643 .in +.5i
644 % show 1
645 \0...
646 .in -.5i
647 .fi
648
649 .Uh "Composing the Contents"
650 The \fImhn\fR program can also be used as a simple editor to aid in
651 composing multi-media messages.
652 When invoked by a \fIwhatnow\fR program,
653 \fImhn\fR will expect the body of the draft to be formatted as an
654 \*(lq\fImhn\fR composition file.\*(rq
655
656 .ne 59
657 The syntax of this is straight-forward:
658 .sp
659 .nf
660 .in +.5i
661    body         ::=     1*(content | EOL)
662
663    content      ::=     directive | plaintext
664
665    directive    ::=     "#" type "/" subtype
666                             0*(";" attribute "=" value)
667                             [ "(" comment ")" ]
668                             [ "<" id ">" ]
669                             [ "[" description "]" ]
670                             [ filename ]
671                             EOL
672
673                       | "#@@" type "/" subtype
674                             0*(";" attribute "=" value)
675                             [ "(" comment ")" ]
676                             [ "<" id ">" ]
677                             [ "[" description "]" ]
678                             external-parameters
679                             EOL
680
681                       | "#forw"
682                             [ "<" id ">" ]
683                             [ "[" description "]" ]
684                             [ "+"folder ] [ 0*msg ]
685                             EOL
686
687                       | "#begin"
688                               [ "<" id ">" ]
689                               [ "[" description "]" ]
690                               [   "alternative"
691                                 | "parallel"
692                                 | something-else    ]
693                               EOL
694                             1*body
695                         "#end" EOL
696
697    plaintext    ::=     [ "Content-Description:"
698                               description EOL EOL ]
699                             1*line
700                         [ "#" EOL ]
701
702                       | "#<" type "/" subtype
703                             0*(";" attribute "=" value)
704                             [ "(" comment ")" ]
705                             [ "[" description "]" ]
706                             EOL
707                             1*line
708                         [ "#" EOL ]
709
710    line         ::=     "##" text EOL
711                         -- interpreted as "#"text EOL
712                       | text EOL
713 .in -.5i
714 .fi
715 .sp
716 Basically,
717 the body contains one or more contents.
718 A content consists of either a directive,
719 indicated with a \*(lq#\*(rq as the first character of a line;
720 or,
721 plaintext (one or more lines of text).
722 The continuation character, \*(lq\\\*(lq, may be used to enter a single
723 .ne 11
724 directive on more than one line,
725 e.g.,
726 .sp
727 .nf
728 .in +.5i
729 #@@application/octet-stream; \\
730     type=tar; \\
731     x-conversions=compress
732 .in -.5i
733 .fi
734 .sp
735 There are four kinds of directives:
736 \*(lqtype\*(rq directives,
737 which name the type and subtype of the content;
738 \*(lqexternal-type\*(rq directives,
739 which also name the type and subtype of the content;
740 the \*(lqforw\*(rq directive,
741 which is used to forward a digest of messages;
742 and,
743 the \*(lqbegin\*(rq directive,
744 which is used to create a multipart content.
745
746 For the type directives,
747 the user may optionally specify the name of a file containing the
748 contents in \*(lqnative\*(rq (decoded) format.
749 (If the filename starts with the \*(lq|\*(rq character,
750 then this gives a command whose output is captured accordingly.)
751 If a filename is not given,
752 \fImhn\fR will look for information in the user's profile to determine
753 how the different contents should be composed.
754 This is accomplished by consulting a composition string,
755 and executing it under \fB/bin/sh\fR,
756 with the standard output set to the content.
757 .ne 13
758 The composition string may contain these escapes:
759 .sp
760 .nf
761 .in +.5i
762 .ta \w'%P  'u
763 %a      additional arguments
764 %f      filename containing content
765 %F      %f, and stdout is not re-directed
766 %s      subtype
767 .re
768 .in -.5i
769 .fi
770 .sp
771 First,
772 \fImhn\fR will look for an entry of the form:
773 .sp
774 .in +.5i
775 mhn-compose-<type>/<subtype>
776 .in -.5i
777 .sp
778 to determine the command to use to compose the content.
779 If this isn't found,
780 \fImhn\fR will look for an entry of the form:
781 .sp
782 .in +.5i
783 mhn-compose-<type>
784 .in -.5i
785 .sp
786 to determine the composition command.
787 If this isn't found,
788 \fImhn\fR will complain.
789
790 An example entry might be:
791 .sp
792 .in +.5i
793 mhn-compose-audio/basic: record | raw2audio -F
794 .in -.5i
795 .sp
796 Because commands like these will vary,
797 depending on the display environment used for login,
798 composition strings for different contents should probably be put in
799 the file specified by the \fB$MHN\fR environment variable,
800 instead of directly in your user profile.
801
802 The external-type directives are used to provide a reference to a content,
803 rather than enclosing the contents itself.
804 Hence,
805 instead of providing a filename as with the type directives,
806 external-parameters are supplied.
807 These look like regular parameters,
808 .ne 15
809 so they must be separated accordingly,
810 e.g.,
811 .sp
812 .nf
813 .in +.5i
814 #@@application/octet-stream; \\
815     type=tar; \\
816     x-conversions=compress [] \\
817     access-type=anon-ftp; \\
818     name="mh-mime.tar.Z"; \\
819     directory="mrose/mh-mime"; \\
820     site="ftp.ics.uci.edu"
821 .in -.5i
822 .fi
823 .sp
824 By specifying \*(lq[]\*(rq,
825 an empty description string is given,
826 and the start of the external-parameters is identified.
827 .ne 19
828 These parameters are of the form:
829 .sp
830 .nf
831 .in +.5i
832 .ta \w'access-type=  'u
833 access-type=    usually \fIanon-ftp\fR or \fImail-server\fR
834 name=   filename
835 permission=     read-only or read-write
836 site=   hostname
837 directory=      directoryname (optional)
838 mode=   usually \fIascii\fR or \fIimage\fR (optional)
839 size=   number of octets
840 server= mailbox
841 subject=        subject to send
842 body=   command to send for retrieval
843 .re
844 .in -.5i
845 .fi
846 .sp
847
848 For the forw directive,
849 the user may optionally specify the name of the folder and which
850 messages are to be forwarded.
851 if a folder is not given,
852 it defaults to the current folder.
853 Similarly,
854 if a message is not given,
855 it defaults to the current message.
856 Hence,
857 the forw directive is similar to the \fIforw\fR\0(1) command,
858 except that the former uses the MIME rules for encapsulation
859 rather than those specified in RFC 934.
860 Usage of the `\-rfc934mode' switch indicates whether \fImhn\fR should
861 attempt to utilize the encapsulation rules in such a way as to appear
862 that RFC 934 is being used.
863 If given,
864 then RFC 934-compliant user-agents should be able to burst the message on
865 reception\0--\0providing that the messages being encapsulated do not
866 contain encapsulated messages themselves.
867 The drawback of this approach is that the encapsulations are generated
868 by placing an extra newline at the end of the body of each message.
869
870 For the begin directive,
871 the user must specify at least one content between
872 the begin and end pairs.
873
874 For all of these directives,
875 the user may include a brief description of the content between
876 the \*(lq[\*(rq character and the \*(lq]\*(rq character.
877 By default,
878 \fImhn\fR will generate a unique \*(lqContent-ID:\*(rq for each directive;
879 however,
880 the user may override this by defining the ID using the
881 \*(lq<\*(rq and \*(lq>\*(rq characters.
882 Putting this all together,
883 .ne 15
884 here is a brief example of what a user's components file might look like:
885 .sp
886 .nf
887 .in +.5i
888 To:
889 cc:
890 Subject:
891 --------
892 #audio/basic [Flint phone]  \\
893     |raw2audio -F < /home/mrose/lib/multi-media/flint.au
894 #image/gif   [MTR's photo] \\
895                     /home/mrose/lib/multi-media/mrose.gif
896 .in -.5i
897 .fi
898 .sp
899 For a later example,
900 we'll call this components file \fImhncomps\fR.
901
902 As noted earlier,
903 in addition to directives,
904 plaintext can be present.
905 Plaintext is gathered,
906 until a directive is found or the draft is exhausted,
907 and this is made to form a text content.
908 If the plaintext must contain a \*(lq#\*(rq at the beginning of a line,
909 simply double it,
910 .ne 6
911 e.g.,
912 .sp
913 .in +.5i
914 ##when sent, this line will start with only one #
915 .in -.5i
916 .sp
917 If you want to end the plaintext prior to a directive,
918 e.g.,
919 to have two plaintext contents adjacent,
920 simply insert a line containing a single \*(lq#\*(rq character,
921 .ne 10
922 e.g.,
923 .sp
924 .nf
925 .in +.5i
926 this is the first content
927 #
928 and this is the second
929 .in -.5i
930 .fi
931 .sp
932 Finally,
933 if the plaintext starts with a line of the form:
934 .sp
935 .in +.5i
936 Content-Description: text
937 .in -.5i
938 .sp
939 then this will be used to describe the plaintext content.
940 \fBNOTE WELL:\fR you must follow this line with a blank line before
941 starting your text.
942
943 By default,
944 plaintext is captured as a text/plain content.
945 You can override this by starting the plaintext with \*(lq#<\*(rq
946 followed by a content-type specification,
947 .ne 11
948 e.g.,
949 .sp
950 .nf
951 .in +.5i
952 #<text/richtext
953 this content will be tagged as text/richtext
954 #
955 and this content will be tagged as text/plain
956 .in -.5i
957 .fi
958 .sp
959 Note that if you use the \*(lq#<\*(rq plaintext-form,
960 then the content-description must be on the same line which identifies
961 the content type of the plaintext.
962
963 If \fImhn\fR is successful,
964 it renames the original draft to start with the \*(lq,\*(rq character
965 and end with the string \*(lq.orig\*(rq,
966 e.g.,
967 if you are editing the file \*(lqdraft\*(rq,
968 it will be renamed to \*(lq,draft.orig\*(rq.
969 This allows you to easily recover the \fImhn\fR composition file.
970
971 If the `-check' switch is given,
972 \fImhn\fR will associate an integrity check with each content.
973
974 .Uh "Automatic Composition"
975 Note that MH will not invoke \fImhn\fR automatically,
976 unless you add this line to your \&.mh\(ruprofile file:
977 .sp
978 .in +.5i
979 automhnproc: mhn
980 .in -.5i
981 .sp
982 Otherwise,
983 you must specifically give the command
984 .sp
985 .in +.5i
986 What now? edit mhn
987 .in -.5i
988 .sp
989 prior to sending the draft.
990
991 You can easily tailor MH to help you remember to do this.
992 .ne 10
993 Suppose you have these lines in your profile:
994 .sp
995 .nf
996 .in +.5i
997 mcomp:          -editor mprompter -form mhncomps
998 mprompter:      -noprepend -norapid
999 mprompter-next: mhn
1000 .in -.5i
1001 .fi
1002 .sp
1003 where \fImcomp\fR is a link to \fIcomp\fR\0(1),
1004 and \fImprompter\fR is a link to \fIprompter\fR\0(1).
1005 Then to send a message using the \fImhncomps\fR components file above,
1006 .ne 26
1007 the sequence is:
1008 .sp
1009 .nf
1010 .in +.5i
1011 % \fBmcomp\fR
1012 To: \fBuser@@host\fR
1013 cc:
1014 Subject: \fBmulti-media message\fR
1015 --------
1016 #audio/basic [Flint phone]  \\
1017     |raw2audio -F < /home/mrose/lib/multi-media/flint.au
1018 #image/gif   [MTR's photo] \\
1019                     /home/mrose/lib/multi-media/mrose.gif
1020
1021 --------Enter additional text
1022
1023 \fBThis message contains three contents.\fR
1024 \fB<CTRL-D>\fR
1025 --------
1026
1027 What now? \fBedit\fR (this invokes \fImhn\fR)
1028
1029 What now? \fBsend\fR
1030 .in -.5i
1031 .fi
1032 .sp
1033 You have to remember to type the additional edit command,
1034 but it should be fairly obvious from the interaction.
1035
1036 Finally,
1037 you should consider adding this line to your profile:
1038 .sp
1039 .in +.5i
1040 lproc: show
1041 .in -.5i
1042 .sp
1043 This way,
1044 if you decide to \fBlist\fR after invoking \fImhn\fR as your editor,
1045 the command
1046 .sp
1047 .in +.5i
1048 What now? list
1049 .in -.5i
1050 .sp
1051 will work as you expect.
1052
1053 .Uh "Sending Files via Mail"
1054 When you want to send a bunch of files to someone,
1055 you can run the \fIviamail\fR shell script,
1056 which is similar the tarmail command:
1057 .sp
1058 .in +.5i
1059 @@(MHETCPATH)/viamail mailpath \*(lqsubject\*(rq files\0...
1060 .in -.5i
1061 .sp
1062 \fIviamail\fR will archive the directories/files you name with \fItar\fR\0(1),
1063 and then mail the compressed archive to the `mailpath' with the given
1064 `subject'.
1065 The archive will be automatically split up into as many messages as
1066 necessary in order to get past most mailers.
1067
1068 Sometimes you want \fIviamail\fR to pause after posting a partial message.
1069 This is usually the case when you are running \fIsendmail\fR and
1070 expect to generate a lot of partial messages.
1071 If the first argument given to \fIviamail\fR starts with a dash,
1072 then it is interpreted as the number of seconds to pause in between postings,
1073 .ne 6
1074 e.g.,
1075 .sp
1076 .in +.5i
1077 @@(MHETCPATH)/viamail -300 mailpath \*(lqsubject\*(rq files\0...
1078 .in -.5i
1079 .sp
1080 will pause 5 minutes in between each posting.
1081
1082 When these messages are received,
1083 invoke \fImhn\fR once,
1084 with the list of messages,
1085 and the `\-store' command.
1086 The \fImhn\fR program will then store exactly one message containing the
1087 archive.
1088 You can then use `\-show' to find out what's inside;
1089 possibly  followed by `\-store' to write the archive to a file where you
1090 .ne 26
1091 can subsequently uncompress and untar it, e.g.,
1092 .sp
1093 .nf
1094 .in +.5i
1095 % mhn -list all
1096  msg part  type/subtype             size description
1097    1       message/partial           47K part 1 of 4
1098    2       message/partial           47K part 2 of 4
1099    3       message/partial           47K part 3 of 4
1100    4       message/partial           18K part 4 of 4
1101 % mhn -store all
1102 % mhn -list -verbose last
1103  msg part  type/subtype             size description
1104    5       application/octet-stream 118K
1105              (extract with uncompress | tar xvpf -)
1106              type=tar
1107              x-conversions=compress
1108 % mhn -show last
1109  msg part  type/subtype             size description
1110    5       application/octet-stream 118K
1111 -- headers of message, followed by \fItar\fR listing appears here
1112 % mhn -store last
1113 % uncompress < 5.tar.Z | tar xvpf -
1114 .in -.5i
1115 .fi
1116 .sp
1117 Alternately,
1118 by using the `\-auto' switch,
1119 \fImhn\fR will automatically do the extraction for you,
1120 .ne 26
1121 e.g.,
1122 .sp
1123 .nf
1124 .in +.5i
1125 % mhn -list all
1126  msg part  type/subtype             size description
1127    1       message/partial           47K part 1 of 4
1128    2       message/partial           47K part 2 of 4
1129    3       message/partial           47K part 3 of 4
1130    4       message/partial           18K part 4 of 4
1131 % mhn -store all
1132 % mhn -list -verbose last
1133  msg part  type/subtype             size description
1134    5       application/octet-stream 118K
1135              (extract with uncompress | tar xvpf -)
1136              type=tar
1137              x-conversions=compress
1138 % mhn -show last
1139  msg part  type/subtype             size description
1140    5       application/octet-stream 118K
1141 -- headers of message, followed by \fItar\fR listing appears here
1142 % mhn -store -auto last
1143 -- \fItar\fR listing appears here as files are extracted
1144 .in -.5i
1145 .fi
1146 .sp
1147 As the second \fItar\fR listing is generated,
1148 the files are extracted.
1149 A prudent user will never put `\-auto' in the \&.mh\(ruprofile file.
1150 The correct procedure is to first use `\-show',
1151 to find out what will be extracted.
1152 Then \fImhn\fR can be invoked with  `\-store' and `\-auto' to perform
1153 the extraction.
1154
1155 .Uh "User Environment"
1156 Because the display environment in which \fImhn\fR operates may vary
1157 for a user,
1158 \fImhn\fR will look for the environment variable \fB$MHN\fR.
1159 If present,
1160 this specifies the name of an additional user profile which should be read.
1161 Hence,
1162 when a user logs in on a particular display device,
1163 this environment variable should be set to refer to a file containing
1164 definitions useful for the display device.
1165 Normally,
1166 only entries of the form
1167 .sp
1168 .in +.5i
1169 mhn-show-<type>/<subtype>
1170 .br
1171 mhn-show-<type>
1172 .in -.5i
1173 .sp
1174 need be present.
1175 Finally,
1176 \fImhn\fR will attempt to consult one other additional user profile,
1177 .ne 6
1178 e.g.,
1179 .sp
1180 .in +.5i
1181 @@(MHETCPATH)/mhn_defaults
1182 .in -.5i
1183 .sp
1184 which is created automatically during MH installation.
1185 .Fi
1186 ^$HOME/\&.mh\(ruprofile~^The user profile
1187 ^$MHN~^Additional profile entries
1188 ^@@(MHETCPATH)/mhn_defaults~^System-default profile entries
1189 ^@@(MHETCPATH)/mhl.headers~^The headers template
1190 .Pr
1191 ^Path:~^To determine the user's MH directory
1192 .Ps
1193 ^Current\-Folder:~^To find the default current folder
1194 .Ps
1195 ^mhlproc:~^Default program to display message headers
1196 .Ps
1197 ^mhn-access-ftp:~^Program to retrieve contents via FTP
1198 .Ps
1199 ^mhn-cache~^Public directory to store cached external contents
1200 .Ps
1201 ^mhn-charset-<charset>~^Template for environment to render character sets
1202 .Ps
1203 ^mhn-compose-<type>*~^Template for composing contents
1204 .Ps
1205 ^mhn-private-cache~^Personal directory to store cached external contents
1206 .Ps
1207 ^mhn-show-<type>*~^Template for displaying contents
1208 .Ps
1209 ^mhn-storage~^Directory to store contents
1210 .Ps
1211 ^mhn-store-<type>*~^Template for storing contents
1212 .Ps
1213 ^moreproc:~^Default program to display text/plain content
1214 .Sa
1215 mhl(1)
1216 .br
1217 \fIMIME: Mechanisms for Specifying and Describing the Format of
1218 Internet Message Bodies\fR
1219 (RFC 1521),
1220 .br
1221 \fIProposed Standard for Message Encapsulation\fR
1222 (RFC 934).
1223 .De
1224 `+folder' defaults to the current folder
1225 .Ds
1226 `msgs' defaults to cur
1227 .Ds
1228 `\-noauto'
1229 .Ds
1230 `\-nocache'
1231 .Ds
1232 `\-nocheck'
1233 .Ds
1234 `\-noebcdicsafe'
1235 .Ds
1236 `\-form\0mhl.headers'
1237 .Ds
1238 `\-headers'
1239 .Ds
1240 `\-pause'
1241 .Ds
1242 `\-rcache\0ask'
1243 .Ds
1244 `\-realsize'
1245 .Ds
1246 `\-rfc934mode'
1247 .Ds
1248 `\-noserialonly'
1249 .Ds
1250 `\-show'
1251 .Ds
1252 `\-noverbose'
1253 .Ds
1254 `\-wcache\0ask'
1255 .Co
1256 If a folder is given,
1257 it will become the current folder.
1258 The last message selected will become the current message.
1259 .Bu
1260 Partial messages contained within a multipart content are not reassembled
1261 with the `\-store' switch.
1262 .En
1263 @
1264
1265
1266 1.13
1267 log
1268 @change RFC 1341 -> 1521 (new RFC)
1269 @
1270 text
1271 @d2 1
1272 a2 1
1273 .\" @@(#)$Id: mhn.rf,v 1.12 1993/10/26 16:02:50 jromine Exp jromine $
1274 d8 2
1275 a9 2
1276 \%[+folder] \%[msgs]
1277 \%[\-file\0file]
1278 d568 1
1279 a568 1
1280 .ne 55
1281 d580 1
1282 d588 1
1283 d594 1
1284 d600 1
1285 d789 5
1286 @
1287
1288
1289 1.12
1290 log
1291 @update -cache, -rcache, -wcache
1292 @
1293 text
1294 @d2 1
1295 a2 1
1296 .\" @@(#)$Id: mhn.rf,v 1.9 1993/08/20 15:42:08 jromine Exp $
1297 d35 1
1298 a35 1
1299 RFC 1341.
1300 d61 1
1301 a61 1
1302 in RFC 1341.
1303 d70 1
1304 a70 1
1305 text    plain, richtext
1306 d1122 1
1307 a1122 1
1308 (RFC 1341),
1309 @
1310
1311
1312 1.11
1313 log
1314 @fixes from mtr
1315 @
1316 text
1317 @d2 1
1318 a2 1
1319 .\" @@(#)$Id: mhn.rf,v 1.9 1993/08/20 15:42:08 jromine Exp jromine $
1320 d8 2
1321 a9 2
1322 \%[+folder] \%[msgs] 
1323 \%[\-file\0file] 
1324 d22 1
1325 a22 1
1326 \%[\-cache\0policy]
1327 d37 2
1328 a38 2
1329 Three action switches direct the operation of \fImhn\fR,
1330 namely `\-list', `\-show', and `\-store'.
1331 d298 1
1332 d426 2
1333 a427 1
1334 If your system supports a SOCKETs interface to TCP/IP,
1335 d431 1
1336 d455 1
1337 a455 1
1338 retrieval is success.
1339 d461 30
1340 a490 9
1341 then \fImhn\fR looks for the profile entry \fBmhn-cache\fR to
1342 determine if the content should be read from/written to a cache.
1343 Any content written to the cache will,
1344 by default,
1345 be world-readable.
1346 (To prevent this,
1347 use a directory name with the desired read and execute permissions.)
1348 The \fBmhn-cache\fR profile entry names the directory used for caching,
1349 e.g.,
1350 d498 10
1351 d509 12
1352 a520 6
1353 The caching behavior of \fImhn\fR is controlled with the `\-cache' switch.
1354 One of three arguments may be specified:
1355 always, indicating that \fImhn\fR should make use of caching whenever possible;
1356 ask, indicating that \fImhn\fR should ask the user;
1357 and,
1358 never, indicating that \fImhn\fR should never make use of caching.
1359 d522 39
1360 d568 1
1361 a568 1
1362 .ne 54
1363 d639 1
1364 a639 1
1365     conversions=x-compress
1366 d724 1
1367 a724 1
1368     conversions=x-compress [] \\
1369 d735 1
1370 a735 1
1371 .ne 16
1372 d813 1
1373 d976 1
1374 d1010 1
1375 a1010 1
1376              conversions=x-compress
1377 d1040 1
1378 a1040 1
1379              conversions=x-compress
1380 d1080 1
1381 d1102 1
1382 a1102 1
1383 ^mhn-cache~^Directory to store cached external contents
1384 d1108 2
1385 d1133 1
1386 a1133 1
1387 `\-cache\0ask'
1388 d1145 2
1389 d1156 2
1390 @
1391
1392
1393 1.10
1394 log
1395 @document mhn -file
1396 @
1397 text
1398 @d93 1
1399 a93 1
1400 a multipart content is always acted upon.
1401 d146 1
1402 d165 7
1403 d282 1
1404 a282 1
1405 In the case of a multipart content,
1406 d324 1
1407 a324 1
1408 If the content isn't part of a multipart content,
1409 d520 2
1410 a521 1
1411                                 | "parallel"    ]
1412 d1044 2
1413 @
1414
1415
1416 1.9
1417 log
1418 @fixes from mtr
1419 @
1420 text
1421 @d2 1
1422 a2 1
1423 .\" @@(#)$Id: mhn.rf,v 1.8 1992/12/10 23:59:10 jromine Exp jromine $
1424 d8 3
1425 a10 1
1426 \%[+folder] \%[msgs] \%[\-part\0number]... \%[\-type\0content]...
1427 d102 9
1428 @
1429
1430
1431 1.8
1432 log
1433 @typo
1434 @
1435 text
1436 @d2 1
1437 a2 1
1438 .\" @@(#)$Id: mhn.rf,v 1.7 1992/11/16 22:31:42 jromine Exp jromine $
1439 d14 1
1440 a14 1
1441 \%[\-show\0\%[\-serialonly]\0\%[\-noserialonly]]
1442 d16 1
1443 a16 1
1444        \%[\-form\0formfile]] \%[\-noshow]
1445 d20 1
1446 a20 3
1447 \%[\-verbose] \%[\-noverbose]
1448 \%[\-rfc934mode] \%[\-norfc934mode]
1449 \%[\-ebcdicsafe] \%[\-noebcdicsafe]
1450 d22 8
1451 d71 1
1452 a71 1
1453 application     octet-stream, oda, postscript
1454 d97 4
1455 d147 1
1456 d456 7
1457 d644 2
1458 a646 1
1459 site=   hostname
1460 d648 1
1461 d650 1
1462 d774 3
1463 d1027 4
1464 d1036 2
1465 @
1466
1467
1468 1.7
1469 log
1470 @specify only character cell fonts with mhn.
1471 @
1472 text
1473 @d2 1
1474 a2 1
1475 .\" @@(#)$Id: mhn.rf,v 1.6 1992/11/02 16:58:55 jromine Exp jromine $
1476 d195 2
1477 a196 2
1478 it checks to see if the environment variable $MM_CHARSET is set,
1479 and that that the value of this environment variable is equal to the value of
1480 @
1481
1482
1483 1.6
1484 log
1485 @fixes from mtr
1486 @
1487 text
1488 @d2 1
1489 a2 1
1490 .\" @@(#)$Id: mhn.rf,v 1.5 1992/10/26 16:55:42 jromine Exp jromine $
1491 d214 1
1492 a214 1
1493 mhn-charset-iso-8859-1: xterm -fn '-*-*-medium-r-normal-*-*-120-*-*-*-*-iso8859-*' -e %s
1494 @
1495
1496
1497 1.5
1498 log
1499 @add quotes around %f
1500 @
1501 text
1502 @d2 1
1503 a2 1
1504 .\" @@(#)$Id: mhn.rf,v 1.4 1992/10/20 20:30:08 jromine Exp jromine $
1505 d358 3
1506 a360 4
1507
1508 Further note that when asked to store a content containing a partial
1509 message, \fImhn\fR will try to locate all of the portions and combine
1510 them accordingly.
1511 d380 44
1512 d974 2
1513 a1024 8
1514
1515 For contents of type message/external-body,
1516 those with a parameter of \*(lqaccess-type=tftp\*(rq will not be
1517 automatically retrieved.
1518 Further,
1519 those with a parameter \*(lqaccess-type=ftp\*(rq or
1520 \*(lqaccess-type=anon-ftp\*(rq will be automatically retrieved
1521 only if your system supports a SOCKETs interface to TCP/IP.
1522 @
1523
1524
1525 1.4
1526 log
1527 @MIME upgrade 10
1528 @
1529 text
1530 @d2 1
1531 a2 1
1532 .\" @@(#)$Id: mhn.rf,v 1.3 1992/10/16 17:12:29 jromine Exp jromine $
1533 d164 2
1534 a165 2
1535 mhn-show-text/plain: %pmoreproc %F
1536 mhn-show-message/rfc822: %pshow -file %F
1537 d183 1
1538 a183 1
1539 mhn-show-image: xv %f
1540 d188 4
1541 @
1542
1543
1544 1.3
1545 log
1546 @revisions from mtr -- mime/update9
1547 @
1548 text
1549 @d2 1
1550 a2 1
1551 .\" @@(#)$Id: mhn.rf,v 1.1 1992/01/31 16:26:38 jromine Exp $
1552 d54 1
1553 d91 1
1554 d100 1
1555 d112 1
1556 d158 1
1557 d177 1
1558 a208 1
1559 .nf
1560 a211 1
1561 .fi
1562 d222 1
1563 d256 1
1564 d276 1
1565 d343 1
1566 d377 1
1567 d398 1
1568 a398 30
1569 Because the display environment in which \fImhn\fR operates may vary
1570 for a user,
1571 \fImhn\fR will look for the environment variable \fB$MHN\fR.
1572 If present,
1573 this specifies the name of an additional user profile which should be read.
1574 Hence,
1575 when a user logs in on a particular display device,
1576 this environment variable should be set to refer to a file containing
1577 definitions useful for the display device.
1578 Normally,
1579 only entries of the form
1580 .sp
1581 .in +.5i
1582 mhn-show-<type>/<subtype>
1583 .br
1584 mhn-show-<type>
1585 .in -.5i
1586 .sp
1587 need be present.
1588 Finally,
1589 \fImhn\fR will attempt to consult one other additional user profile,
1590 e.g.,
1591 .sp
1592 .in +.5i
1593 @@(MHETCPATH)/mhn_defaults
1594 .in -.5i
1595 .sp
1596 which is created automatically during MH installation.
1597
1598 .bp
1599 d404 2
1600 d467 1
1601 d501 1
1602 d552 1
1603 d571 1
1604 d619 1
1605 d656 1
1606 d682 1
1607 d706 1
1608 d708 1
1609 a708 1
1610 unless you  add this line to your \&.mh\(ruprofile file:
1611 d724 1
1612 d738 1
1613 d785 1
1614 a806 1
1615 .nf
1616 a809 1
1617 .fi
1618 d821 1
1619 d851 1
1620 d885 30
1621 @
1622
1623
1624 1.2
1625 log
1626 @fixes from mtr
1627 @
1628 text
1629 @d2 1
1630 a2 1
1631 .\" @@(#)$Id: mhn.rf,v 1.1 1992/01/31 16:26:38 jromine Exp jromine $
1632 d10 1
1633 a10 1
1634 \%[\-list\0\%[\-header]\0\%[\-noheader]
1635 d22 1
1636 a22 1
1637 \%[\-ebcdic] \%[\-noebcdicsafe]
1638 d27 1
1639 a27 1
1640 the MIME draft.
1641 d52 2
1642 a53 2
1643 The list of \*(lqstandard\*(rq content types and subtypes can be found
1644 in the MIME draft.
1645 d65 1
1646 a65 1
1647 image   g3fax, jpeg, gif, x-pbm, x-pgm, x-ppm
1648 d86 1
1649 a86 1
1650 and it is desirable to act on a message/external content,
1651 d88 1
1652 a88 1
1653 once for message/external and once for the content externally referenced.
1654 d92 1
1655 a92 1
1656 The `\-header' switch indicates that a one-line banner should be
1657 d119 1
1658 d125 1
1659 a125 1
1660 For those display string containing the e- or F-escape,
1661 d128 1
1662 a128 1
1663 the e-escape has no expansion as far as the shell is concerned..
1664 d130 8
1665 d159 2
1666 a160 2
1667 mhn-show-text/plain: moreproc %F
1668 mhn-show-message/rfc822: show -file %F
1669 d178 1
1670 a178 1
1671 mhn-show-application/PostScript: pageview -
1672 d183 56
1673 d248 2
1674 a249 2
1675 the `\-serialonly' switch can be given to tell \fImhn\fR to always
1676 display parts in serial.
1677 d290 3
1678 d369 20
1679 d416 1
1680 a416 3
1681 which should be created by the system-administrator.
1682 It only makes sense to do this if there is sufficiently homogeneity
1683 among the displays attached to the system.
1684 d439 1
1685 a439 1
1686                         "#@@" type "/" subtype
1687 d453 2
1688 a454 1
1689                               [ "alternative" | "parallel" ]
1690 d464 8
1691 d484 12
1692 d518 1
1693 a518 1
1694 The display string may contain these escapes:
1695 d573 7
1696 a579 1
1697 #@@application/octet-stream; type=tar [] access-type=ftp; ...
1698 d591 1
1699 d594 1
1700 a594 1
1701 access-type=    usually \fIftp\fR or \fIanon-ftp\fR
1702 d596 2
1703 a597 2
1704 site=   hostname
1705 expiration=     822-style date
1706 d641 4
1707 a644 2
1708 #audio/basic  [Flint phone]  | raw2audio -F < /home/mrose/flint.au
1709 #image/x-pbm  [MTR's photo]  /home/mrose/mrose.pbm
1710 d690 19
1711 d717 2
1712 a718 2
1713 Note that MH will not invoke \fImhn\fR automatically.
1714 You must specifically give the command
1715 d721 7
1716 d731 2
1717 a732 1
1718 after you have constructed the \fImhn\fR composition file.
1719 d756 4
1720 a759 2
1721 #audio/basic  [Flint phone]  | raw2audio -F < /home/mrose/flint.au
1722 #image/x-pbm  [MTR's photo]  /home/mrose/mrose.pbm
1723 d846 1
1724 a846 1
1725              conversions=compress
1726 d875 1
1727 a875 1
1728              conversions=compress
1729 d895 1
1730 a895 1
1731 ^@@(MHETCPATH)/mhn_profile~^System-default profile entries
1732 d904 4
1733 d921 2
1734 a922 1
1735 Internet Message Bodies\fR,
1736 d935 1
1737 a935 1
1738 `\-header'
1739 d954 5
1740 a958 2
1741 For contents of type message/external,
1742 only those with parameter \*(lqaccess-type=ftp\*(rq or
1743 d960 1
1744 a960 1
1745 (and only if your system supports a SOCKETs interface to TCP/IP).
1746 @
1747
1748
1749 1.1
1750 log
1751 @Initial revision
1752 @
1753 text
1754 @d2 1
1755 a2 1
1756 .\" @@(#)$Id$
1757 d65 1
1758 a65 2
1759 image   g3fax, jpeg, gif, pbm, pgm, ppm,
1760         tiff-b-netfax
1761 d528 1
1762 a528 1
1763 #image/pbm    [MTR's photo]  /home/mrose/mrose.pbm
1764 d614 1
1765 a614 1
1766 #image/pbm    [MTR's photo]  /home/mrose/mrose.pbm
1767 @