[PHP-dev 1183] Re: PHP4.4.1でmb_send_mailの第5引数が利かなくなってる

Rui Hirokawa rui_hirokawa @ ybb.ne.jp
2005年 11月 5日 (土) 14:23:43 JST


廣川です。

mail.force_extra_parametersについては、PHP 4.4.xではサポートされていない
機能なので、該当部分を削除しました。
(mail()関数に機能追加しても良いのですが、筋が通らないのではないかと
思います。)

また、mb_encode_mimeheader() については、自分のところで再現したので、
ここかなと思う部分を修正してみました。
PHP 4.4.x系のCVS版をお試しください。
(PHP 4.4.2も近いうちに出るようです。)

mb_send_mail()については、改行コードに\nがハードコードされている
ところやヘッダが長い場合の折り返しについて問題点として指摘されて
いた気がしますが、具体的にはどんな問題だったでしょうか?

再現可能なコードを提示いただければありがたいです。
少しテストしてみようと思います。

On Thu, 3 Nov 2005 23:08:44 +0900
komura <komura @ ma9.seikyou.ne.jp> wrote:

> komura です。
> 
> On Thu, 03 Nov 2005 21:56:30 +0900
> "Y.Watanabe" <haward99 @ yahoo.co.jp> wrote:
> 
> > 渡辺です。ども。
> > 
> > とりあえずphp-devのほうにも転送しておきます。
> > 
> > PHP4.4.1でmb_send_mailの第5引数が利かなくなってます。
> > (たぶんPHP4.4.0以降かも?)
> > 
> > 困った困った・・・。
> 
> mb_send_mail() の第5引数が使えないとメールが送れない場合がありますので
> 不便ですね。
> 
> 今回の mb_send_mail() に対する修正は PHP 4.4.1 になってから行われています
> ので、PHP 4.4.0 では問題ないと思います。
> 
> 
> 対処方法としては、以下の Patch を使って PHP 4.4.1 の ext/mbstring/mbstring.c
> を PHP 4.4.0 と同じ状態に戻す方法があります。
> 
> http://cvs.php.net/diff.php/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47&r2=1.142.2.47.2.1&ty=u
> 
> 
> 別の方法として、以下の Patch を適用して mail.force_extra_parameters を強制的に
> 有効にすれば mb_send_mail() の第5引数が有効になることを確認しました。
> 
> 副作用のようなものですが、php.ini や ini_set() で mail.force_extra_parameters
> を設定すると、mb_send_mail() でのみ機能するようになります。
> 
> diff -ru php-4.4.1.orig/ext/mbstring/mbstring.c php-4.4.1/ext/mbstring/mbstring.c
> --- php-4.4.1.orig/ext/mbstring/mbstring.c	2005-09-21 22:18:57.000000000 +0900
> +++ php-4.4.1/ext/mbstring/mbstring.c	2005-11-03 15:47:24.351802500 +0900
> @@ -812,6 +812,8 @@
>  	 STD_PHP_INI_BOOLEAN("mbstring.encoding_translation", "0",
>  	 PHP_INI_SYSTEM | PHP_INI_PERDIR, OnUpdate_mbstring_encoding_translation, 
>  	 encoding_translation, zend_mbstring_globals, mbstring_globals)					 
> +
> +	 PHP_INI_ENTRY("mail.force_extra_parameters", NULL, PHP_INI_ALL, NULL)
>  PHP_INI_END()
>  /* }}} */
> 
> mail() 関数では mail.force_extra_parameters は無視されますので良い方法では
> ありませんが、参考までに。
> 
> 
> 
> また、PHP 4.4.0 では、mb_encode_mimeheader() が正常に動作しないという問題
> がありましたが、PHP 4.4.1 でも修正されていません。
> 
> http://ns1.php.gr.jp/pipermail/php-users/2005-July/026701.html
> 
> PHP 5.0.4, PHP 5.0.5 でも同様の問題が報告されています。
> 
> http://ns1.php.gr.jp/pipermail/php-users/2005-July/026709.html
> http://ns1.php.gr.jp/pipermail/php-users/2005-October/027764.html
> 
> -- 
> komura <komura @ ma9.seikyou.ne.jp>

-- 
Rui Hirokawa <rui_hirokawa @ ybb.ne.jp>




-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.362 / Virus Database: 267.12.8/161 - Release Date: 2005/11/03



PHP-dev メーリングリストの案内