send_mail クラスの実装
それでは、私が書いたsend mailクラスを紹介していきます。上記の準備知識を踏まえて、以下のように実装していきます。
クラスのメンバー変数
var $lastmessage; // 最後に返された応答メッセージを記録します
var $lastact; // 最後のアクションを文字列形式で記録します
var $welcome; // ユーザーを歓迎するために HELO の背後で使用されます
var $debug; ; //デバッグ情報を表示するかどうか
var $smtp; //smtp サーバー
var $port; //smtp ポート番号
var $fp; このうち、$lastmessage と $lastact は、エラー発生時にユーザーが使用できる最後の応答情報と実行されたコマンド。テストの必要があるため、$debug 変数も定義しました。その値が true の場合、プロセスの実行中にいくつかの実行情報が表示されます。それ以外の場合は、出力はありません。 $fp は、開いたソケット ハンドルを保存するために使用されます。
クラス構築
function send_mail($smtp, $welcome="", $debug=false)
{
if(empty($smtp)) die("SMTP cannt be NULL!")
$this-$# @ 62;smtp=$smtp;
if(empty($welcome))
{
$this-$#@62;welcome=gethostbyaddr("localhost")
}
$this-$#@62; =$ようこそ;
$this-$#@62;デバッグ=$デバッグ;
$this-$#@62;lastact=""; $#@62;port="25";
}
このコンストラクターは主にいくつかの初期値の決定と設定を完了します。 $welcome は、サーバーにユーザーの名前を伝えるために HELO ディレクティブで使用されます。
HELO コマンドにはマシン名が必要ですが、マシン名なしで使用できます。ユーザーが $welcome を指定しない場合、ローカル マシン名が自動的に検索されます。
www.bkjia.com