Mercurial > docs > master
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 |