Qdmailでは、エラーは2種類あります。
- Qdmailが発するエラー
- PHP本体が発するエラー(PHPの文法間違い等)
Qdmailのエラーについては、内部で処理を行いエラーを画面に出力します。
このエラーメッセージは画面に出力しないこともできます。その場合に、エラーが起こったかどうかを判別するメソッドも用意してあります。
$mail には、Qdmailのインスタンス(オブジェクト)が入っているものとします。
$mail -> errorDisplay( false );
メール送信に失敗した場合、easyText() や send()メソッドの返り値が false となります。
また、そのエラーの内容は、次のメソッドで取得できます。
$mail -> errorStatment();
このメソッドは、以下の返り値をとります。
array()(空の配列) | エラーがない時。or エラーを画面出力する設定になっているとき。 |
エラー内容が代入された配列 | エラーを画面に出力しない設定の時 & エラーが発生したとき |
したがって、このような使い方もできます。
(細かい設定は省略します。)
例)
$mail->errorDisplay(false);
if(!$mail ->easyText('to@example.com','●●さん','タイトル','メッセージ','from@example.com')){
// エラー処理
$message = print_r($mail->errorStatment(false),true);
@mail('admin@example.com','ErrorQdmail',$message,'From: from@example.com');
};
ここでは、送信エラーがあった時に、PHP標準のmail関数を使って、エラーメールを管理者に送付するようにしています。Qdmailエラー時に、Qdmailでメール送信するのもナンですし、mail関数そのものは日本語を通さないので、このような例にしてみました。
エラー処理の内容は、ユーザーの事情に合わせて変更してみてください。
なお、エラー時にログを出力したい、というのであれば、Qdmailのエラーログ処理もご覧下さい。
PHP本体が発するエラーについては、Qdmailは何らの処理を行いません。
PHPのエラー処理-PHP SPOT、エラー処理-PHPマニュアルなどを参考にご自分でエラー処理をお願いいたします。