Fuelphpでメール送信時にメールサーバーへ接続できないなどのエラーキャッチ
Fuelphpでメール送信時のエラーキャッチを「EmailValidationFailedException」「EmailSendingFailedException」だけでよいのかなって思っていたけど、SMTPサーバーに接続できないときの例外エラーはキャッチされなかった。
っということでメール送信時に
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$email = Email::forge(array(必要な内容を記述)); try { $email->send(); } catch(\EmailValidationFailedException $e) { // バリデーションが失敗したとき echo = 'メールアドレスが正しくないため送信できませんでした。:'.$e->getMessage(); } catch(\EmailSendingFailedException $e) { // ドライバがメールを送信できなかったとき echo 'メール送信に失敗しました。:'.$e->getMessage(); } catch (\Exception $e) { echo = 'メール送信時のその他のエラーが発生しました。:'.$e->getMessage(); } |
「Exception」をcatchを付けてそれ以外のエラーをキャッチすることにした。
どのクラウドサービスだって停止することあるんだから、SMTPサーバーへのConnectエラーも考慮しなければならない。