Era Eriksson understood that Steve Hill didn't really want the -d option
(either Mr. Eriksson was able to decode Mr. Hill's base64-encoded sample and
see what I could not, or he just got Mr. Hill's meaning where I could not)
and suggested,
| > That's formail -s
Mr. Hill expressed his gratitude:
| Thanks, Era! That solved the problem. My reading of the formail man
| pages led me to believe that the -d option was required, in order to
| split the file into separate messages.
Ah; now I understand. Mr. Hill must have been working with a folder that
contained both single-part messages and messages containing digests, and he
wanted the messages separated from one another without the digests' being
burst further into their component articles. I had had the impression that
the input to formail was one message, which contained a digest, and it wasn't
clear whether Mr. Hill wanted it burst or not.
I find it helps to think of `s' for "split" and `d' for "digest". -s will
split only where it finds "From " after an empty line (-es will split at
"From " at the start of a line without requiring a blank line before it) ...
and even then it won't split if "From " is protected by a Content-Length:
value (unless you use the -Y option to tell formail to ignore Content-Length:
headers). -ds does not require "From " because it is designed to separate
digest articles from one another as well as full-fledged messages from one
another; -ds will also split wherever it finds a clump of RFC822 headers
embedded in the body of a message.