]> diplodocus.org Git - nmh/blob - man/mhlist.man
Update developer documentation to match reality.
[nmh] / man / mhlist.man
1 .TH MHLIST %manext1% "February 12, 2013" "%nmhversion%"
2 .\"
3 .\" %nmhwarning%
4 .\"
5 .SH NAME
6 mhlist \- list information about MIME messages
7 .SH SYNOPSIS
8 .HP 5
9 .na
10 .B mhlist
11 .RI [ +folder ]
12 .RI [ msgs ]
13 .RB [ \-file
14 .IR file ]
15 .RB [ \-part
16 .IR number ]
17 \&...
18 .RB [ \-type
19 .IR content ]
20 \&...
21 .RB [ \-headers " | " \-noheaders ]
22 .RB [ \-realsize " | " \-norealsize ]
23 .RB [ \-rcache
24 .IR policy ]
25 .RB [ \-wcache
26 .IR policy ]
27 .RB [ \-check " | " \-nocheck ]
28 .RB [ \-changecur " | " \-nochangecur ]
29 .RB [ \-verbose " | " \-noverbose ]
30 .RB [ \-disposition " | " \-nodisposition ]
31 .RB [ \-version ]
32 .RB [ \-help ]
33 .ad
34 .SH DESCRIPTION
35 The
36 .B mhlist
37 command allows you to list information (essentially
38 a table of contents) about the various parts of a collection of
39 MIME (multi-media) messages.
40 .PP
41 .B mhlist
42 manipulates MIME (multi-media messages) as specified
43 in RFC 2045 to RFC 2049 (See
44 .IR mhbuild (1)).
45 .PP
46 The
47 .B \-headers
48 switch indicates that a one-line banner should be
49 displayed above the listing.
50 .PP
51 The
52 .B \-realsize
53 switch tells
54 .B mhlist
55 to evaluate the
56 \*(lqnative\*(rq (decoded) format of each content prior to listing.
57 This provides an accurate count at the expense of a small delay.
58 .PP
59 If the
60 .B \-verbose
61 switch is present, then the listing will show
62 any \*(lqextra\*(rq information that is present in the message,
63 such as comments in the \*(lqContent-Type\*(rq header.
64 .PP
65 If the
66 .B \-disposition
67 switch is present, then the listing will show any relevant information from
68 the \*(lqContent-Disposition\*(rq header.
69 .PP
70 The option
71 .B \-file
72 .I file
73 directs
74 .B mhlist
75 to use the specified
76 file as the source message, rather than a message from a folder.
77 If you specify this file as \*(lq-\*(rq, then
78 .B mhlist
79 will
80 accept the source message on the standard input. Note that the
81 file, or input from standard input should be a validly formatted
82 message, just like any other
83 .B nmh
84 message. It should
85 .B NOT
86 be in mail drop format (to convert a file in mail drop format to
87 a folder of
88 .B nmh
89 messages, see
90 .IR inc (1)).
91 .PP
92 By default,
93 .B mhlist
94 will list information about the entire
95 message (all of its parts). By using the
96 .B \-part
97 and
98 .B \-type
99 switches, you may limit the scope of this command to particular
100 subparts (of a multipart content) and/or particular content types.
101 .PP
102 A part specification consists of a series of numbers separated by dots.
103 For example, in a multipart content containing three parts, these
104 would be named as 1, 2, and 3, respectively. If part 2 was also a
105 multipart content containing two parts, these would be named as 2.1 and
106 2.2, respectively. Note that the
107 .B \-part
108 switch is effective for only
109 messages containing a multipart content. If a message has some other
110 kind of content, or if the part is itself another multipart content, the
111 .B \-part
112 switch will not prevent the content from being acted upon.
113 .PP
114 A content specification consists of a content type and a subtype.
115 The initial list of \*(lqstandard\*(rq content types and subtypes can
116 be found in RFC 2046.
117 .PP
118 A list of commonly used contents is briefly reproduced here:
119 .PP
120 .RS 5
121 .nf
122 .ta \w'application 'u
123 Type Subtypes
124 ---- --------
125 text plain, enriched
126 multipart mixed, alternative, digest, parallel
127 message rfc822, partial, external-body
128 application octet-stream, postscript
129 image jpeg, gif, png
130 audio basic
131 video mpeg
132 .fi
133 .RE
134 .PP
135 A legal MIME message must contain a subtype specification.
136 .PP
137 To specify a content, regardless of its subtype, just use the
138 name of the content, e.g., \*(lqaudio\*(rq. To specify a specific
139 subtype, separate the two with a slash, e.g., \*(lqaudio/basic\*(rq.
140 Note that regardless of the values given to the
141 .B \-type
142 switch, a
143 multipart content (of any subtype listed above) is always acted upon.
144 Further note that if the
145 .B \-type
146 switch is used, and it is desirable to
147 act on a message/external-body content, then the
148 .B \-type
149 switch must
150 be used twice: once for message/external-body and once for the content
151 externally referenced.
152 .PP
153 The parts of a multipart/alternative part are listed in the reverse
154 order of their placement in the message. The listing therefore is
155 in decreasing order of preference, as defined in RFC 1521.
156 .SS "Checking the Contents"
157 The
158 .B \-check
159 switch tells
160 .B mhlist
161 to check each content for an
162 integrity checksum. If a content has such a checksum (specified as a
163 Content-MD5 header field), then
164 .B mhlist
165 will attempt to verify the
166 integrity of the content.
167 .SH FILES
168 .fc ^ ~
169 .nf
170 .ta \w'%etcdir%/ExtraBigFileName 'u
171 ^$HOME/\&.mh\(ruprofile~^The user profile
172 .fi
173 .SH "PROFILE COMPONENTS"
174 .fc ^ ~
175 .nf
176 .ta 2.4i
177 .ta \w'ExtraBigProfileName 'u
178 ^Path:~^To determine the user's nmh directory
179 ^Current\-Folder:~^To find the default current folder
180 .fi
181 .SH "SEE ALSO"
182 .IR mhbuild (1),
183 .IR mhshow (1),
184 .IR mhstore (1)
185 .SH DEFAULTS
186 .nf
187 .RB ` +folder "' defaults to the current folder"
188 .RB ` msgs "' defaults to cur"
189 .RB ` \-nocheck '
190 .RB ` \-headers '
191 .RB ` \-realsize '
192 .RB ` \-rcache\ ask '
193 .RB ` \-wcache\ ask '
194 .RB ` \-changecur '
195 .RB ` \-noverbose '
196 .RB ` \-nodisposition '
197 .fi
198 .SH CONTEXT
199 If a folder is given, it will become the current folder. The last
200 message selected will become the current message, unless the
201 .B \-nochangecur
202 option is specified.