makemime — Create MIME-formatted messages
makemime [options...]
makemime [@filename]
makemime creates MIME-formatted messages of arbitrary
complexity.
makemime reads one or more individual files,
MIME-encodes them, adds basic MIME headers, and adds any additional headers
specified by command line options. The result is saved to another file or
standard output. Complex MIME-formatted messages are created by piping together
multiple instances of makemime.
Advanced options direct makemime to
fork() itself, and handle the details of setting up all
the pipelines.
In most cases, options for makemime come directly from the
command line. @filename reads the options from a file.
"@&" reads options from a pipe
on file descriptor #nn.
"@-" is a shortcut for
"@&0", which reads options from standard input.
When options are read from a file or a pipe, each option must be on a line by itself. If an option requires an argument, the argument must follow on the next line.
For readability, leading whitespace is deleted when options are read from a file or a pipe. Empty lines are also ignored, as well as lines that begin with the '#' character.
Options and their arguments may contain characters that are special characters to the shell, such as '(' and ')'. These characters must be backslashed when specified on the command line, to avoid their special meaning to the shell. These characters MUST NOT be backslashed when options are read from a file or a pipe. Similarly, the contents of most headers nearly always include spaces. Therefore they must be quoted when specified on the command line. Header contents MUST NOT be quoted when options come from a file or a pipe.
makemime reads the content to be formatted as a MIME message from some other file. The files can also be a pipe. It is possible to