RFC-821, Simple Mail Transfer Protocol, which regulates the most common way of transferring mail messages between hosts.
RFC-822, Standard for the Format of ARPA Internet Text Messages, which regulates the format of the contents of an Internet e-mail message.
RFC-1123, Requirements for Internet Hosts -- Application and Support, which contains amendments to a number of RFCs, among them 821 and 822.
RFC-1521, MIME (Multipurpose Internet Mail Extensions) Part One, which regulates ways of tagging and coding the information in messages bodies. This facilitates transfer of data other than English text.
RFC-1522, MIME (Multipurpose Internet Mail Extensions) Part Two, which regulates ways of tagging and coding the information in the message headers. This allows a variety of character sets to be used in header fields.
The Internet Mail Consortium (IMC) wants to encourage the use of these modern standards, and by performing the following tests during the IMC MIME tests 1996 in San Jose we hope to inspire software developers and vendors to strive towards interoperability in a standardized way.
Part from testing applications for their conformance to the minimal suite of requirements stated in RFC-1521, we also want to make a brief summary of the availability of optional MIME functionality in each product, to aid customers wanting to compare MIME software.
The tests should be viewed as technical, and the emphasis is on the software's behaviour towards the rest of the Internet, and on the correctness of the final contents of the mail messages. Many aspects of mail software must be regarded as matters of taste, and we have tried to avoid those, and to concentrate on qualities that can be measured in an objective manner.
M - Minimal MIME conformance, as described in relevant RFCs above.
SM - MIME and features which are necessary to communicate using 8-bit characters, i.e., extensions to the minimal conformance test to include handling of ISO-8859-1 in a uniform way.
EM - Extra MIME functionality such as handling of character sets not mentioned in class M or SM, and handling of other types of data, e.g., picures and sound.
N - Non-MIME functionality, such as requirements on transfer systems and gateways.
EN - Extra non-MIME functionality, such as use of optional parameters in transfer systems. The results of these tests are not relevant for the certification process.
Test cases are specified in section 3.5.
The participants are expected to complete a test form (Appendix A) with correct information regarding their software. The test forms should be brought to the IMC MIME test event. During the actual meeting, the test leaders will verify various sections of various test forms. The final results will be compiled and made part of the final IMC test report.
Software participating in the test is supposed to be "as is", which means that it should be installed out of the box, with no special amendments from the participating organisation. All extra configuration, beyond normal setup expected by the user and according to the installation manual, is to be indicated in the test form as verbose comments. If the software requires external software to perform one or more tests, that should be clearly indicated, and a note should make clear whether that external software is included in the distribution of the tested software or not.
To: mimeback@bunyip.com
Subject: HELP
You will receive a plain text messgage containing further instructions on how to use the mimeback server.
mime-test@cafax.se
and not to any personal mailbox. A test leader will reply to the message with comments on its contents. Please make sure that the sender addresses of your test messages are valid return addresses.
The test leaders are not interested in seeing test messages on MIME functionality which the participants know they handle correct (i.e. like the question if you produce a correct MIME Version header line). This mail address is supposed to only be used for questionable formatting and encapsulation problems.
mime-participants@cafax.se
will be created to facilitate communication and cross-platform tests between the participants. This way it will be easy for participants to test the interopability of their software with other participants. Of course this course of action depends a lot on the good will and positive attitude of the participants. (Read: Don't abuse!)
Tests regarding software's ability to handle MIME message types are to be interpreted as whether the software is able to handle it or not in its basic configuration. If the user has to take extra measures to obtain the functionality it is to be indicated as "No" with an explaining comment starting with the expression "User configurable".
M2 Recognize the Content-Transfer-Encoding header field, and decode all received data encoded with either the quoted-printable or base64 implementations. Encode any data sent that is not in seven-bit mail-ready representation using one of these transformations and include the appropriate Content-Transfer-Encoding header field, unless the underlying transport mechanism supports non-seven-bit data, as SMTP does not.
(Interoperability comment: For clarification it is stated that software should implement both encodings, and be able to handle mail encoded in any one of them.)
M3 Recognize and interpret the Content-Type header field, and avoid showing users raw data with a Content-Type field other than text. Be able to send at least text/plain messages, with the character set specified as a parameter if it is not US-ASCII.
M4 Explicitly handle the following Content-Type values, to at least the following extents:
M4.1 Text
M4.1.1 Recognize and display "text" mail with the character set"US-ASCII."
M4.1.2 Recognize other character sets at least to the extent of being able to inform the user about what character set the message uses.
M4.1.3 Recognize the "ISO-8859-*" character sets to the extent of being able to display those characters that are common to ISO-8859-* and US-ASCII, namely all characters represented by octet values 0-127.
(Interoperability comment: Which glyphs to display for octets with values in the range 128-255 is up to the implementation.)
M4.1.4 For unrecognized subtypes, show or offer to show the user the "raw" version of the data after conversion of the content from canonical form to local form.
M4.2 Message
M4.2.1 Recognize and display at least the primary (822) encapsulation.
(Interoperability comment: Note that 822 is just a name of the subtype. See RFC-1521 for description of the type.)
M4.3 Multipart
M4.3.1 Recognize the primary (mixed) subtype. Display all relevant information on the message level and the body part header level and then display or offer to display each of the body parts individually.
M4.3.2 Recognize the "alternative" subtype, and avoid showing the user redundant parts of multipart/alternative mail.
M4.3.3 Treat all unrecognized subtypes as if they were "mixed".
M4.4 Application
M4.4.1 Offer to remove the Content-Transfer-Encoding. The software should be able to handle types of Content-Transfer-Encoding defined in RFC-1521. The resulting information should be written to a user file.
M5 Upon encountering any unrecognized Content-Type, treat the message as if it had a Content-Type of "application/octet-stream" with no parameter subarguments. How such data are handled is up to an implementation, but suggested options for handling such unrecognized data include offering the user to write it to a file (decoded from its mail transport format) and offering the user to name a program to which the decoded data should be passed as input. Unrecognized predefined types, which might include audio, image, or video, should also be treated in this way.
(Interoperability comment: It is acceptable that some graphic symbols are not displayed correctly if the reason for that is that no complete translation table between ISO-8859-1 and the native character set can be generated.)
S2 Ability to send and receive messages with header lines encoded according to RFC-1522 with character set ISO-8859-1. Recognize other "ISO-8859-*" character sets to the extent of being able to display those characters that are common to ISO-8859-* and US-ASCII, namely all characters represented by octet values 0-127.
EM1 Content-Type Text
Is the software able to handle messages with the following specifications.
EM1.1 Charset Parameters to Type Text/Plain
EM1.1.1 text/plain; charset=SEN_850200_B
EM1.1.2 text/plain; charset=ISO-2022-JP-2
EM1.2 text/enriched
EM2 Content-Type Image
EM2.1 image/gif
EM2.2 image/jpeg
EM2.3 image/tiff
EM3 Content-Type Audio
EM3.1 audio/basic
EM4 Content-Type Application
EM4.1 application/msword
EM4.2 application/postscript
EM5 Content-Type Multipart
EM5.1 multipart/appledouble
EM5.2 multipart/report
This format is specified in Internet-Drafts created by the IETF Notary Working Group. For gateways from/to X.400, the definitions can be found in Internet drafts created by the IETF Mixer Working Group.
EM6 Content-Type Message
EM6.1 message/partial
EM6.2 message/external-body (This test uses multipart/alternative also). It must be noted which access types are supported.
EM7 Content-Type Video
EM7.1 video/mpeg
EM7.2 video/quicktime
N3 SMTP Clients
N3.2 An SMTP client must never send high octets (i.e., with values in the range 128-255) without first having verified that the server is able to handle them. One method of such verification is the 8BITMIME STMP extension. Note that headerlines never may contain high octets. Header lines must be encoded according to RFC-1522.
The client must never use high octets in envelope addresses.
EN2 SMTP servers - ESMTP
EN2.1 The server recognizes the EHLO command and reacts accordingly by listing its extensions.
EN2.2 The server handles the SIZE extension. (RFC-1653)
EN2.3 The server handles the 8BITMIME extension correctly. This implies that the server is able to convert the content-transport-encoding if required in the next hop. (RFC-1652)
EN2.4 The server handles the DSN extension correctly. (RFC-1891 and RFC-1894).
EN3 SMTP clients - ESMTP
EN3.1 The client uses EHLO to determin if the server in question is able to handle SMTP extensions.
EN3.2 The client recognizes and uses the SIZE extension correctly. (RFC-1653)
EN3.3 The client recognizes and uses the 8BITMIME extension correctly. (RFC-1652)
EN3.4 The client is able to recognize and use the DSN extension correctly. (RFC-1891 and RFC-1894).
Patrik Fältström
Senior Researcher
Tele2, Sweden
Lars-Johan Liman
Research Engineer
Royal Institute of Technology, Network Operations Centre
When sending test messages, please use the email address:
mime-test@cafax.se
If you don't, your tests will be mixed with our ordinary mail which will make it very difficult for us to handle it in a proper way.
For questions about the tests, discussions about MIME etc, please contact the test leaders using e-mail, addressed
mime-group@cafax.se
To reach all participants in the MIME test, please use the address
mime-participants@cafax.se
Our individual mail addresses are:
Patrik Fältström: paf@swip.net
Lars-Johan Liman: liman@sunet.se
Name of product:
Version:
Manufactured by:
Tested on platform(s):
Available on platform(s):
Availablility:
Comments:
Form completed by:
Affiliation:
Email:
Phone:
Fax:
Address:
Sales contact:
Affiliation:
Email:
Phone:
Fax:
Address:
M1
Result [Y/N/NA]:
Comment:
M2
Result [Y/N/NA]:
Comment:
M3
Result [Y/N/NA]:
Comment:
M4.1.1
Result [Y/N/NA]:
Comment:
M4.1.2
Result [Y/N/NA]:
Comment:
M4.1.3
Result [Y/N/NA]:
Comment:
What glyphs are displayed for octets in the range 128-255?
M4.1.4
Result [Y/N/NA]:
Comment:
M4.2.1
Result [Y/N/NA]:
Comment:
M4.3.1
Result [Y/N/NA]:
Comment:
M4.3.2
Result [Y/N/NA]:
Comment:
M4.3.3
Result [Y/N/NA]:
Comment:
M4.4.1
Result [Y/N/NA]:
Comment:
M5
Result [Y/N/NA]:
If Yes, how are unrecognized subtypes handled?
Comment:
S1
Result [Y/N/NA]:
If Yes, is the translation table complete for all characters in the range 160-254?
Comment:
S2
Result for ISO-8859-1 [Y/N/NA]:
Comment:
Result for ISO-8859-* [Y/N/NA]:
Comment:
EM1.1.1
Result [Y/N/NA]:
If Yes, with external viewer?
Comment:
EM1.1.2
Result [Y/N/NA]:
If Yes, with external viewer?
If No, can the software be configured to handle this?
Comment:
EM1.2
Result [Y/N/NA]:
If Yes, with external viewer?
If No, can the software be configured to handle this?
Comment:
EM2.1
Result [Y/N/NA]:
If Yes, with external viewer?
If No, can the software be configured to handle this?
Comment:
EM2.2
Result [Y/N/NA]:
If Yes, with external viewer?
If No, can the software be configured to handle this?
Comment:
EM2.3
Result [Y/N/NA]:
If Yes, with external viewer?
If No, can the software be configured to handle this?
Comment:
EM3.1
Result [Y/N/NA]:
If Yes, with external viewer?
If No, can the software be configured to handle this?
Comment:
EM4.1
Result [Y/N/NA]:
If Yes, with external viewer?
If No, can the software be configured to handle this?
Comment:
EM4.2
Result [Y/N/NA]:
If Yes, with external viewer?
If No, can the software be configured to handle this?
Comment:
EM5.1
Result [Y/N/NA]:
If No, can the software be configured to handle this?
Comment:
EM5.2
Result [Y/N/NA]:
If Yes, is the incoming message treated as a new message or as an amendment to the outgoing message?
If No, can the software be configured to handle this?
Comment:
EM6.1
Result [Y/N/NA]:
If No, can the software be configured to handle this?
Comment:
EM6.2
Result [Y/N/NA]:
If Yes, what access types are supported and what external software is eventually required in each case?
If No, can the software be configured to handle this?
Comment:
EM7.1
Result [Y/N/NA]:
If Yes, with external viewer?
If No, can the software be configured to handle this?
Comment:
EM7.2
Result [Y/N/NA]:
If Yes, with external viewer?
If No, can the software be configured to handle this?
Comment:
N3.2
Result [Y/N/NA]:
If applicable, what method of verification is used?
Comment:
EN2.1
Result [Y/N/NA]:
Comment:
EN2.2
Result [Y/N/NA]:
If Yes, is there a fixed, configurable or resource dependent limit on the size and in that case what are the limits?
Comment:
EN2.3
Result [Y/N/NA]:
Comment:
EN2.4
Result [Y/N/NA]:
Comment:
EN3.1
Result [Y/N/NA]:
Comment:
EN3.2
Result [Y/N/NA]:
If Yes, what is the action if the size of the mail exceeds the server's limit?
Comment:
EN3.3
Result [Y/N/NA]:
Comment:
EN3.4
Result [Y/N/NA]:
Comment: