- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:サーバエラー500発生時でも200で返却したい)
サーバエラー500発生時でも200で返却したい
このQ&Aのポイント
- mb_send_mailの戻り値がtrueまたはfalseかを判定している以外は、エラー処理は実装していません。
- mb_send_mail=false後、エラー画面出力処理が最後まで実行されていることは、処理の途中に埋め込んだデバッグ用のログで確認済みなのだが、
- クライアント側にはInternal Server Errorのステータスと、PHPスクリプトで出力しようとした画面ではなく、内部エラーが発生した旨の簡易な情報が出力された画面が出力されます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#244856
回答No.2
mb_send_mail関数の頭に「@」をつけるのも一つの手ですが、更にそれより前に if (filter_var($email, FILTER_VALIDATE_EMAIL) === false) { // エラー処理 } として不正なメールアドレスを弾いておくといいかもしれません。 IPv6を直接指定するアドレスには対応していませんが、大半のアドレスはこの関数で正しくチェック出来ます。
その他の回答 (1)
- t_ohta
- ベストアンサー率38% (5242/13714)
回答No.1
mb_send_mail 関数の前に @ を付ける。
質問者
お礼
なるほど、@をつけることによりエラーが出力されなくなるわけですね。 とても参考になりました。ありがとうございました。
お礼
おっしゃる通り、そもそも不正なアドレスは弾いてしまえば mb_send_mail前にエラールーチンに流せますね。 エラーハンドラなどを使わなければならないのかと考えておりましたが、 とりあえずこのチェック処理を事前にかませて処理させようと思います。 ありがとうございました。