FreeCalypso > hg > falcon-mail-tools
comparison README @ 7:36a95de13d30
add README
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Sat, 06 May 2023 16:53:07 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 6:cd2dcf6eed67 | 7:36a95de13d30 |
|---|---|
| 1 The present code repository contains email software which Mother Mychaela | |
| 2 developed for her own personal use; it is unlikely to be of interest to other | |
| 3 people as my tastes in personal technology tend to be very different from the | |
| 4 rest of the world, but I publish almost all of my software nonetheless, as a | |
| 5 matter of general principle. | |
| 6 | |
| 7 The main program in the present collection is f-demime - it is a de-MIME-ing | |
| 8 tool. f-demime processes one or more email messages in UNIX mailbox format | |
| 9 (each message preceded and delimited by a '^From ' line) and applies the | |
| 10 following transformations to each message: | |
| 11 | |
| 12 1] base64 blobs that aren't text parts are excised from the message; each such | |
| 13 blob is decoded and saved into its own file. These saved attachment files | |
| 14 are written into a special directory that must be indicated with | |
| 15 FDEMIME_ATT_DIR= environment variable. | |
| 16 | |
| 17 2] text/plain parts that are encoded in either base64 or quoted-printable are | |
| 18 decoded and written out in a form that (a) losslessly preserves the content | |
| 19 of the text part that originally contained non-ASCII characters and/or | |
| 20 insanely long lines, but also (b) is more suitable for direct consumption by | |
| 21 my wetware, rather than MIME software. The output form uses backslash | |
| 22 escapes to represent non-ASCII characters and machine-inserted line breaks. | |
| 23 | |
| 24 3] text/html and other non-plain text parts that are encoded in base64 are | |
| 25 losslessly transcoded from base64 to quoted-printable. | |
| 26 | |
| 27 The transformations applied by f-demime aren't fully lossless at level of | |
| 28 overall message lines and octets (one cannot take f-demime output and | |
| 29 reconstruct a message byte-identical to the original), but they are lossless at | |
| 30 the level of content which MIME itself promises to preserve. | |
| 31 | |
| 32 One important demiming function which f-demime does NOT do is collapsing | |
| 33 multipart/alternative structures, keeping text/plain and discarding HTML. The | |
| 34 rationale for this functional omission is that I will be inserting f-demime | |
| 35 into my incoming mail handling path, such that every incoming message will | |
| 36 automatically pass through f-demime before it hits my eyeballs. Given the | |
| 37 current state of badness on the Internet, I occasionally receive mails in which | |
| 38 the HTML part (which would be thrown away in a multipart/alternative collapse) | |
| 39 contains some valuable or interesting information content that is missing in the | |
| 40 text/plain version - thus fully automatic collapsing is not a workable approach | |
| 41 currently. I plan on implementing another program (resurrecting maltcollapse | |
| 42 from my previous cdemime attempt circa 2006) to do this multipart/alternative | |
| 43 collapsing, and then devising a practical way to invoke it once I have | |
| 44 determined that the HTML part is junk that can be safely thrown away. |
