[PHP-dev 1182] Re: PHP4.4.1でmb_send_mailの第5引数が利かなくなってる
komura
komura @ ma9.seikyou.ne.jp
2005年 11月 3日 (木) 23:08:44 JST
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>
PHP-dev メーリングリストの案内