メッセージ欄
2008年6月の日記
▼ 管理者に常時BCC
Qdmailでは、管理者に対し常にBCCをつける機能があります。
投稿フォームなどで、メール送信を監視したい場合などに、ログ機能などと合わせてご活用ください。
$mailにはQdmailのインスタンス(オブジェクト)が入っているものとします。
Qdmail本体スクリプトのそのものを次のように変えておくというのが有効的な使い方かも知れません。
投稿フォームなどで、メール送信を監視したい場合などに、ログ機能などと合わせてご活用ください。
$mailにはQdmailのインスタンス(オブジェクト)が入っているものとします。
常にadmin@example.comにBccする。
$mail -> allwaysBcc( 'admin@example.com' );
常時Bccモードをオフにする。
$mail -> allwaysBcc( null );
常時Bccモードに設定されたメールアドレスを取得する。
$mail -> allwaysBcc();
もっと楽?な使い方
しかし、上記の方法はユーザースクリプト中を想定したものであり、その場合は、$mail->bcc( 'admin@...')とした場合と、あまり変わりません。Qdmail本体スクリプトのそのものを次のように変えておくというのが有効的な使い方かも知れません。
var $allways_bcc = null;を探しだし、以下に変更。
var $allways_bcc = 'admin@example.com';
▼ コメント(0件)
▼ その他の機能
記事リスト
- 半角カナの送信 (2008-06-23)
- メールアドレスのバリデーション (2008-10-04)
- 文字コード統一 (2008-09-26)
- Return-Pathの設定 (2008-09-25)
- Sendmailオプション (2008-09-11)
- Dateヘッダーを指定する (2008-09-11)
- message_id (2008-09-11)
- 必須ヘッダ(Date,Massage-Id) (2008-09-10)
- リセット (2008-09-10)
- 重要度を設定する (2008-08-28)
- 特殊文字を送りたい(丸数字、はしご高など) (2008-07-21)
- 管理者に常時BCC (2008-06-30)
- デバッグモード (2008-06-30)
- 開封確認(受信確認)&配送確認 (2008-09-03)
▼ デバッグモード
Qdmailでは、Qdmailが作成したメールをデバッグモードでチェックすることができます。
$mailには、Qdmailのインスタンス(オブジェクト)が入っているものとします。
何かQdmailがおかしいな、と思ったら、2のフルデバッグッモードにして、メールのヘッダーや本文を画面表示させてみてください。何らかのヒントがあるかも知れません。
qd_send_mail方式の場合、以下の方法でデバッグモードにできます。
debugEchoLineは、改行なしで表示し、debugEchoLfは、変数の表示ごとに改行します。
ある行で、変数 $param と $var の中身を知りたければ、以下のようにします。
$mailには、Qdmailのインスタンス(オブジェクト)が入っているものとします。
$mail -> debug( n );
n | 呼称 | メール送信 | メール表示(ヘッダー&本文) |
0 | ノーマルモード(デフォルト) | ○ | × |
1 | ハーフデバッグモード | ○ | ○ |
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を用いて実装しております。
-
▼
トラブル時、とにかくやってみること
Qdmail - PHP::Mail Library , Quick and Detailed for Multibyte 1番目改行コードをCRLFからLFのみに変更してみる$mail -> lineFeed("\n");2番目一般のプロバイダの送信サーバーを利用してのSMTP送信を試してみる。3番目デバッグモードを利用し、 で、メールヘッダー及び本文を表示してこのサイ...
▼ ログ機能
Qdmailでは送信ログを出力する機能があります。
ログ機能があれば、万が一SPAMメールの踏み台にされたとしても、早期に気づくことができます。
常時管理者にBccモードもよろしければご利用ください。
$mailには、Qdmailのインスタンス(オブジェクト)が入っているものとします。
*ログには、メールアドレス、本文等の情報を含みますので、ログファイルは一般の人がアクセスできないように管理する必要があります。個人情報等が流出しないよう、十分に気をつけて下さい。
ログ機能があれば、万が一SPAMメールの踏み台にされたとしても、早期に気づくことができます。
常時管理者にBccモードもよろしければご利用ください。
$mailには、Qdmailのインスタンス(オブジェクト)が入っているものとします。
ログレベルの設定
$mail->logLevel( n );
n | 機能 |
0 | ログを出力しない(デフォルト) |
1 | シンプルタイプ(送信した または失敗した メールアドレスのみ) |
2 | ヘッダー情報も含むエラーログ |
3 | メール本文も含めたエラーログ |
ログファイルのパス、ファイル名の設定
$mail->logPath( 'パス' ); // デフォルトは、'./' $mail->logFilename( 'ファイル名' ); // デフォルトは、'qbmail.log'パスは相対パスでも、絶対パスでも構いません。Qdmail内部では、$fp = fopen( $path.$filename , 'a' );などという形で使用します。
# (2008/12/19 11:56) 『数ヵ月後、コードを見ると分からなくなるので、n = 0,1,2,3 ではなく、PHP エラーレポートの E_ALL, E_ERR...』
# (2008/12/20 8:01) 『custarさん ご提案ありがとうございます。確かにそうですね。次回更新時に対応しようと思います。』
# (2009/09/30 12:32) 『初心者なもので「Qdmailのインスタンス(オブジェクト)が入っているものとします」という意味がよく分からないのですが、qdma...』
# (2011/05/22 25:30) 『ログレベル3でメール送信を行い、ログファイルを確認すると、ヘッダ情報までしか記録されていませんでした。 メール自体は、本文付きで...』