mime-tool(1) a simple program to construct MIME messages with attached files


mime [ -dDvV ] [ -S subject ] [ -F from-address ] [ -T to-address ] [ -C carbon-copy address ] [ -P prolog-text ] [ -E epiplogue-text ] [ -B boundry ] [ -O overall content-type ] { [ -78abiquxopm ] [ -t content-type ] filename }


The mime program constructs MIME messages with attached files. The user can specify the content type (application/octet-stream, text/plain or a user specified type), content type encoding (7bit, 8bit, binary, base64 and auto-detect), content disposition (attached or inline) and the content boundry string. The user can also specify some mail related options: subject, from-address, to-addres, carbon-copy addres, prolog-text and epilog-text.

The output of the MIME-tool program can be sent directly to the mail, mailx or sendmail commands (or any other command that accepts RFC-822 formatted messages).

NOTE: Specifying 7-bit encoding for an attachment that contains 8-bit data will convert any data bytes whose high-bit is set to question marks.


7-bit ASCII encoding
8-bit ASCII encoding
application/octet-stream content type
binary encoding
low detail debugging
high detail debugging
write a subpart
disposition: inline (instead of attachment)
quoted-printable encoding
-c content-type
explicit content type
text/plain content type
omit disposition line
unknown encoding, auto-detect
verbose messages
very verbose messages
base64 encoding
copy existing MIME part
omit content-disposition
omit content-transfer-encoding
-n filename
override the filename in the disposition header
don't add a filename parameter in the disposition header


Using MIME-tool to write a mail message to a file:

mime -S "test message" -F [email protected] -T [email protected] file1 > test.msg

Using MIME-tool with the mail command:

mime -S "test message" -F [email protected] file1 | mail [email protected]

Using MIME-tool with the mailx command:

mime -S "test message" -F [email protected] file1 | mailx [email protected]

Using MIME-tool with the sendmail command:

mime -S "test message" -F [email protected] file1 | sendmail [email protected]


This is version 1.5.topal3 from June 2009.


Most of the header values are not properly quoted or folded, so long or complex values for these headers may cause problems. Specifically, the from-address, to-address, carbon-copy-address and content-type headers may not be properly quoted or folded.

For some reason, certain e-mail clients (espcially from a large software company located in Redmond, Washington) don't seem to recognize file attachments as attachments, but instead displays them as inline attachments. (maybe this isn't MIME-tool's fault, but I've gotten a few e-mails about it, so I'm mentioning it here)


mime is written by Jeffrey Dutky <[email protected]>

Oscar Esteban spotted an off-by-one error in the base64 encoding function.

Sergey Lapin spotted a bug in the filename header construction.

Chris Hemphill noticed that the documentation (this manual page and the README file) didn't include any examples of how to call the program with common mail commands.

Some additional fixes and additions by Phil Brooke to support Topal.


The original MIME-tool package can be downloaded from my web page at http://members.bellatlantic.net/~dutky

This modified version is distributed with Topal: