プロジェクト

全般

プロフィール

Backport(バックポート) #2522

完了

PHPのsafe modeを使用している環境でmail_envelope_fromを設定するとメールが送信できない

Kousuke Ebihara さんが約13年前に追加. 約13年前に更新.

ステータス:
Fixed(完了)
優先度:
High(高め)
担当者:
対象バージョン:
開始日:
2010-07-13
期日:
進捗率:

100%

予定工数:

説明

Overview (現象)

PHP の safe mode が有効な環境で、config/OpenPNE.yml の設定で mail_smtp_host を指定せずに mail_envelope_from を指定している場合に、招待メール送信などのメールを送信するアクションを実行すると 500 Internal Server Error が発生する。

エラー内容は以下の通り。

500 | Internal Server Error | Zend_Mail_Transport_Exception
Unable to send mail

mail_envelope_from の設定をしていない場合は正常にメールが送信される。

CORESERVER Bプラン、OpenPNE 3.6beta11で現象を確認。詳細は note-12 のコメント。

Causes (原因)

safe mode が有効な状態で PHP の mail() 関数に第5引数を指定して実行しているため。

Way to fix (修正内容)

safe mode が有効かつ外部のSMTPサーバを利用しない( mail_smtp_host を指定していない)状態では mail_envelope_from の設定が利用できないことを前提とし、その説明を設定ファイルに加え、ソースコード上で safe mode の設定値を取得して有効な場合には mail_envelope_from を利用しないようにした。

元のバグ報告内容

http://sns.openpne.jp/communityTopic/6047

OpenPNE 3.5.2を利用していますが、
「友人を招待する」から招待メールを送信しようとすると、
メールアドレスと本文を入力する画面までは出るのですが、
「送信」ボタンを押すと、「500 Internal Server Error」となってしまいました。
デバッグモードで試してみても、Internal Server Errorの画面が出るだけでした。
これはバグなのでしょうか?
どうか調査お願い申し上げます。

(1)OpenPNEのバージョン : 3.5.2

(2)サーバー情報 : 「CORESERVER.jp Bプラン」を使用
 PHPバージョン:5.2.5
MySQL : 5.1.22-rc

(3)エラー概要 : 招待メールを送信するとき、フォーム入力画面は表示されるが、「送信」ボタンを押すとInternal Server Errorとなる。


関連するチケット 1 (0件未完了1件完了)

関連している OpenPNE 3 - Bug(バグ) #1331: PHPのsafe modeを使用している環境でmail_envelope_fromを設定するとメールが送信できないFixed(完了)Rimpei Ogawa2010-07-13

操作

他の形式にエクスポート: Atom PDF