RFC 1844 INFORMATIONAL EMAIL · MIME · TESTING

MIME UA Checklist: Multimedia E-mail (MIME) User Agent Checklist

A questionnaire for judging how well an email program handles MIME, plus a responder that mails you test messages.

On rfc-editor.org ↗
PUBLISHED
August 1995
AUTHORS
E. Huizer
STREAM
IETF
BUILDS ON
RFC 1820 — MIME UA Checklist
TEST RESPONDER ADDRESS
mime-test@relay.surfnet.nl
CHECKLIST RESULTS ADDRESS
mime-check@nic.surfnet.nl
MIME VERSION HEADER
Mime-Version: 1.0
CONTENT ENCODINGS ASKED ABOUT
7bit, quoted printable, base64, binary, 8bit
FORWARDING ENCAPSULATION
Between 'Forwarded Message' and 'End of Forwarded Message'
DOI
10.17487/RFC1844

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                          E. Huizer
Request for Comments: 1844                                    SURFnet bv
Obsoletes: 1820                                              August 1995
Category: Informational


             Multimedia E-mail (MIME) User Agent checklist

Status of this Memo

   This memo provides information for the Internet community.  This memo
   does not specify an Internet standard of any kind.  Distribution of
   this memo is unlimited.

Abstract

   This document presents a checklist to facilitate evaluation of MIME
   capable User Agents. Access to a MIME test-responder, that generates
   test-messages is described.

Introduction

   This document presents a checklist that facilitates evaluation of
   MIME capable E-mail User Agents. It is by no means a conformance or
   interoperability (both strictly defined and measurable quantities)
   checklist, but rather an interworking (practical perspective)
   checklist that is aimed at the users and system managers.

Usage and submission

   If you use this checklist against a specific product (regardless of
   whether you're a vendor, implementor or user) you can submit the
   result to mime-check@nic.surfnet.nl, make sure that the subject
   reflects the name and version of the product. This is an automated
   mailhandler, so PLEASE only submit filled-in checklists (in content-
   type text/plain or text/html) to this address. This information will
   be made available (at no cost) for other people to browse through at
   URL: http://www.nic.surfnet.nl/surfnet/projects/surf-ace/mime/

   Although SURFnet will attempt to verify the correctness of each
   submission, all submitted information is made available as is, with
   no guarantees (SURFnet does not take any responsibility for errors in
   the data that is made available, or for any damages resulting from
   usage of that data). Users who want to procure a UA are advised to
   use the data as an orientation, and to perform their own procurement
   tests (possibly using the checklist below as a guideline). Also it is
   noted that vendors and implementors are encouraged to use the results
   from the checklist to improve their products.

Getting test messages

   For several tests in the checklist a test message is required. Test
   messages can be requested in the following way: Send mail to <mime-
   test@relay.surfnet.nl> with a subject field containing ONE of the
   following:

   text/plain
   text/enriched
   image/gif
   image/jpeg
   audio/basic
   video/mpeg
   application/octet-stream
   application/postscript
   message/rfc822
   message/partial
   message/external
   multipart/mixed
   multipart/parallel
   multipart/digest
   multipart/alternative
   multipart/appledouble
   application/wordperfect5.1
   application/msword
   application/rtf
   X-local      <to test how your UA deals with undefined content-types>
   nested    <returns a message that contains nested multipart contents>
   iso-8859-1    <returns a message with text/plain; charset=iso-8859-1>

   A message containing the requested content-type will be returned to
   the address contained in the from field.

References

   The reader is encouraged to also check out the following references:

   The MIME standards:

   -   Borenstein N. and N. Freed, "MIME (Multipurpose Internet
       Mail Extensions) Part One: Mechanisms for specifying and
       describing the format of Internet message bodies",  RFC 1521,
       Bellcore, Innosoft, September 1993.

   -   Moore K., "MIME (Multipurpose Internet Mail Extensions) Part
       Two: Message header extensions for non-Ascii text", RFC 1522,
       University of Tennessee, September 1993.

   The registration procedure for content types:

   -   Postel J., "Media type registration procedure", RFC 1590,
       USC/Information Sciences Institute, March 1994.

   Some related informational documents:

   -   Borenstein N., "The text/enriched MIME content-type",
       RFC 1563, Bellcore, October 1994.

   -   Borenstein N., "A user agent configuration mechanism for
       multimedia mail format information", RFC 1524, Bellcore,
       September 1993.

   Registered MIME content-types can be found at the following URL:
   ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types

   The SUNet MIME project: http://www.nada.kth.se/sunet-mime/ This
   offers evaluation tests reports of MIME products, as well as tests
   and test-criteria for MIME implementors.

   From Stockholm University a list of user-interface requirments for a
   mail/news reader is available under: gopher://mars.dsv.su.se/11/dsv-
   reports/research-reports/messaging-research

Checklist for Mime UAs

   (note that for items with multiple choice options, it is possible
   that more than one option is applicable)

   1.  General information:
   1.1 The name and version of the product
   1.2 The name and addressing information of the manufacturer
   1.3 What are the platforms that are supported (Operating system,
       GUI and hardware requirements, if applicable: what APIs are
       supported (like MAPI etc.))?  [Note: Please use separate
       checklist forms for different platforms!!]
   1.4 What is the platform that was used for this checklist
       (Operating system, GUI and hardware)? [Note: Only one
       platform per checklist!!]
   1.5 Is the software available in source format or in binary
       format or both.
   1.6 Pricing information. Is the software available:
        - In the Public Domain, free of charge
        - As shareware (what is the price?)
        - PD for non-profit use, but not for commercial use
        - Commercially

   2.  System installation, configuration and management
   2.1 How complex/easy is installation and configuration? Are
       there any pitfalls that need attention? Can you configure
       per set of users (i.e systemwide or LAN wide default
       configuration) and/or per user?
   2.2 Are there facilities for logging and/or accounting?
   2.3 Does the UA generate correct RFC-822 headers for outgoing
       messages:
       From:, (and if necessary) Sender:
       Date:
       Message-id:
   2.4 Is it possible for a non-priviledged user to change the
       "from" and/or "sender" field?
   2.5 Does the UA have any size restrictions (default or applied
       by system manager) for:
       - Message size
       - Number of messages
       - Number of folders
       - Number of messages per folder
   2.6 How secure is the users mailbox when using this UA? Can
       other non-privileged usets access the mailbox?
   2.7 What is the performance of the UA on this platform? (As this
       is difficult to measure, give your subjective impression:
       slow, reasonable or fast) E.g for:
       - Displaying a text message
       - Displaying a MIME message that contains an image
       - Complex actions like sorting etc.

   3.  General UA properties
   3.1 Does the UA have a graphical or a character based interface
       or both?
   3.2 Does the UA support native RFC-822/MIME or does it require a
       gateway?
   3.3 Which protocols are supported for message delivery:
        a. SMTP (MX records or static routing to Mailhost)
        b. ESMTP
        c. POP (which version)
        d. IMAP
        e. Co-location with specific MTA (which MTA)
        f. Other ...............
   3.4 Which protocols are supported for message submission:
        a. SMTP
        b. ESMTP
        c. Co-location with specific MTA (which MTA)
        d. Other ...............
   3.5 Does the UA support the following basic functionalities:
        - List messages
        - Read messages
        - Delete messages
        - Compose new messages
        - Reply to messages (Inclusion of original message-text in
          reply, reply to originator or to any or all recipients
          etc.)
        - Forward message
          o using MIME
          o using RFC-934 encapsulation; i.e.  message is
            encapsulated in between:
            ------- Forwarded Message  and
            ------- End of Forwarded Message
          o Other .......
        - Distribute message (the from field does not change)
   3.6 Does the UA support the following header fields and can they
       be supplied by the user:
         Generated correctly        Can be supplied by user
       - To:
       - Cc:
       - Bcc:
       - From:
       - Reply-to:
       - Subject:
       - Comments:
   3.7 Does the UA support filing mail into folders? Are there any
       restrictions?
   3.8 Does the UA support a filtering mechanism that allows the
       user to configure automatic processing of incoming mail
       (e.g. automatic filing into specific folders)? If so, how
       simple is the configuration of these filters?
   3.9 Does the UA support a sorting mechanism that allows the user
       to sort mail on date and/or subject and/or from field etc?
       If so describe the possibilities and restrictions.
   3.10 Does the UA support address lists and/or directory services?
        - Local (local address list, local aliases, local distribution
                 lists etc.)
        - Whois++
        - Ph (to CCSO server)
        - LDAP or SOLO or other access protocols to a directory
          service
        - Other .....
   3.11 What other non-multimedia facilities does the UA support?
   3.12 What secure mail protocols does the UA support (in-line):
       - PEM (Privacy Enhanced Mail)
       - PGP (Pretty Good Privacy)
       - Other.....

   4.  MIME support
   4.1 Does the UA support:
       - viewing a MIME content (either in-line or through launching
         an external viewer)?
       - saving a MIME content in a file?
       - saving one part of a multipart message in a file?
       - printing a MIME content?
   4.2 Does the UA support receipt of the following basic MIME
       content types? Does it display them in-line and does it
       support printing of such a content type? If an external
       viewer is needed, is a viewer pre-configured? Is the viewer
       included in the software distribution?
       In-line  Printing  External  Preconfig  Included
       - text/plain
       - text/enriched
       - image/gif
       - image/jpeg
       - audio/basic
       - video/mpeg
       - application/octet-stream
       - application/postscript
       - message/rfc822
       - message/partial
       Does the UA support ftp and/or mail access for:
       - message/external
       Describe how the UA supports the basic multipart types:
       - multipart/mixed
       - multipart/parallel
       - multipart/digest
       - multipart/alternative
       How does the UA handle:
       - X-<bilateraly defined>
       - unknown/unconfigured content-types
   4.3 Does the UA allow configuration for receipt of additional
       content-types? If so describe the configuration procedure
       and possibilities. (Is it complex/easy, give example
       configuration, can you add external viewers etc.). E.g.
       - application/wordperfect5.1
       - application/msword
       - multipart/appledouble (Macintosh systems only)
   4.4 Does the UA support composition of the following basic MIME
       content types? Describe how easy/complex composition of a
       message with a MIME content-type is.
       - text/plain
       - text/enriched
       - image/gif
       - image/jpeg
       - audio/basic
       - video/mpeg
       - application/octet-stream
       - application/postscript
       - message/rfc822
       - message/partial
       - message/external
       - multipart/mixed
       - multipart/parallel
       - multipart/digest
       - multipart/alternative
       Does the UA generate X-<bilaterally defined> content-types
       (when and why)
   4.5 Does the UA support compostion of additional content-types?
       If so describe how to do this (configuration and/or
       compostion), e.g.:
       - application/wordperfect5.1
       - application/msword
       - multipart/appledouble (Macintosh systems only)
   4.6 What content-encodings does the UA support:
       - 7bit
       - quoted printable
       - base64
       - binary
       - 8bit
       - X-<bilateraly defined> (when and why)
   4.7 What encoding is used for the following content-types:
         7bit QP   B64   Binary 8-bit Other
       - text/plain
       - text/enriched
       - image/gif
       - image/jpeg
       - audio/basic
       - video/mpeg
       - application/octet-stream
       - application/postscript
       - message/rfc822
       - message/partial
       - message/external
       - multipart/mixed
       - multipart/parallel
       - multipart/digest
       - multipart/alternative
   4.8 Does the UA generate the correct Mime version header:
       Mime-Version: 1.0
   4.9 In multipart messages, give an example of the sort of
       boundary string generated.
   4.10 Does the UA support the use of non-ascii characters in the
        headers (in subject, free form part of address etc.)?

   4.11 With the content type text/plain it is possible to have a
        charset parameter, indicating that a specific character set is
        used in the content type text plain. What character sets (like
        iso-8859-1) does the UA support (standard or configurable)?

Security Considerations

   Testing a MIME UA against this checklist involves the security risks
   that are described in the MIME specification (RFC 1521). Most notably
   the automatic execution of general-purpose PostScript interpreters
   entails serious security risks. The reader is encouraged to read RFC
   1521 for more detail on these security risks.

Author's Address

   Erik Huizer
   SURFnet bv
   P.O. Box 19035
   3501 DA  Utrecht
   The Netherlands

   Phone: +31 30 305305
   Fax: +31 30 305329
   EMail: Erik.Huizer@SURFnet.nl

ISO Plain Language

On this page
PROBLEMPeople choosing an email program had no way to compare how well different products handled MIME, the extension that carries pictures, sound and other file types inside a message.
MECHANISMThe memo gives a questionnaire of about a hundred items in four groups, covering the product, its installation, the user's everyday mail functions and its MIME support, and it describes a test responder that returns a message of any requested content type.
WHY IT MATTERSFilled-in checklists could be submitted by mail and published for others to browse, so buyers had a shared set of answers to compare products by.

§1What the Checklist Is For

The memo presents a checklist that facilitates the evaluation of MIME capable email user agents. It is by no means a conformance or interoperability checklist, both of which are strictly defined and measurable quantities. It is an interworking checklist, a practical perspective, aimed at users and system managers.

The questionnaire is organised in four groups: general information about the product, system installation, configuration and management, general user agent properties, and MIME support. Several items offer multiple choices, and the memo notes that for those it is possible that more than one option is applicable.

The memo is a questionnaire for judging how well an email program handles MIME, the extension that lets a message carry pictures, sound and other file types. It is aimed at people choosing or running mail software, not at testing a product against the MIME standard.

§2Submitting a Filled-In Checklist

A filled-in checklist for a specific product can be submitted by mail to mime-check@nic.surfnet.nl, with the subject field reflecting the name and version of the product. The address is an automated mail handler, so only filled-in checklists, in content type text/plain or text/html, should be sent to it. The information is then made available, at no cost, for other people to browse through.

Although SURFnet will attempt to verify the correctness of each submission, all submitted information is made available as is, with no guarantees. Users who want to procure a user agent are advised to use the data as an orientation and to perform their own procurement tests, possibly using the checklist as a guideline. Vendors and implementors are encouraged to use the results from the checklist to improve their products.

You send your completed questionnaire to a mailbox that files the results for others to read. The results are published as they arrive, so anyone shopping for mail software should still run their own tests rather than rely on them.

§3Requesting Test Messages

Several items in the checklist need a test message. Test messages are requested by sending mail to mime-test@relay.surfnet.nl with a subject field containing one of a list of content types. The list covers text/plain, text/enriched, image/gif, image/jpeg, audio/basic, video/mpeg, application/octet-stream and application/postscript, the message/rfc822, message/partial and message/external types, the multipart/mixed, multipart/parallel, multipart/digest, multipart/alternative and multipart/appledouble types, and types such as application/wordperfect5.1, application/msword and application/rtf.

Three further subjects are special. X-local tests how the user agent deals with undefined content types, nested returns a message that contains nested multipart contents, and iso-8859-1 returns a message with text/plain; charset=iso-8859-1. A message containing the requested content type is returned to the address contained in the From field.

Many of the questions need a real message to look at. You ask for one by mailing the test responder and putting the content type you want in the subject line. It sends the message back to the address you wrote in.

THE SUBJECT LINES THAT SELECT A TEST MESSAGE
Test message subjects
text/plain
text/enriched
image/gif
image/jpeg
audio/basic
video/mpeg
application/octet-stream
application/postscript
message/rfc822
message/partial
message/external
multipart/mixed
multipart/parallel
multipart/digest
multipart/alternative
multipart/appledouble
application/wordperfect5.1
application/msword
application/rtf
X-local
nested
iso-8859-1

§4What the Checklist Asks For

The first group asks for general information: the name and version of the product, the name and addressing information of the manufacturer, the platforms supported and the APIs used, the platform on which the checklist was filled in, whether the software is available in source, binary or both, and pricing information, with the software in the public domain, as shareware, as public domain for non-profit use only, or commercially.

The second group covers installation, configuration and management: how complex installation and configuration are, whether configuration can be system wide or per user, logging and accounting facilities, whether the user agent generates correct RFC 822 headers for outgoing messages, whether an unprivileged user can change the From or Sender field, size restrictions on messages, folders and messages per folder, how secure the user mailbox is against other unprivileged users, and a subjective impression of performance. The third group asks about general properties: the kind of interface, whether MIME is supported natively or needs a gateway, the protocols used for delivery and submission, the basic functions such as listing, reading, deleting, composing, replying, forwarding and distributing messages, the header fields supported and whether the user can supply them, filing into folders, filtering and sorting of incoming mail, address lists and directory services, other non-multimedia facilities, and secure mail protocols.

The fourth group is MIME support. It asks whether a MIME content can be viewed, saved, saved one part at a time and printed; which basic content types can be received, displayed in line and printed, and whether an external viewer is needed, preconfigured or included in the distribution; how the multipart types are handled and what happens with unknown or unconfigured content types; whether additional content types can be configured and whether the basic types can be composed; which content encodings are supported, being 7bit, quoted printable, base64, binary and 8bit, and which encoding is used for each content type; whether the correct Mime-Version: 1.0 header is generated; what a multipart boundary string looks like; whether non-ASCII characters may be used in headers; and which character sets are supported for plain text.

The questionnaire walks through who makes the product and what it costs, how it is installed and configured, what a user can do with mail, and then MIME itself: which types it can show and print, which it can create, and how it encodes them.

THE FOUR GROUPS OF THE QUESTIONNAIRE
  • General informationProduct name and version, manufacturer, platforms, source or binary, pricing.
  • Installation and managementHow hard setup is, logging, outgoing RFC 822 headers, mailbox security, performance.
  • General user agent propertiesInterface, delivery and submission protocols, filing, filtering, sorting, address lists, secure mail.
  • MIME supportReceiving, viewing, printing and composing content types, content encodings, headers, boundaries.
HEADERS THE CHECKLIST ASKS A VENDOR TO VERIFY
Headers to check
From:
Sender:
Date:
Message-id:
Mime-Version: 1.0

§5Security Considerations

Testing a MIME user agent against the checklist involves the security risks that are described in the MIME specification, RFC 1521. Most notably, the automatic execution of general-purpose PostScript interpreters entails serious security risks. The reader is encouraged to read RFC 1521 for more detail on these security risks.

Opening a message can run code on the computer, and the memo singles out PostScript as the serious case. It sends the reader to the MIME specification for the details.

§6References