プロジェクト

全般

プロフィール

Backport(バックポート) #1373

メールサーバーに接続できない場合の例外処理がキャッチされていないため500エラーになる

Shinichi Urabe13年以上前に追加. 12年以上前に更新.

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

100%


説明

現象

  • config/OpenPNE.yml の mail_smtp_host に接続できないメールサーバーのホストを記述し、招待メールを送信すると500エラーになる
  • メールサーバーの障害の対処がされていない (エラー表示やログ出力などの対処が必要)

    バージョン:3.6beta1

原因

Zend_Mail_Protocol_Exception の例外がキャッチされていない

修正内容

  • Zend_Mail_Protocol_Exception をキャッチした際にメール送信に失敗した旨のsymfony のログ出力にするように修正 (ログ設定が有効な場合)
  • 例外をキャッチするのみで、特に処理は行わないようにした (500エラーはでない)

修正方針

  • 500エラーが表示されないような動作になっていればよい実装とする。
  • 専用のエラーページを出す必要はなく、例外をキャッチし、ログに状態が出力されていればいいこととする

関連するチケット

関連している OpenPNE 3 - Bug(バグ) #1372: メールサーバーに接続できない場合の例外処理がキャッチされていないため500エラーになる Fixed(完了) 2010-07-18
関連している OpenPNE 3 - Bug(バグ) #2360: #1373 で実施したメール投稿の例外を受ける処理が不適切である Fixed(完了) 2011-08-19 2011-10-06

関係しているリビジョン

リビジョン c0dd5cb0 (差分)
Shinichi Urabe約13年前に追加

(fixes #1373) This modification is that modified to catch the exception when sending mail

リビジョン 3e132273 (差分)
Shinichi Urabe12年以上前に追加

Squashed commit of the following:

commit 93905c08d7c91ca71152fa0b7e251f5d791cb734
Author: touri <>
Date: Wed Aug 17 19:04:42 2011 +0900

fixed to mail error template. (fixes #2360, BP from #1372)

commit 3fc1cdb0aeb224ddf0eaa256ea0a08cc8302037e
Author: touri <>
Date: Wed Aug 17 17:21:02 2011 +0900

changed order of process in opMemberAction::executeConfig().
fixed to mail error template. (fixes #2360, BP from #1372)
Conflicts:
lib/action/opMemberAction.class.php

commit 1f56cbf0ca444d19269a9ec9ba5bffa4613b497c
Author: ShinichiU <>
Date: Tue Aug 9 14:19:00 2011 +0900

(refs #1373, BP from #1372) cache Zend_Mail_Protocol_Exception in opExecutionFilter and forwad mailError action.
Conflicts:
lib/filter/opExecutionFilter.class.php

commit c1f6ee4093b994cb483ad17292cc58ced5c243e3
Author: ShinichiU <>
Date: Thu Oct 6 20:44:23 2011 +0900

Revert "(fixes #1373) This modification is that modified to catch the exception when sending mail"
This reverts commit c0dd5cb0f8ec1d5c56efb164960a07c228dfeaf5.

履歴

#1 Shinichi Urabe13年以上前に更新

  • 優先度Normal(通常) から High(高め) に変更
  • 対象バージョンOpenPNE 3.4.7 から OpenPNE 3.4.8 に変更

#2 Shinichi Urabe13年以上前に更新

  • 対象バージョンOpenPNE 3.4.8 から OpenPNE 3.4.9 に変更

次バージョンで対応に変更します

#3 Shinichi Urabe13年以上前に更新

  • 対象バージョンOpenPNE 3.4.9 から OpenPNE 3.4.10 に変更

#4 Shinichi Urabe13年以上前に更新

  • トラッカーBackport(バックポート) から Bug(バグ) に変更

修正方針がmasterブランチと異なるので、バグチケットに変更します

#5 Shinichi Urabe13年以上前に更新

  • 担当者Shinichi Urabe にセット

#6 Shinichi Urabe約13年前に更新

テストケース

テストケース 期待値 結果
フレンドを招待時の動作 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 とし、デイリーニュースを送信するタスクを実行しても、何もエラーはでない(ログ出力される)

#7 Shinichi Urabe約13年前に更新

  • ステータスNew(新規) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

更新履歴 c0dd5cb0f8ec1d5c56efb164960a07c228dfeaf5 で適用されました。

#8 Masato Nagasawa約13年前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

レビューOKです。

#9 Mutsumi Imamura約13年前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

以下のメール送信動作で確認し、ログの出力および500エラーにならないことを確認しました。
問題ありません。

  • 新規登録URLお知らせメール(招待状)を送信する
  • 登録完了メールを送信する
  • コミュニティ参加お知らせメールを送信する
  • フレンドリンク承認完了メールを送信する
  • フレンド誕生日お知らせメールを送信する
  • 退会完了メールを送信する
  • メールアドレス変更お知らせメールを送信する
  • パスワード再発行メール(管理画面メンバー一覧から送信)を送信する
  • デイリーニュースを送信する
  • パスワード再設定用URLお知らせメールを送信する

#10 Kousuke Ebihara12年以上前に更新

  • トラッカーBug(バグ) から Backport(バックポート) に変更

修正内容が異なっていたとしても同じバグに関する修正を扱うチケットであるため、このチケットのトラッカーは「Bug(バグ)」ではなく「Backport(バックポート)」が正しいです。

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