comparison discussion.roff @ 114:92cbd3fa1c40

Wrote text about displaying mime messages.
author markus schnalke <meillo@marmaro.de>
date Mon, 25 Jun 2012 12:37:26 +0200
parents 4e6a9ae1b53c
children 4fbd14dc5e91
comparison
equal deleted inserted replaced
113:4a1f5ec6220d 114:92cbd3fa1c40
2239 2239
2240 2240
2241 2241
2242 .U3 "Showing MIME Messages 2242 .U3 "Showing MIME Messages
2243 .P 2243 .P
2244 FIXME 2244 The program
2245 .Pn mhshow
2246 had been written to display MIME messages.
2247 It implemented the conceptional view of the MIME RFCs.
2248 Nmh's
2249 .Pn mhshow
2250 handled each MIME part independently, presenting them separately
2251 to the user.
2252 This does not match today's understanding of email attachments,
2253 where displaying a message is seen to be a single, integrated operation.
2254 Today, email messages are expected to consist of a main text part
2255 plus possibly attachments.
2256 They are not any more seen to be arbitrary MIME hierarchies with
2257 information on how to display the individual parts.
2258 I adjusted
2259 .Pn mhshow 's
2260 behavior to the modern view on the topic.
2261 .P
2262 Note that this section completely ignores the original
2263 .Pn show
2264 program, because it was not capable to display MIME messages
2265 and is no longer part of mmh.
2266 Although
2267 .Pn mhshow
2268 was renamed to
2269 .Pn show
2270 in mmh, this section uses the name
2271 .Pn mhshow ,
2272 in order to avoid confusion.
2273 .P
2274 In mmh, the basic idea is that
2275 .Pn mhshow
2276 should display a message in one single pager session.
2277 Therefore,
2278 .Pn mhshow
2279 invokes a pager session for all its output,
2280 whenever it prints to a terminal.
2281 .Ci a4197ea6ffc5c1550e8b52d5a654bcaaaee04a4e
2282 In consequence,
2283 .Pn mhl
2284 does no more invoke a pager.
2285 .Ci 0e46503be3c855bddaeae3843e1b659279c35d70
2286 With
2287 .Pn mhshow
2288 replacing the original
2289 .Pn show ,
2290 output from
2291 .Pn mhl
2292 does not go to the terminal directly, but through
2293 .Pn mhshow .
2294 Hence,
2295 .Pn mhl
2296 does not need to invoke a pager.
2297 The one and only job of
2298 .Pn mhl
2299 is to format messages or parts of them.
2300 The only place in mmh, where a pager is invoked is
2301 .Pn mhshow .
2302 .P
2303 .Pe mhshow-show-*
2304 profile entries can be used to display MIME parts in a specific way.
2305 For instance, PDF and Postscript files could be converted to plain text
2306 to display them in the terminal.
2307 In mmh, the displaying of MIME parts will always be done serially.
2308 The request to display the MIME type `multipart/parallel' in parallel
2309 is ignored.
2310 It is simply treated as `multipart/mixed'.
2311 .Ci d0581ba306a7299113a346f9b4c46ce97bc4cef6
2312 This could already be requested with the, now removed,
2313 .Sw -serialonly
2314 switch of
2315 .Pn mhshow .
2316 As MIME parts are always processed exclusively , i.e. serially,
2317 the `%e' escape in
2318 .Pe mhshow-show-*
2319 profile entries became useless and was thus removed.
2320 .Ci a20d405db09b7ccca74d3e8c57550883da49e1ae
2321 .P
2322 In the intended setup, only text content would be displayed.
2323 Non-text content would be converted to text by appropriate
2324 .Pe mhshow-show-*
2325 profile entries before, if possible and wanted.
2326 All output would be displayed in a single pager session.
2327 Other kinds of attachments are ignored.
2328 With
2329 .Pe mhshow-show-*
2330 profile entries for them, they can be displayed serially along
2331 the message.
2332 For parallel display, the attachments need to be stored to disk first.
2333 .P
2334 To display text content in foreign charsets, they need to be converted
2335 to the native charset.
2336 Therefore,
2337 .Pe mhshow-charset-*
2338 profile entries used to be needed.
2339 In mmh, the convertion is done automatically by piping the text through
2340 the
2341 .Pn iconv
2342 command, if necessary.
2343 .Ci 2433122c20baccb10b70b49c04c6b0497b5b3b60
2344 Custom
2345 .Pe mhshow-show-*
2346 rules for textual content might need a
2347 .Cl "iconv -f %c %f |
2348 prefix to have the text converted to the native charset.
2349 .P
2350 Although the convertion of foreign charsets to the native one
2351 has improved, it is not consistent enough.
2352 Further work needs to be done and
2353 the basic concepts in this field need to be re-thought.
2354 Though, the default setup of mmh displays message in foreign charsets
2355 correctly without the need to configure anything.
2356
2357
2358 .ig
2359
2360 .P
2361 mhshow/mhstore: Removed support for retrieving message/external-body parts.
2362 These tools won't download the contents automatically anymore. Instead,
2363 they print the information needed to get the contents. If someone should
2364 really receive one of those rare message/external-body messages, he can
2365 do the job manually. We save nearly a thousand lines of code. That's worth
2366 it!
2367 (The profile entry `nmh-access-ftp' and sbr/ruserpass.c for reading
2368 ~/.netrc are gone now.)
2369 .Ci 55e1d8c654ee0f7c45b9361ce34617983b454c32
2370
2371 ..
2245 2372
2246 2373
2247 2374
2248 .H2 "Digital Cryptography 2375 .H2 "Digital Cryptography
2249 .P 2376 .P