Kenji
kenji****@club*****
2008年 1月 21日 (月) 14:32:43 JST
Kenji です。 Bug Tracker に投げました。 http://codeigniter.com/bug_tracker/bug/3279/ On Wed, 26 Dec 2007 11:53:22 +0900 Kenji <kenji****@club*****> wrote: > Kenji です。 > > > あまり反応がよくありません。が、Armchair Samuraiさんの解釈は > 私の解釈とは矛盾しません。 > > $_base_charsets が、7bit の文字コードのリストと解釈し、 > デフォルトが 8bit になっているのは、バグと考え、Bug Tracker > に投げようと思います。 > > > ちなみに、日本語言語パックではそれに沿って、以下の修正を > 入れようと思っています。 > > --- ./system/libraries/Email.php.orig 2007-07-12 04:32:38.000000000 +0900 > +++ ./system/libraries/Email.php 2007-12-17 10:41:25.000000000 +0900 > @@ -11,6 +11,9 @@ > * @link http://www.codeigniter.com > * @since Version 1.0 > * @filesource > + * > + * Modified by Kenji Suzuki, 2007/12/17 > + * - supporting Japanese(iso-2022-jp) > */ > > // ------------------------------------------------------------------------ > @@ -59,7 +62,7 @@ > var $_atc_boundary = ""; > var $_header_str = ""; > var $_smtp_connect = ""; > - var $_encoding = "8bit"; > + var $_encoding = "7bit"; > var $_safe_mode = FALSE; > var $_IP = FALSE; > var $_smtp_auth = FALSE; > @@ -73,7 +76,7 @@ > var $_attach_type = array(); > var $_attach_disp = array(); > var $_protocols = array('mail', 'sendmail', 'smtp'); > - var $_base_charsets = array('iso-8859-1', 'us-ascii'); > + var $_base_charsets = array('us-ascii', 'iso-2022-jp'); > var $_bit_depths = array('7bit', '8bit'); > var $_priorities = array('1 (Highest)', '2 (High)', '3 (Normal)', '4 (Low)', '5 (Lowest)'); > > @@ -326,8 +329,15 @@ > */ > function message($body) > { > + if (strtolower($this->charset) == 'iso-2022-jp') > + { > + $this->_body = rtrim(str_replace("\r", "", $body)); > + } > + else > + { > $this->_body = stripslashes(rtrim(str_replace("\r", "", $body))); > } > + } > > // -------------------------------------------------------------------- > > > On Mon, 17 Dec 2007 21:20:07 +0900 > "Kenichi Ando" <neo.k****@gmail*****> wrote: > > > bossatamaです。 > > > > 07/12/17 に Kenji<kenji****@club*****> さんは書きました: > > > > > > Emailクラスの _encoding (Content-Transfer-Encoding: ヘッダ)の決定 > > > ロジックの意味がよくわかりませんでしたので、本家フォーラムに投げて > > > みました。 > > > > > > http://codeigniter.com/forums/viewthread/67179/ > > > > > > > > > デフォルトは 8bit になっていて、 > > > > > > var $_base_charsets = array('iso-8859-1', 'us-ascii'); > > > > > > に当てはまらないものは、8bit にするというロジックになってます。 > > > > > > 結局すべて 8bit になりますよね。 > > > > > > > > フォーラムを確認しました。まだレスが付いていませんでしたが、 > > 日本語メールだと通常は7bitでしょうね。 > > 8bitでも送れるようなんで、どうしたもんかなぁって思って > > いましたが、どんなレスが付くのか楽しみです。 > > > > //bossatama