Backport(バックポート) #2522
PHPのsafe modeを使用している環境でmail_envelope_fromを設定するとメールが送信できない
Start date:
2010-07-13
Due date:
% Done:
100%
Description
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となる。
Related issues
Associated revisions
History
#1
Updated by Mutsumi Imamura over 11 years ago
- Tracker changed from Bug(バグ) to Backport(バックポート)
#2
Updated by Yuya Watanabe over 11 years ago
- Status changed from New(新規) to Accepted(着手)
- Assignee set to Yuya Watanabe
#3
Updated by wa ta over 11 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
更新履歴 1f036600e918fc150b75ee56b2019bd425117d30 で適用されました。
#4
Updated by Yuya Watanabe over 11 years ago
BP対象のコミットは以下の通りです.
#5
Updated by Kousuke Ebihara over 11 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- % Done changed from 50 to 70
#6
Updated by Mutsumi Imamura over 11 years ago
- Status changed from Pending Testing(テスト待ち) to Fixed(完了)
- % Done changed from 70 to 100