Multipurpose Internet Mail Extensions

電子メールに関する規格

Multipurpose Internet Mail ExtensionUS-ASCII使MIMERFC 2045RFC 2046RFC 2047RFC 4288RFC 4289[1]RFC 2049 

概要

編集

 RFC 5322 ( RFC 822RFC 2822)7US-ASCII11000 ()US-ASCII

MIMEUS-ASCII

RFC 5322 ( RFC 822RFC 2822)11MIMEMIMEMIMEMIMEMIMEMIME1

HTTPMIME

MIMEで導入されたヘッダ

編集

MIME-Version

編集

従来のRFC 5322 (RFC 822, RFC 2822) 準拠のメッセージとの区別、あるいは将来MIMEが拡張されたときにバージョンを区別するためのヘッダ。現在は1.0のみが規定されている。

Mime-Version: 1.0

Content-Type

編集


Content-Type: type/subtype; parameter

typesubtypeparameter使

text/plain; charset=iso-2022-jp; format=flowed; delsp=yesISO-2022-JPRFC 3676 floweddelsp

text/html; charset=UTF-8HTMLUTF-8

multipart/alternativeHTMLHTML

typesubtypesubtypetext  text/plainapplication/octet-streammultipart  multipart/mixed applicationimageaudiovideosubtypeapplication/octet-stream

Content-Transfer-Encoding

編集

MIMEUS-ASCII
Content-Transfer-Encoding: mechanism

mechanism7bit8bitbinaryquoted-printablebase64  7bitquoted-printablebase64 8bitbinary 

デフォルト値。7 ビットのテキストを表す。Content-Transfer-Encoding ヘッダフィールドを省略した場合は、この 7bit を指定したのと同じ意味となる。US-ASCIIやISO-2022-JPは確実に7 ビットのテキストであるため、これにあたる。

8 ビットのテキストを表す。 RFC 5322 (旧RFC 822RFC 2822)は7 ビットのテキストを前提としており、この8bitは意図的に違反するものである。メールを転送するためのSMTPは基本的に7 ビットのテキストしか転送できないため、このエンコーディングを用いることはできない。RFC 1652で定義されるSMTPの拡張(ESMTP)の8BITMIMEを用いるか、8 ビットを許容するような全く別のプロトコルを用いた場合のみ、利用が可能である。

binary

編集

データがテキストではなくバイナリであることを表す。RFC 5322 (旧RFC 822RFC 2822)はテキストを前提としており、このbinaryは意図的に違反するものである。SMTPは基本的に行単位でデータを扱うため、行の概念すらないバイナリは転送できない。RFC 3030で定義されるESMTPの1つであるBINARYMIMEを用いるか、バイナリを許容するような全く別のプロトコルを用いた場合のみ、利用が可能である。

quoted-printable

編集

US-ASCII使 =HHHH 16

=  =3D 

=20 

= 

US-ASCII使  quoted-printable US-ASCII使quoted-pritable 使 Shift_JISEUC-JP quoted-printable base64使

base64

編集

3オクテット(24 ビット)を6 ビットずつ4つに分割し、各6 ビットの値に対してそれぞれUS-ASCIIの64 文字(英字52 文字、数字10 文字、「+」、「/」)を割り当てる符号化方式。

この符号化によって、SMTPなどUS-ASCIIしか許されていない通信路でもバイナリデータを交換できるメリットはあるが、データ容量は約33%増加する。

ヘッダでの非US-ASCII 文字の扱い

編集

bodyUS-ASCIIMIMERFC 2047RFC 2231US-ASCIIRFC 2047
=?charset?encoding?encoded-text?=

charsetencodingencoded-textcharset Content-Type:text/plain  charset IANAencoding  Q B quoted-printable  base64

RFC 2047""=?ISO-2022-JP?B?GyRCRnxLXDhsGyhC?="=?ISO-2022-JP?B?GyRCRnxLXDhsGyhC?=Microsoft Outlook ExpressMUAMUA

RFC 2231MIMEUS-ASCIIMIMEISO-2022-JP''%1B$BF|K%5C8l%1B%28B[2]RFC 5322

脚注

編集
  1. ^ RFC 2048
  2. ^ ''」は、二重引用符ではなく、2 個の単引用符である。

関連項目

編集