MMIME(1)

πŸ“¦
version 1.4 Β· 2 versions
, in alpine 3.24, nixos 26.05, nixpkgs unstable

πŸ’Œ mmime(1) β€” the MIME-making bestie πŸ’Œ

okay so listen. mmime is a little general-commands-manual icon whose whole personality is creating MIME messages, and honestly? she ate. πŸŽ€


πŸ¦‹ NAME πŸ¦‹

mmime β€” literally makes MIME messages for you. no cap.


✨ SYNOPSIS ✨

mmime [-c | -r] [-t content-type] < message

that's it. that's the whole vibe check. she reads from stdin like the main character she is. πŸ’…


πŸ’– DESCRIPTION πŸ’–

so here's the tea, bestie: mmime generates a multipart/mixed message straight from standard input. she extends, wraps, and encodes the header as necessary β€” whatever it takes, she's doing it β€” and she replaces lines in the message body that look like this:

#content/type[#content-disposition] path[>filename]

...with a whole MIME part. that part has Content-Type = content/type, and it consists of the contents of the file found at path. iconic behavior honestly.

quick breakdown of the squiggly bits:

  • content-disposition is optional and defaults to attachment (she's not clingy, she just defaults there 🫢)
  • filename is optional and defaults to the basename of path

The options are as follows:

  • -c β€” Check mode πŸ•΅οΈβ€β™€οΈ: don't output anything, exit with status 1 if MIME-encoding the message is required, or else exit with status 0. she's just peeking, not touching.
  • -r β€” Raw mode 🌈: don't expand MIME parts in the body, generate a text/plain message. keep it simple, keep it plain.
  • -t content-type β€” Override Content-Type for the toplevel part. defaults to multipart/mixed. you're the boss, you pick the type πŸ’…

🌸 ENVIRONMENT 🌸

  • MBLAZE_RELAXED_MIME β€” if set, mmime -c will relax the body line length check and only consider bodies with lines longer than 998 characters need to be MIME formatted. yes bestie, 998. that's the number. she's chill like that when you set this. 🧚

⭐ EXIT STATUS ⭐

the mmime utility exits 0 on success, and >0 if an error occurs. periodt.

πŸ’€ heads up: any nonzero exit means something went sideways, so keep an eye on that number.

πŸ”₯ SEE ALSO πŸ”₯

  • makemime(1), mhbuild(1) β€” the other girls in the MIME friend group
  • N. Freed and N. Borenstein, Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, RFC 2045, November 1996.
  • N. Freed and N. Borenstein, Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, RFC 2046, November 1996.
  • K. Moore, MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text, RFC 2047, November 1996.
  • N. Freed and K. Moore, MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations, RFC 2231, November 1997.
  • P. Resnick (ed.), Internet Message Format, RFC 5322, October 2008.

like, the reading list is giving homework but it's also giving ✨foundational knowledge✨ so slay, go read it, iykyk.


πŸ‘‘ AUTHORS πŸ‘‘

Leah Neukirchen <leah@vuxu.org> β€” the legend herself πŸ’œ


πŸŽ€ LICENSE πŸŽ€

mmime is in the public domain. fr fr, no strings.

to the extent possible under law, the creator of this work has waived all copyright and related or neighboring rights to this work.

http://creativecommons.org/publicdomain/zero/1.0/


πŸŒˆπŸ’– and that's the whole page, bestie! this one's from the Debian edition of the manual, dated July 22, 2016 β€” so she's vintage but she's so still relevant. go make some MIME messages, you're gonna do amazing πŸ«Άβœ¨πŸ’…

πŸ“¦ where this page comes from