.Water-Sunlight
.サイトメニュー
.検索
.オンライン状況
登録ユーザ: 0
ゲスト: 11
.
<< Prev
MIME
« INDEX »
PHP WEB要素編
Next >>
MIME関連関数
作成日:2006/05/25

2H.3 日本語とMIME

 日本語でメール送信する場合、以下の注意が必要です。

  • ボディ部のテキストデータは7ビットで格納しなければなりません。
  • ヘッダー部に日本語を使用する場合は、RFC2047 に従いヘッダー独自のエンコードをしなければなりません。


ボティ部の日本語フォーマット

 メールのボティ部に日本語を使用する場合は、以下のMIME関連のヘッダーフィールドが必要になります。

  • Content-Type フィールド ---------------- 日本語の文字コード
  • Content-Transfer-Encoding フィールド --- エンコード方法

良く使用される日本語の文字コードには以下のものがあります。

  • シフトJIS ( Shift_JIS )
  • EUC ( EUC-JP )
  • ISO-2022-JP
※ ISO-2022-JPについては http://www.ietf.org/rfc/rfc1468.txt を参照して下さい。

この中で7ビットの日本語コードは ISO-2022-JP だけです。 ISO-2022-JP は一般にJISコードと呼ばれる ISO-2022 のサブセットですが、いわゆる半角カナが定義されていません。 従ってISO-2022-JPでエンコードした場合、半角カナは送信できません。 このような場合は半角カナを漢字に変換して送信するなどの工夫が必要になります。

例:ボディ部をISO-2022-JPで送信する
内 容:こんにちは
    ご機嫌いかがですか?
< メール メッセージ >
Return-Path: <y2sunlight@sample.ne.jp>
(中略)
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

^[$B$3$s$K$A$O^[(B
^[$B$45!7y$$$+$,$G$9$+!)^[(B
※ISO-2022-JPの場合、ボディ部の各行の前後には Kin,Kout として $B,(B が入ります。

 半角カナや機種依存文字を含んだテキストなど、テキストを正確に送信したい場合は、 オリジナルのコード系を使用し Base64 に変換してから送信します。 この方法はテキストファイルをバイナリファイル扱いして送信する添付ファイルの場合と同じ方法です。

例:ボディ部をShift-JISで送信する
内 容:こんにちは
    ご機嫌いかがですか?
< メール メッセージ >
Return-Path: <y2sunlight@sample.ne.jp>
(中略)
MIME-Version: 1.0
Content-Type: text/plain; charset=Shift_JIS
Content-Transfer-Encoding: base64

^lnuVtjENCpZ7lbYyDQqWe5W2Mw==


ヘッダー部の日本語フォーマット

 RFC2047ではメールヘッダーに日本語などの非7ビット文字を使用する場合の規定があります。 この規定はメールヘッダーのみの規定です。例えば、メールの件名に日本語を使用する場合は、以下のようにします。

例:Subjectフィールドを内容を「こんにちは」とする場合
Subject: =?ISO-2022-JP?B?GyRCJDMkcyRLJEEkTxsoQg==?=
RFC2047によるエンコード形式
=?{ Chaeset }?{ Encoding }?{ Text }?=
パート説明
{ Chaeset }文字コード
{ Encoding }エンコード方法(B:Base64形式 / Q:Quoted Printable形式 )
{ Text }エンコードした文字列

エンコードした文字列が複数行に渡る場合は、 他のフィールドと同様に、継続行を空白か水平タブで始めます。 そして、各行は =? ?= で括ります。

例:Subjectフィールドを内容を「はじめましてはじめましてはじめましてはじめまして」とする場合
Subject: =?iso-2022-jp?B?GyRCJE8kOCRhJF4kNyRGJE8kOCRhJF4kNyRGJE8kOCRhJF4bKEI=?=
         =?iso-2022-jp?B?GyRCJDckRiRPJDgkYSReJDckRhsoQg==?=

備考: メールアドレスの形式

メールヘッダーに現れるメールアドレスの形式には幾つかのものがあります。

  1. user@domain
  2. phrase <user@domain>
  3. "phrase" <user@domain>
  4. user@domain (comment)
※ user はユーザ名、domain はドメイン名(またはサーバ名)、phrase と comment はコメントです。

メールアドレスの中のコメントには日本語が含まれる場合があります。 このような場合、上の fhrase または comment の部分が RFC2047 に基づいてエンコードされます。

例:Toフィールドの内容を「送信先 <info@y2sunlight.com >」とする場合
To: =?ISO-2022-JP?B?GyRCQXc/LkBoGyhC?= <info@y2sunlight.com>

注意: 添付ファイル名のエンコード形式

RFC2047 には Content-Disposition フィールドの filename パラメータで指定される添付ファイル名に対する規定がありません。 実際のメーラの多くは、添付ファイル名を RFC2047 に基づいてエンコードしていますが、 これは RFC2047 に違反しています。 filenameパラメータに関する規定は RFC2231 にあります。今後は RFC2231 に基づく方式が主流になると予測されます。

<< Prev
MIME
« INDEX »>
Page Top
Next >>
MIME関連関数

.