[Skip Navigation] [CSUSB] / [CNS] / [Comp Sci Dept] / [R J Botting] / [Samples] / comp.mail.MIME
[Index] [Contents] [Source Text] [About] [Notation] [Copyright] [Comment/Contact] [Search ]
Tue Sep 18 15:25:19 PDT 2007

Contents


    The MIME Multi-media Mail Format

      RFC 822(Mail layout), RFC 1341(Character encoding)

      Macros

    1. line::@#char->@#char= (_) eoln. |- For X:@#non(eoln), X.line::=X eoln. [ comp.ASCII.text.html ]

      Message Format

      1. message::=standard_mail_header mime_version.line (mime_type.line mime_encoding.line standard_mail_body ) & mime_formated_message.
      2. mime_version::="MIME-Version: " N(digit) "." N(digit).
      3. mime_type::="Content-Type: " type_subtype O(semicolon L(parameter, semicolon)).
      4. |-mime_type==>"Content-Type: " type"/"subtype O(semicolon L(parameter, semicolon)).
      5. mime_encoding::= word.

      6. mime_formated_message::= part_message | multipart_message.
      7. part_message::= |[(t,s):mime_type_subtype_pair~/1st("multipart")] ("Content-Type: " t "/" s).line mime_encoding.line part_in_format(t,s).

      8. multi_part_message::= |[(t,s):mime_type_subtype_pair&/1st("multipart"), b: char^(1..70)] (t "/" s ";" "boundary=" b).line mime_encoding.line ( preamble b.line #( part b.line ) epilogue. preamble and epilogue are ignored.
      9. part::= implictly_typed_ASCII eoln | part_message.

      10. mime_type_subtype_pair::= "text" >< ("plain" | "richtext") | "multipart"><("mixed" | "alternative" | "parallel" | "digest") | "message"><{"External-Body",...} | "image"><{...} | "audio" ><{...} | "video" ><{...} | "application" >< ("ODA" | "octet-stream" | "PostScript" | "ief" | "DCA-RFT" ).

      11. type_subtype::=|[p:mime_type_subtype_pair](1st(p) "/" 2nd(p) )

      12. type::=pre(mime_type_subtype_pair).
      13. subtype::=post(mime_type_subtype_pair).

      . . . . . . . . . ( end of section Message Format) <<Contents | End>>

      text/richtext

        [ comp.text.SGML.html ]

      1. special_chars::= "<nl>" | "<np>" | "<lt>"
      2. encoding::= whitspace+>ignored | "<nl>"+>eoln | "<np>"+>new_paragraph | "<lt>" +> less_than |+> Id.

      3. richtext::= #( non(command) | special_chars ) | |[ c:SGML.command ] ( c richtext SGML.negative(c) ).

      4. |- SGML.command::= "<" (style | character_set | format ) ">",


      5. |-SGML.negative_command="</" (style | character_set | format ) ">",

      6. |- SGML.negative::command->negative_command= (1st) ! "/" ! (rest).

      7. style::= "Bold" | "Italic" | "Fixed" | "Bigger" | "Smaller".

      8. character_set::= "US-ASCII" | "ISO-8859-X". ISO 8859-X
      9. format::= "Underline" | "Center" | "FlushLeft" | "FlushRight" | "Indent" | "IndentRight" | "Outdent" | "Outdentright" | "SamePage" | "Subscript" | "Superscript" | "Heading" | "Footing" | "Excerpt" | "Paragraph" | "Signature" | "Comment" | "No-op".

      . . . . . . . . . ( end of section text/richtext) <<Contents | End>>

      Also See

      A list of standard media types: //venera.isi.edu/in-notes/iana/assignments/media-types/

    End