Backport(バックポート) #1373
完了
メールサーバーに接続できない場合の例外処理がキャッチされていないため500エラーになる
Shinichi Urabe さんが14年以上前に追加.
約13年前に更新.
説明
- config/OpenPNE.yml の mail_smtp_host に接続できないメールサーバーのホストを記述し、招待メールを送信すると500エラーになる
- メールサーバーの障害の対処がされていない (エラー表示やログ出力などの対処が必要)
バージョン:3.6beta1
Zend_Mail_Protocol_Exception の例外がキャッチされていない
修正内容¶
- Zend_Mail_Protocol_Exception をキャッチした際にメール送信に失敗した旨のsymfony のログ出力にするように修正 (ログ設定が有効な場合)
- 例外をキャッチするのみで、特に処理は行わないようにした (500エラーはでない)
修正方針¶
- 500エラーが表示されないような動作になっていればよい実装とする。
- 専用のエラーページを出す必要はなく、例外をキャッチし、ログに状態が出力されていればいいこととする
関連するチケット
2 (0件未完了 — 2件完了)
- 優先度 を Normal(通常) から High(高め) に変更
- 対象バージョン を OpenPNE 3.4.7 から OpenPNE 3.4.8 に変更
- 対象バージョン を OpenPNE 3.4.8 から OpenPNE 3.4.9 に変更
- 対象バージョン を OpenPNE 3.4.9 から OpenPNE 3.4.10 に変更
- トラッカー を Backport(バックポート) から Bug(バグ) に変更
修正方針がmasterブランチと異なるので、バグチケットに変更します
- 担当者 を Shinichi Urabe にセット
テストケース
テストケース |
期待値 |
結果 |
フレンドを招待時の動作 |
PC:dev環境からメールサーバを存在しない mail_smtp_host: aaaaaaaaaaaaaaaaaa.localhost とし、メールを送信すると、ユーザ画面では送信完了しましたと表示されるのみでエラーにはならない(ログは出力される) |
○ |
フレンドを招待時の動作 |
PC:prod環境からメールサーバを存在しない mail_smtp_host: aaaaaaaaaaaaaaaaaa.localhost とし、メールを送信すると、ユーザ画面では送信完了しましたと表示されるのみでエラーにはならない(ログは出力されない) |
○ |
フレンドを招待時の動作 |
携帯:dev環境からメールサーバを存在しない mail_smtp_host: aaaaaaaaaaaaaaaaaa.localhost とし、メールを送信すると、ユーザ画面では送信完了しましたと表示されるのみでエラーにはならない(ログは出力される) |
○ |
フレンドを招待時の動作 |
携帯:prod環境からメールサーバを存在しない mail_smtp_host: aaaaaaaaaaaaaaaaaa.localhost とし、メールを送信すると、ユーザ画面では送信完了しましたと表示されるのみでエラーにはならない(ログは出力されない) |
○ |
フレンドを招待時の動作 |
cli メールサーバを存在しない mail_smtp_host: aaaaaaaaaaaaaaaaaa.localhost とし、デイリーニュースを送信するタスクを実行しても、何もエラーはでない |
○ |
フレンドを招待時の動作 |
prodでログ出力されるように設定し、cli メールサーバを存在しない mail_smtp_host: aaaaaaaaaaaaaaaaaa.localhost とし、デイリーニュースを送信するタスクを実行しても、何もエラーはでない(ログ出力される) |
○ |
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
以下のメール送信動作で確認し、ログの出力および500エラーにならないことを確認しました。
問題ありません。
- 新規登録URLお知らせメール(招待状)を送信する
- 登録完了メールを送信する
- コミュニティ参加お知らせメールを送信する
- フレンドリンク承認完了メールを送信する
- フレンド誕生日お知らせメールを送信する
- 退会完了メールを送信する
- メールアドレス変更お知らせメールを送信する
- パスワード再発行メール(管理画面メンバー一覧から送信)を送信する
- デイリーニュースを送信する
- パスワード再設定用URLお知らせメールを送信する
- トラッカー を Bug(バグ) から Backport(バックポート) に変更
修正内容が異なっていたとしても同じバグに関する修正を扱うチケットであるため、このチケットのトラッカーは「Bug(バグ)」ではなく「Backport(バックポート)」が正しいです。
他の形式にエクスポート: Atom
PDF