Subject: comp.mail.mime frequently asked questions list (FAQ) (1/3) Newsgroups: comp.mail.mime,comp.answers,news.answers From: tim@pipex.net (Tim Goodwin) Date: 21 Mar 1994 19:51:57 -0000 Archive-Name: mail/mime-faq/part1 Last-modified: 1994/02/10 Version: 3.4 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit comp.mail.mime frequently asked questions list (FAQ) (1/3) Part I -- Frequently Asked Questions This is part I of a Frequently Asked Questions document about MIME, the multipurpose and multi-media standard for Internet mail. Part I covers frequently asked questions. Part II is a listing of MIME products. Part III covers advanced topics. 0 Contents Sections which have changed since the last posting are marked with a `!' in the first column. New sections are marked with `+'. Part I -- Frequently Asked Questions 0 Contents 1 Introduction 1.1 Authorship 1.2 Conventions + 1.3 Where can I get the comp.mail.mime FAQ? 2 What is MIME? 2.1 Introduction 2.2 MIME features that may or may not be present 2.3 Further information 2.4 MIME glossary 2.5 Newsgroups and mailing lists 3 Miscellaneous questions 3.1 What can I use to display MIME messages? 3.2 What's "text/enriched"? "text/simplemail"? 3.3 What about security issues? 3.4 So, does MIME introduce any new security problems? 3.5 What about a group 3 facsimile encoding? 3.6 Should I always use external body parts to save space? 3.7 What mail servers can I reference? 3.8 Can I interwork between MIME and X.400? 3.9 How can I use uuencode with MIME? 4 MIME information available from the Internet 4.1 Anonymous FTP 4.2 Mail based archive servers 4.2.1 Eitech "ServiceMail" 4.2.2 Metamail "mailserver" 4.3 Gopher 4.4 World Wide Web ! 5 Published books and articles 6 MIME based relays for commercial mail services 6.1 Large national or international providers 6.1.1 ATTMAIL + 6.1.2 CompuServ 6.1.3 Radiomail 6.2 Local and regional providers Part II -- MIME products ! 7 Freely available MIME packages 7.1 Conversions from other mail systems ! 8 Commercial MIME packages 9 Packages for MIME in Usenet 9.1 Introduction 9.2 News readers and transports with MIME support Part III -- Advanced topics 10 Information 10.1 MIME-relevant RFCs and other standards 10.2 List of registered MIME types 10.3 Internet Engineering Task Force (IETF) working groups 11 Developers' FAQs 11.1 How can I register a new MIME type? 11.2 What's ESMTP, and how does it affect MIME? 11.3 Where can I get some sample MIME messages? 11.4 Wouldn't MIME be better if it did ? 11.5 So what about multilevel encodings? 11.6 Why doesn't MIME include a mechanism for compression? ! 12 Acknowledgements 1 Introduction 1.1 Authorship This FAQ was begun by Ed Vielmetti. It is now maintained by me, Tim Goodwin. Contributions have come from a cast of dozens: see section 12 for a list of contributors. 1.2 Conventions I have used some typographical conventions. Eventually I hope to format this as simplemail, but in the meantime... Direct quotations begin with an attribution in a standard format, and are indented by four spaces. FTPable goodies appear thus: FTP: domain.name:path/to/package Note that I usually list only the distribution site -- please try your nearest FTP archive first. You'll occasionally see text in braces, like this. { Here is some example meta-text. } Generally, these indicate places where information is missing, I'm unsure of my ground, or I plan major changes in the near future. You can ignore these if you're just looking for information. But if you can help fill in the gaps, and you want to achieve fame, fortune, and your name at the bottom of this FAQ, please mail me. 1.3 Where can I get the comp.mail.mime FAQ? It is posted approximately monthly to the newsgroups comp.mail.mime, comp.answers, and news.answers. The `Expires:' field is set such that---on systems which honour this field---the most recent edition will always be in the news spool. Many sites archive news.answers postings, including FTP: rtfm.mit.edu:pub/usenet-by-group/news.answers/mail/mime-faq/* If possible, please try to find a closer site; for example, by asking archie for `mime-faq'. If you are reading this FAQ via some fixed medium such as hardcopy or CD-ROM, please try to obtain the latest edition from the net instead. 2 What is MIME? 2.1 Introduction MIME, the Multi-purpose Internet Mail Extensions, is a freely available specification that offers a way to interchange text in languages with different character sets, and multi-media email among many different computer systems that use Internet mail standards. If you were bored with plain text email messages, thanks to MIME you now can create and read email messages containing these things: - character sets other than ASCII - enriched text - images - sounds - other messages (reliably encapsulated) - tar files - PostScript - FTPable file pointers - other stuff MIME supports not only several pre-defined types of non-textual message contents, such as 8-bit 8000Hz-sampled mu-LAW audio, GIF image files, and PostScript programs, but also permits you to define your own types of message parts. The ability to create email messages with audio and other non-textual contents has been around for a while, but almost always as part of a vendor-specific ``solution.'' This means that you can't create a message on a NeXT system containing PostScript information and ``Lip Service'' (NeXT's audio email tool) and easily handle the same message on an HP 9000/710, a Sun SPARCstation IPC, and a Silicon Graphics Iris. That's a problem that MIME helps to solve. One of the best things about MIME is that it's a "four-wheel drive protocol", to borrow a description of PhoneNet from Einar Stefferud. MIME was carefully designed to survive many of the most bizarre variations of SMTP, UUCP, and Procrustean mail transport protocols, such as BITNET and MMDF, that like to slice, dice, and stretch the headers and bodies of email messages. Here are a couple of examples of how MIME is being used in the real world, now. 1) Dr Marshall T. Rose mails out his SNMP-related newsletter, ``The Simple Times'' as multi-media email messages in several forms: - in a PostScript form, with beautiful typesetting and a two-column page layout, suitable for printing on a laser printer; - in a ``text/enriched'' form (explained in question 3.2), suitable for display on a mildly intelligent ASCII terminal; and - in a plain text, ordinary message form. (SNMP is the Simple Network Management Protocol, a low-level network management facility.) 2) IETF document announcements (RFCs, Internet Drafts, etc.) are structured as multipart MIME messages. The first part contains the document abstract. The second part is itself a multipart message, containing external references to the document itself (one via a mail-server, one via anonymous FTP). Thus, with a suitable UA (User Agent, see 2.4 for glossary), you can read the abstract, and then have the complete document retrieved for you (by the most appropriate method) at the press of a button. 2.2 MIME features that may or may not be present Implementations of multi-media email need not support the full spec; it's possible to have a useful product that does not explore all of the nooks and crannies of the standard. Furthermore, MIME permits a message to contain alternative parts for consumption by sites that can't necessarily display or listen to all the good stuff. Here is a list of features that someone with a good, functional mail user agent might include for MIME support. - Displays GIF, JPEG, and PBM encoded images, using e.g. 'xv' in the X Window System, or (name of windows program here) in Microsoft Windows. - Displays PostScript parts, using e.g. something that prints to a PostScript printer, or that invokes GhostScript on an X Window System display, or that uses Display PostScript. - Obtains external body parts via Internet FTP or via mail server. - Plays audio parts on workstations that support digital audio. On the other hand, the minimal requirements for a MIME-conformant MUA are almost trivial, yet still provide increased functionality. (The minimal requirements are mainly concerned with ensuring that users are not shown raw data from a MIME message inappropriately.) 2.3 Further information FTP: ftp.netcom.com:pub/mdg/mime.ps FTP: ftp.netcom.com:pub/mdg/mime.txt This is a nice overview of the MIME specification by Mark Grand. { Any other documents that should be referenced? } 2.4 MIME glossary Every subculture needs its list of buzzwords, here's a start at a collection for MIME. body the part of a message after the header (the "meat") ESMTP Extended SMTP - RFC 1425 external part a "pointer" to a part available via FTP or other means. GIF graphical interchange format for images header the To, From, Subject, etc. at the start of a message JPEG an image compression standard for still images mail transport the "post office", e.g. sendmail, smail, MMDF, etc. MIME Multipurpose Internet Mail Extensions - RFC 1521 MPEG an image compression standard for moving pictures MTA Mail Transport Agent, see "mail transport" MUA Mail User Agent, see "user agent" multi-media nebulous marketroid term meaning audio and visual stuff part a piece of a MIME message containing some data type PBM an image format PEM Privacy Enhanced Mail PostScript a popular page description language RFC request for comments; proposed or standard Internet protocols SMTP Simple Mail Transport Protocol - RFC 821 text/enriched simple text markup language for MIME - RFC 1523 text/simplemail another (even simpler?) text markup language user agent the end user's mail program, e.g. MH, ELM, /bin/mail, etc. 2.5 Newsgroups and mailing lists You're probably reading comp.mail.mime at the moment. There is a mailing list which is gatewayed with comp.mail.mime. If you are unable or unwilling to read Usenet news, send subscription requests to: info-mime-request@thumper.bellcore.com There is a UK exploder for info-mime, contact: info-mime-uk-request@mailbase.ac.uk The Mailbase software archives all contributions, which are then accessible via FTP and gopher (mailbase.ac.uk), and mailserver (mailbase@mailbase.ac.uk, with message body containing, e.g. "send info-mime-uk 08-1993" There is also a [comp.mail.multi-media] newsgroup, which contains general discussions of multi-media email, not necessarily MIME. There are various mailing lists specific to particular implementations of MIME. If I know of such a list, it is mentioned in the section on that implementation. 3 Miscellaneous questions 3.1 What can I use to display MIME messages? You need something that understands MIME-structured messages and also understands how to display the different kinds of body parts. Details of many freely available and commercial packages to do just that can be found in part II of this FAQ. 3.2 What's "text/enriched"? "text/simplemail"? These two subtypes of the "text" type have a similar aim: to offer simple text markup, without making the text unreadable to someone without the software to interpret it. The text/enriched scheme uses markup commands enclosed in angle brackets. For example, here is how you would embolden a single word. Simplemail is more like a standardisation of certain existing practices in mail and news articles. For example, here is how you would *emphasize* a single word. The text/enriched type is defined in RFC 1523. It supersedes "text/richtext", which was defined in RFC 1341. 3.3 What about security issues? Both users and administrators should be aware that ordinary Internet and UUCP email is not secure. No authentication, confidentiality, or data integrity properties are provided in SMTP, RFC-822, or MIME. People desiring any or all of those security properties in their email should look into the use of Privacy-Enhanced Mail (PEM). At least one no-cost implementation of PEM is available in the US and Canada. There are also a number of implementations being developed in Europe (hopefully these will not suffer the same restrictions on export). PEM will (eventually) be integrated with MIME. See draft-ietf-pem-mime-03.txt for the latest work on this. A system providing similar functionality to PEM implementations is PGP. PGP is an implementation, not a specification, and it does not carry the blessing of the IETF, or any other body. It is, however, available at no cost throughout the world (although its status with respect to certain US patents is dubious). Caveat emptor. 3.4 So, does MIME introduce any new security problems? Yes. MIME user agents can do previously unheard of things with mail messages, notably giving them as input to other programs. PostScript is probably the biggest potential security hole. One famous example is the "melting screen" PostScript program, which destroys screens maintained by Display PostScript implementations. For another example, PostScript can be used to change the password on some PostScript printers with previously undefined passwords, which denies the use of the printer until the printer's password can (somehow) be changed back. Yet other Display PostScript implementations may allow file operations. (NeXTstep wisely disables file operations. With GhostScript, they can be disabled by the "-dSAFER" command line option. Use of this option (in mailcap, etc.) is highly recommended.) The enumeration of these security holes is not to be interpreted as encouragement to exploit the holes. They are mentioned only because they are well known. Refer to books such as "Practical UNIX Security" and to news groups such as comp.security.misc for general information about system security. 3.5 What about a group 3 facsimile encoding? { This section needs some work - any volunteers? } It is rumored that there was an attempt to include G3 FAX in the current MIME standard, but that it was impossible for the authors of the MIME specification to gain a consensus on how to encode the data. So G3 FAX has been left for a future MIME implementation. But you can always define your own body part. Here are some snippets relevant to MIME and FAX. The MIME-MHS documents define a G3Fax body part that is conformant with the X.400 G3Fax definition. [ Stuart Lynne 30-Dec-1992 ] I have prototype scripts operating with metamail to do some of this. Some of it is in contrib directory. Currently I have 2 scripts: mm2fax - convert mail and metamail messages to TIFF/F (uses various tools to convert different body parts to TIFF/F); faxmm - send rfc822 and mime email messages via facsimile (uses mm2fax to convert to TIFF/F). [ Ned Freed 31-Dec-1992 ] PMDF-FAX is a set of channel programs for PMDF that provide facilities for converting text, PostScript, and various other formats into Group 3 FAX, as well as a set of programs that take these Group 3 FAX files and use them to drive a variety of FAX modems. MIME is used throughout to provide type information, multipart facilities, and so forth. PMDF-FAX was developed with MIME in mind from the outset. 3.6 Should I always use external body parts to save space? Not necessarily. In many cases, for example, at the ends of UUCP connections, your recipients may not be able to retrieve external body parts easily. It depends on your audience. Making files available via a mail server is to be encouraged. It is always possible to provide MIME alternative parts that first offer FTP, then mail server options. 3.7 What mail servers can I reference? There are various mail servers available. Check news.answers for the FAQ about mail server software. We do not presently have a recommendation. 3.8 Can I interwork between MIME and X.400? Conversion between RFC 822 and X.400 was defined in RFC 1327. Recently, the MIME-MHS working group has published RFCs (which are on the IAB standards track) which extend RFC 1327 to define conversions between MIME and X.400. { Sorry this is a bit scant---I haven't even had a chance to read the } { RFCs yet. Any contributions to this section gratefully received. } 3.9 How can I use uuencode with MIME? The following idea from Nathaniel may be useful. For some examples of this in action, see the newsgroup clari.feature.dilbert. [ Nathaniel Borenstein 4-Nov-93 ] I recently convinced myself that you can use multipart/alternative to get a nice effect for both MIME-smart recipients and uuencode-loving recipients, although it is ugly and wasteful: Content-type: multipart/alternative; boundary=foo --foo Content-type: application/octet-stream; name=foo.uu ...uuencoded data goes here.... --foo Content-type: real-mime-type Content-type: base64 base64-encoded data goes here --foo-- A good MIME viewer will only use the second part, the real MIME data. A uuencode-oriented system, however, should ignore everything EXCEPT the uuencoded data, because of the way uuencode works (everything before the "begin" line and after the "end" line is ignored). I certainly wouldn't want to recommend the above as standard practice, but I imagine that are enclaves or situations where it could be useful. 4 MIME information available from the Internet 4.1 Anonymous FTP Information about FTPable stuff is scattered throughout this FAQ. More specifically, look into the RFCs, mentioned in item 2.4. Other goodies can be found in the MH and MetaMail source trees. FTP: thumper.bellcore.com:pub/nsb contains a collection of MIME sample messages which can be used to test implementations. 4.2 Mail based archive servers 4.2.1 Eitech "ServiceMail" [ Jay C. Weber 13-Oct-1992 ] We (Enterprise Integration Technologies Corporation) have a MIME implementation, which we are distributing freely. Instead of a MIME MUA, it is a toolkit for building services that automatically process MIME messages. It is similar, in spirit, to the few other email-scripting packages except: o it exploits several MIME features o it is intended to run standalone (as opposed to a back-end to a MUA) o it uses TCL (from Berkeley) as its scripting language and support for PEM is in the works. EIT is providing ServiceMail access to the ServiceMail toolkit. If you have the METAMAIL or some other MIME-compliant mail reader, just send the message To: services@eitech.com Subject: archive-request servicemail.tar.Z and read the response(s) using METAMAIL. Save the result in servicemail.tar.Z The package can also be retrieved by anonymous FTP from the site eitech.com. If you have any problems with acquisition, installation, or use, don't hesitate to send mail to "servicemail-help@eitech.com" and ask for help. IF YOU WANT FUTURE UPDATES ON TOOL KIT VERSIONS, BUGS, AND SERVICES, MAKE SURE YOU ARE ON THE PACT-KIT MAILING LIST. To get on it, send a message to "services@eitech.com" with subject "listserv subscribe pact-kit your-real-name". 4.2.2 Metamail "mailserver" [ Nathaniel Borenstein 9-Jan-1993 ] The metamail distribution includes a simple "mailserver" shell script that can be used to operate a MIME-conformant mail server mechanism, e.g. for making anon-ftp files available as MIME mail. ServiceMail is also now available under the "contrib" area of the metamail distribution. 4.3 Gopher [ Randall Atkinson 2-Jan-1993 ] There is experimental work underway in the Internet Gopher community to include MIME as a mechanism for marking the content of files. The freely distributable Gopher client for NeXTstep 3.0 includes MIME support. Other gopher clients will probably add it eventually. 4.4 World Wide Web [ Marc VanHeyningen 26-Jun-1993 ] There is more-than-experimental work underway in the Internet World Wide Web (WWW) community to use MIME as the mechanism for marking the contents of information exchanged via HyperText Transfer Protocol (HTTP); the specification of HTTP/1.0 dictates that both the request and the response are more or less MIME-compliant messages. There are implementations already doing this today. Support is also included for format negotiation (e.g. a server might have both a PostScript and a plaintext version of a paper and decide which to send based on what the client can accept, presentation preferences, size, and the like.) It's nearly as complicated as the "badness" mechanisms in TeX, and unrelated to (and, for its application, probably superior to) the multipart/alternative MIME type. There is an FAQ for WWW in comp.infosystems.www 5 Published books and articles Published books or articles that cover MIME. Marshall T. Rose has recently published the fourth book in his networking `trilogy'. Marshall T. Rose "The Internet Message: closing the book with electronic mail" Prentice-Hall ISBN 0-13-092941-7 It is a complete review of the Internet world of electronic mail, including recent developments. There is considerable detail, and it would make the perfect companion to the mail RFCs for any budding implementor. On the other hand, the detail should be quite easy to skip for those interested in just an overview. As usual, Marshall's informed and often vigorous opinions are clearly marked off as `soapboxes', to be objectively skipped or delightedly sought out, according to preference. One chapter of the book is devoted to MIME. [ Alec Henderson 18-Dec-1992 ] There is a good introductory article on MIME in the September 1992 issue of Connexions; also several other interesting articles on email, both MIME and X.400. (Ole Jacobsen, the Connexions editor, was kind enough to send me a copy of the September issue.) [ Daniel Glazman 30-Aug-1993 ] To be published soon in "TRIBUNIX" the French Unix Users Group (AFUU) newspaper: "Les extensions MIME", Daniel Glazman. 6 MIME based relays for commercial mail services 6.1 Large national or international providers { Lots missing here. Anyone got any info these, or any others? } { America On-line } { Dialog } { Genie } { MCI Mail } { Sprintmail } 6.1.1 ATTMAIL [ Steve 30-Dec-1992 ] We do support binary attachment but are not MIME compliant nor do we have an X.400 to MIME conversion header routine. This is 'in the works', however, and due to overwhelming interest by our users and other prmd's, research and development are currently engaged in working on the issue. I do not have any information on when this will be available, but will let you know when I receive word of our MIME status. 6.1.2 CompuServ [ Pat Farrell 31-Dec-1993 ] CompuServ's main mail service is ASCII text based, and is not MIME compliant. CompuServ provides robust, reliable mail transport of binary files. CompuServ invented and copyrighted the GIF format which is supported by MIME. There are commercial and freeware client programs for Macs and PCs that can provide "user friendly" access to CompuServ's text and binary mail services, display GIF files, and interact with CompuServ's forums. (CompuServ forums are roughly equivalent to UseNet newsfeeds.) 6.1.3 Radiomail [ Jerry Sweet 17-Dec-1992 ] RadioMail Corp. (formerly Anterior Technology) operates three types of email services having these statuses with respect to MIME: 1. UUCP/Internet gatewaying. The gateway passes MIME messages using 7 bit encodings in either direction. The sender and receiver must, of course, have MIME-complaint user agents in order to handle MIME email. 2. cc:Mail/Internet gatewaying. cc:Mail does permit binary attachments of various types, and these attachments are encoded by the gateway for transfer via SMTP, but the encoding is not presently MIME compliant. This may change. 3. Wireless email gatewaying. This service can pass MIME messages using 7-bit encodings in either direction. However, MIME per se is understood neither by the MS-DOS hosted user agents presently supplied by RadioMail Corp. for use on radio modem equipped computers, nor by any RadioMail-compatible third-party MS-DOS hosted user agents. This may change. { Should coordinate this with the global email list that is posted to } { comp.mail.misc. } 6.2 Local and regional providers { Any info? Should coordinate this with e.g. the PDIAL list. } End of Part I