ようこそゲストさん

CPA-LABテクニカル

2008/02/09(土) CakePHP1.2のEmailComponentのデフォルトcharsetとEncoding:7bit

CakePHP1.2bのEmailコンポーネントを眺めていると、
デフォルトのcharset=UTF-8、つまり
Content-Type: text/html: charset=UTF-8
なのに、
Content-Transfer-Encoding:7bit
であることに気づいた。


これっていいのでしょうか?
あまりemailの仕様に詳しくない者がいうのも何ですが、UTF-8の場合は、8bitにするか、base64でエンコードして、base64指定にしなければならないような気がします。誰か詳しい人いませんかね。


しかも、charsetは、設定で変更できるのですが、Content-Transfer-Encodingは、変更できません。


ということは、charsetは、7bit形式のものでなければならず、日本語を通すなら、ISO-2022-JP(JIS)でなければならないはず。
なので、私は、ISO-2022-JPに指定しています。。。。
(呼び出し側で、mb_convert_encodingでJISに変換している。)


で、もひとついえば、本文のエンコードと、ヘッダーのエンコードは、それぞれ別に設定されてもいいように思うのですが、$this->charsetひとつだけの設定なので、ヘッダーと本文のエンコードを別にすることができません。


CakePHP version 1.2.0.6311 betaのお話です。なんか、このコンポーネントはこれからもっと手が入るような気がする。

名前:  非公開コメント   

  • TB-URL  http://cpa-lab.com/tech/065/tb/