PHPをSafeModeの検証してて気づいた事、SafeMode=Onだとmb_send_mailの第5パラメータが使用できないらしい(知らんかった(笑))、「-f$mailfrom」とかしてエラーメールの返り先の「Return-Path:」「Envelope-From:」とか設定する事が多いと思うのですが、使えないとなるとこまったなー
Warning: mb_send_mail() [function.mb-send-mail]: SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MODE. in
ってmb_send_mailでエラーがでます。
mail()だけダメでmb_send_mail()なら大丈夫って事も書いてあるサイトもあるけど、今試してるCentOS5のPHP-5.1.6だとmail()もmb_send_mail()も両方ダメですね。
と思って、CentOS4のphp-4.3.9で試したらmail()はダメだけど、mb_send_mail()はOKでしたorz
セーフモード(PHPマニュアル)
mail()
セーフモードでは、5番目のパラメータが無効となります。(注意: PHP 4.2.3以降のみ適用)
mb_send_mail()
bool mb_send_mail ( string to, string subject, string message [, string additional_headers [, string additional_parameter]] )
いろいろ試した結果、セーフモード環境で、「Return-Path:」「Envelope-From:」を使いたい場合はPear::Mailでsmtpモード使って送るのが解決策になりそうです。
コメントの「Pear::Mailでsmtpモード使って送る」ってどういうことでしょうか。
素人にも判るように教えて頂けませんでしょうか。。。
siva_4850さま
コメントありがとうございます。
「PEAR::Mailでsmtpモード使って送る」の件ですが、
PEARのライブラリにMailモジュールがありますので、
(CentOSであればphp-pearをインストールしてあれば使えたような)
で、そのMailにメール送信のバックエンドを何にするかという設定
があるので、「mail」「sendmail」「smtp」この中の「smtp」を選択する
おとで、PHPからTCP通信でメールサーバに送れますので、
SafeModeの影響はないかと。
サンプルなどは、「PEAR::Mail」で検索してみてください。