ようこそゲストさん

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

管理者に常時BCC

Qdmailでは、管理者に対し常にBCCをつける機能があります。
投稿フォームなどで、メール送信を監視したい場合などに、ログ機能などと合わせてご活用ください。

$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';

#  非公開コメント   
  • TB-URL  http://hal456.net/qdmail/038/tb/

その他の機能


#  非公開コメント   
  • TB-URL  http://hal456.net/qdmail/039/tb/

デバッグモード

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を用いて実装しております。

# 一定時間経過後にPHPコードエラーになる件 2008年12月11日(木) 午後3時30分

始めまして、現在下記環境にて運用テスト行っているのですが、一定時間経過しますと、PHP実行時Apache側にてサイト表示不可の状態となり、サーバー側でApacheを再起動すると正常にメールが送信されます。
この状況がサーバー側なのかPHP送信側なのか判別がつかず困っています。
素人的な質問ですが、このような現象に対応した方がおられましたらご回答下さい。

OS:Apache2.0.63
PHP:5.2.5
qdmail:2.6b
qdsmtp:0.20a
関数型送信で外部SMTP認証でメール送信
以下ソース
<?
require_once('qdmail.php');
$param = array(
'host'=>'smtp.XXXX.jp',
'port'=> 587 ,
'from'=>'XXX@XXX.jp',
'protocol'=>'SMTP_AUTH',
'user'=>'XXXXX',
'pass' => 'XXXXX',
);
$to = array( 'XXX@XXX.jp' , '宛先日本語名' );
$from = array( 'XXX@XXX.jp' , '送り元日本語名' );

$subject = 'SMTP送信テストメール';
$body = "本文:123ABCあいうえお";
//$attach = array( 'test.jpg' , '添付ファイル名.jpg' );
$attach = array();
$option = array('type'=>'text','smtp'=>$param);
$flag =qd_send_mail( $option , $to , $subject , $body , $from , $attach , $debug);
echo "SMTPメール送信完了";
?>
障害情報が不足しているかもしれませんが、1時間から2時間ぐらいはこれで正常送信可能です。
よろしくお願いします。

# spok 2008年12月12日(金) 深夜0時45分

Apacheのログを確認してみてください。何かヒントがあるかと思います。

# 11 2014年09月04日(木) 午前10時07分

2


#  非公開コメント   
  • 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番目デバッグモードを利用し、 で、メールヘッダー及び本文を表示してこのサイ...