ようこそゲストさん

Qdmail - PHP::Mail Library , Quick and Detailed for Multibyte

デバッグモード

Qdmailでは、Qdmailが作成したメールをデバッグモードでチェックすることができます。

$mailには、Qdmailのインスタンス(オブジェクト)が入っているものとします。
$mail -> debug( n );
n呼称メール送信メール表示(ヘッダー&本文)
0ノーマルモード(デフォルト)×
1ハーフデバッグモード
2フルデバッグモード×
何かQdmailがおかしいな、と思ったら、2のフルデバッグッモードにして、メールのヘッダーや本文を画面表示させてみてください。何らかのヒントがあるかも知れません。

qd_send_mail方式の場合、以下の方法でデバッグモードにできます。
qd_send_mail(  'メールタイプ' ,
               'address@example.com',
               '件名',
               '本文',
               'from@example.com',
         $attach, // 添付ファイルがない場合は、null
               2
            );
なお、Qdmailスクリプト中に、次のコードを埋め込むと、デバッグモードに合わせて、画面に表示したり、しなかったりすることができます。ユーザーが通常使うことはないとは思います。Qdmailを改造したい方はご活用ください。
$this -> debugEchoLine( var );
$this -> debugEchoLf( var );
var には、任意の変数やら定数やら入れることができます。複数のパラメータは、,カンマで区切って下さい。また、その変数が配列であれば、Qdmailは展開して表示します。
debugEchoLineは、改行なしで表示し、debugEchoLfは、変数の表示ごとに改行します。

ある行で、変数 $param と $var の中身を知りたければ、以下のようにします。
$this -> debugEchoLf( $param , $var  );
最初に記載したメールヘッダー、メール本文の表示も、このdebugEchoLfを用いて実装しております。

#  非公開コメント   
  • TB-URL  http://hal456.net/qdmail/037/tb/
  • トラブル時、とにかくやってみること Qdmail - PHP::Mail Library , Quick and Detailed for Multibyte spok
    1番目改行コードをCRLFからLFのみに変更してみる$mail -> lineFeed("\n");2番目一般のプロバイダの送信サーバーを利用してのSMTP送信を試してみる。3番目デバッグモードを利用し、 で、メールヘッダー及び本文を表示してこのサイ...