1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532
|
<HTML>
<HEAD>
<TITLE>MHonArc Reference -- Appendix: MIME Conformance</TITLE>
<link rel="stylesheet" type="text/css" href="docstyles.css">
</HEAD>
<BODY>
<!--X-NavButtons-Start-->
<table width="100%">
<tr valign="top">
<td align="left"><nobr><a href="app-api.html"><img src="prev.png"border=0 alt="[Prev]"></a> </nobr></td><td align="center" width="99%"><a href="mhonarc.html"><img src="up.png" border=0 alt="[TOC]"></a><a href="faq/faq.html"><img src="faq.png" border=0 alt="[FAQ]"></a><a href="app-bugs.html"><img src="bug.png" border=0 alt="[Bugs]"></a><a href="http://www.mhonarc.org/"><img src="home.png" border=0 alt="[Home]"></a></td><td align="right"><nobr> <a href="app-bugs.html"><img src="next.png" border=0 alt="[Next]"></a></nobr></td></tr></table>
<!--X-NavButtons-End-->
<HR>
<H1><a name="appendix-mimeconf">Appendix: MIME Conformance</a></H1>
<P>This appendix describes how well MHonArc implements
MIME-conformance as defined in
<a href="http://www.mhonarc.org/~ehood/MIME/2049/rfc2049.html">
RFC 2049: (MIME) Part Five: Conformance Criteria and Examples</a>.
Also, additional MIME-related features are summarized.
</P>
<!--X-TOC-Start-->
<ul>
<li><a href="#mime-conformance">MIME-Conformance</a>
<li><a href="#otherstuff">Other Stuff Supported</a>
</ul>
<!--X-TOC-End-->
<hr>
<H2><a name="mime-conformance">MIME-Conformance</a></H2>
<p>MIME-conformance is defined in section 2 of
<a href="http://www.mhonarc.org/~ehood/MIME/2049/rfc2049.html">
RFC 2049: (MIME) Part Five: Conformance Criteria and Examples</a>.
Following is the text extracted from section 2 of RFC 2049 with
annotations — denoted by
<strong><img src="monicon.png" alt="MHonArc"></strong> —
added on how well MHonArc conforms to each criteria listed.
It should be noted that the criteria listed in RFC 2049 is geared
towards interactive MUAs; therefore, some criteria may not be
applicable to MHonArc.
</p>
<table class="note" width="100%">
<tr valign=top>
<td><strong>NOTE:</strong></td>
<td width="100%"><p>All notes about conformance is based upon the default MIME-related
resource settings:
<a href="resources/mimefilters.html">MIMEFILTERS</a>,
<a href="resources/mimeargs.html">MIMEARGS</a> ,
<a href="resources/charsetconverters.html">CHARSETCONVERTERS</a>,
<a href="resources/charsetconverters.html">CHARSETALIASES</a>.
</p>
</td>
</tr>
</table>
<ol>
<li><p>
Always generate a "MIME-Version: 1.0" header field in
any message it creates.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Not applicable.
</p>
</td>
</tr>
</table>
</li>
<li><p>
Recognize the Content-Transfer-Encoding header field
and decode all received data encoded by either quoted-printable or base64 implementations. The identity
transformations 7bit, 8bit, and binary must also be
recognized.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Base64, quoted-printable, 7bit, 8bit, and binary are supported.
Also, uuencode is supported: <tt>uuencode</tt>, <tt>x-uuencode</tt>, and
<tt>x-uue</tt>.
</p>
</td>
</tr>
</table>
<p>
Any non-7bit data that is sent without encoding must be
properly labelled with a content-transfer-encoding of
8bit or binary, as appropriate. If the underlying
transport does not support 8bit or binary (as SMTP
[RFC-821] does not), the sender is required to both
encode and label data using an appropriate Content-Transfer-Encoding such as quoted-printable or base64.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Not applicable.
</p>
</td>
</tr>
</table>
</li>
<li><p>
Must treat any unrecognized Content-Transfer-Encoding
as if it had a Content-Type of "application/octet-stream", regardless of whether or not the actual
Content-Type is recognized.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Currently, MHonArc will still call the registered
<a href="resources/mimefilters.html">content-type filter</a> for the specified
Content-Type, but the <b><tt>$isdecoded</tt></b> will be set to a false
value. With the default set of filters, the <b><tt>$isdecoded</tt></b>
flag is ignored. Therefore, behavior could be considered undefined when
MHonArc process a message with an unrecognized Content-Transfer-Encoding.
</p>
</td>
</tr>
</table>
</li>
<li><p>
Recognize and interpret the Content-Type header field,
and avoid showing users raw data with a Content-Type
field other than text. Implementations must be able
to send at least text/plain messages, with the
character set specified with the charset parameter if
it is not US-ASCII.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>MHonArc conforms to the first sentence of the paragraph
The second sentence is not applicable.
</p>
</td>
</tr>
</table>
</li>
<li><p>
Ignore any content type parameters whose names they do
not recognize.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Yes.
</p>
</td>
</tr>
</table>
</li>
<li><p>
Explicitly handle the following media type values, to
at least the following extents:
</p>
<p>
Text:
</p>
<ul>
<li><p>Recognize and display "text" mail with the
character set "US-ASCII."
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Yes.
</p>
</td>
</tr>
</table>
<li><p>Recognize other character sets at least to the
extent of being able to inform the user about what
character set the message uses.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Not really applicable. Warnings are generated during processing
if a character set is encountered that is not recognized.
</p>
</td>
</tr>
</table>
<li><p>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 1-127.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Yes.
</p>
</td>
</tr>
</table>
<li><p>For unrecognized subtypes in a known character
set, show or offer to show the user the "raw" version
of the data after conversion of the content from
canonical form to local form.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>MHonArc will treat the data as text/plain and convert.
</p>
</td>
</tr>
</table>
<li><p>Treat material in an unknown character set as if
it were "application/octet-stream".
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>No. A warning is generated for unknown character sets. The
data will be shown in raw form, with HTML special characters converted
to entity references. This behavior is the default because some MUAs
are known to give incorrect charset parameters.
</p>
</td>
</tr>
</table>
</ul>
<p>
Image, audio, and video:
</p>
<ul>
<li><p>At a minumum provide facilities to treat any
unrecognized subtypes as if they were
"application/octet-stream".
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>All image, audio, and video types are saved to an external file
with a link to the file created in the HTML. For applicable image types, they
are inlined unless the image has an attachment content-disposition.
</p>
</td>
</tr>
</table>
</ul>
<p>
Application:
</p>
<ul>
<li><p>Offer the ability to remove either of the quoted-printable or base64 encodings defined in this
document if they were used and put the resulting
information in a user file.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Most application types are decoded and saved to an external file
with a link to the file created in the HTML. Some application types
can be converted directly to HTML.
</p>
</td>
</tr>
</table>
</ul>
<p>
Multipart:
</p>
<ul>
<li><p>Recognize the 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.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Yes. Each part is automatically processed according to its
media-type.
</p>
</td>
</tr>
</table>
<li><p>Recognize the "alternative" subtype, and avoid
showing the user redundant parts of
multipart/alternative mail.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Yes. MHonArc also provides the
<a href="resources/mimealtprefs.html">MIMEALTPREFS</a> resource to
allow users to control media-type preferences for
<tt>multipart/alternative</tt> mail.
</p>
</td>
</tr>
</table>
<li><p>Recognize the "multipart/digest" subtype,
specifically using "message/rfc822" rather than
"text/plain" as the default media type for body parts
inside "multipart/digest" entities.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Yes.
</p>
</td>
</tr>
</table>
<li><p>Treat any unrecognized subtypes as if they were
"mixed".
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Yes.
</p>
</td>
</tr>
</table>
</ul>
<p>
Message:
</p>
<ul>
<li><p>Recognize and display at least the RFC822 message
encapsulation (message/rfc822) in such a way as to
preserve any recursive structure, that is, displaying
or offering to display the encapsulated data in
accordance with its media type.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Yes.
</p>
</td>
</tr>
</table>
<li><p>Treat any unrecognized subtypes as if they were
"application/octet-stream".
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Yes.
</p>
</td>
</tr>
</table>
</ul>
<li><p>Upon encountering any unrecognized Content-Type field,
an implementation must treat it as if it had a media
type of "application/octet-stream" with no parameter
sub-arguments. How such data are handled is up to an
implementation, but likely options for handling such
unrecognized data include offering the user to write it
into a file (decoded from its mail transport format) or
offering the user to name a program to which the
decoded data should be passed as input.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Yes. The data is passed to the
<a href="resources/mimefilters.html#m2h_external">m2h_external::filter</a>
to be saved to an external file.
</p>
</td>
</tr>
</table>
<li><p>Conformant user agents are required, if they provide
non-standard support for non-MIME messages employing
character sets other than US-ASCII, to do so on
received messages only. Conforming user agents must not
send non-MIME messages containing anything other than
US-ASCII text.
</p>
<p>In particular, the use of non-US-ASCII text in mail
messages without a MIME-Version field is strongly
discouraged as it impedes interoperability when sending
messages between regions with different localization
conventions. Conforming user agents MUST include proper
MIME labelling when sending anything other than plain
text in the US-ASCII character set.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>The
<a href="resources/defcharset">DEFCHARSET</a> resource
can be used to specify what character set to use if no character
set is specified. By default, US-ASCII is assumed.
</p>
</td>
</tr>
</table>
<p>In addition, non-MIME user agents should be upgraded if
at all possible to include appropriate MIME header
information in the messages they send even if nothing
else in MIME is supported. This upgrade will have
little, if any, effect on non-MIME recipients and will
aid MIME in correctly displaying such messages. It
also provides a smooth transition path to eventual
adoption of other MIME capabilities.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Not applicable.
</p>
</td>
</tr>
</table>
<li><p>Conforming user agents must ensure that any string of
non-white-space printable US-ASCII characters within a
"*text" or "*ctext" that begins with "=?" and ends with
"?=" be a valid encoded-word. ("begins" means: At the
start of the field-body or immediately following
linear-white-space; "ends" means: At the end of the
field-body or immediately preceding linear-white-space.) In addition, any "word" within a "phrase" that
begins with "=?" and ends with "?=" must be a valid
encoded-word.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>Yes.
</p>
</td>
</tr>
</table>
<li><p>Conforming user agents must be able to distinguish
encoded-words from "text", "ctext", or "word"s,
according to the rules in section 4, anytime they
appear in appropriate places in message headers. It
must support both the "B" and "Q" encodings for any
character set which it supports. The program must be
able to display the unencoded text if the character set
is "US-ASCII". For the ISO-8859-* character sets, the
mail reading program must at least be able to display
the characters which are also in the US-ASCII set.
</p>
<table border=0 cellpadding=4>
<tr valign=top>
<td><strong><img src="monicon.png" alt="MHonArc"></strong></td>
<td><p>MHonArc supports non-ASCII encoding of text in message headers,
including the "B" and "Q" encodings. See
<a href="resources/charsetconverters.html">CHARSETCONVERTERS</a> for
a list of charsets supported.
</p>
</td>
</tr>
</table>
</ol>
<hr>
<H2><a name="otherstuff">Other Stuff Supported</a></H2>
<p>The following lists other MIME-related features supported
by MHonArc:</p>
<ul>
<li><p>Support for uuencoding as a Content-Transfer-Encoding.
</p>
</li>
<li><p>Support for many media-types (including the ability to extend
that support). For a complete list, along with more
information, see the
<a href="resources/mimefilters.html">MIMEFILTERS</a> resource.
Note, many media-types cannot be directly converted into HTML. For
these types, they are saved to a separate file with a link to the
file inserted in the converted HTML message data.
</p>
</li>
<li><p>The ability to explicitly control media-type preferences
of <tt>multipart/alternative</tt> data via the
<a href="resources/mimealtprefs.html">MIMEALTPREFS</a> resource
</p>
</li>
<li><p>Support for <b><tt>multipart/related</tt></b> by allowing
<a href="resources/mimefilters.html">filters</a> to access other
message parts via content-ids.
</p>
</li>
<li><p>Support for <b><tt>cid:</tt></b> URLs in <b><tt>text/html</tt></b>
data. The provides support for things like MHTML:
<em>MIME E-mail Encapsulation of Aggregate Documents</em>,
<a href="http://www.ietf.org/rfc/rfc2110.txt">RFC 2110</a>.
</p>
</li>
<li><p>Support for
<a href="http://www.ietf.org/rfc/rfc2369.txt">RFC 2369</a>,
<em>The Use of URLs as Meta-Syntax for Core Mail List Commands
and their Transport through Message Header Fields</em>. The
URLs in list header fields will be converted into hypertext links.
</p>
</li>
</ul>
<hr>
<!--X-NavButtons-Start-->
<table width="100%">
<tr valign="top">
<td align="left"><nobr><a href="app-api.html"><img src="prev.png"border=0 alt="[Prev]"></a> </nobr></td><td align="center" width="99%"><a href="mhonarc.html"><img src="up.png" border=0 alt="[TOC]"></a><a href="faq/faq.html"><img src="faq.png" border=0 alt="[FAQ]"></a><a href="app-bugs.html"><img src="bug.png" border=0 alt="[Bugs]"></a><a href="http://www.mhonarc.org/"><img src="home.png" border=0 alt="[Home]"></a></td><td align="right"><nobr> <a href="app-bugs.html"><img src="next.png" border=0 alt="[Next]"></a></nobr></td></tr></table>
<!--X-NavButtons-End-->
<HR>
<address>
$Date: 2003/10/06 22:04:14 $ <br>
<img align="top" src="monicon.png" alt="">
<a href="http://www.mhonarc.org/"><strong>MHonArc</strong></a><br>
Copyright © 1999, <a href="http://www.mhonarc.org/~ehood/"
>Earl Hood</a>, <a href="mailto:mhonarc%40mhonarc.org"
>mhonarc<!--
-->@<!--
-->mhonarc.org</a><br>
</address>
</BODY>
</HTML>
|