_build_params = array( 'text_encoding' => '7bit', 'html_encoding' => 'quoted-printable', '7bit_wrap' => 998, 'html_charset' => 'iso-2022-jp', //日本語に対応 'text_charset' => 'iso-2022-jp', //日本語に対応 'head_charset' => 'iso-2022-jp' //日本語に対応 ); $this->_headers['X-Mailer'] = ''; //特に指定が有れば } function encodeAddress($email, $name = null){ $address = $email; if(isset($name)){ $address = sprintf( "%s <%s>", mb_encode_mimeheader($name), //日本語の名前部分をエンコード $email ); } return $address; } //メールのBody(例 setTXTBody)で特にエンコーディングを指定する必要がある場合 function setBodyEncoding($encoding){ $this->_encodeFrom = $encoding; } function setSubject($subject){ parent::setSubject(mb_encode_mimeheader($subject)); } function setFrom($email, $name = null){ parent::setFrom($this->encodeAddress($email, $name)); } function &get($build_params = null){ $return = parent::get($build_params); if($return !== false){ $return = mb_convert_encoding($return, 'JIS', $this->_encodeFrom); //JISにエンコード } return $return; } } ?> setTXTBody("日本語\n本文2行目"); $mime->setSubject('日本語件名'); $mime->setFrom('from@sample.local','日本語氏名'); $mail =& Mail::factory('mail'); $mail->send( $mime->encodeAddress('to@sample.local','日本語氏名'), //toの部分はMail_mb_mime::setFormで同じ処理をするので、流用 $mime->headers(), //ヘッダー $mime->get() //ボディー ); ?>