ホームページ >バックエンド開発 >PHPチュートリアル >Socket 6 を使用したメール送信_PHP チュートリアル
コマンドを実行します
1 function do_command($command, $code)
2 {
3 $this-$#@62;lastact=$command;
4 $this-$#@62;show_debug($this-$#@) 62;lastact, "out");
5 fputs ( $this-$#@62;fp, $this-$#@62;lastact );
6 $this-$#@62;lastmessage = fgets ( $this -$#@62;fp, 512 );
7 $this-$#@62;show_debug($this-$#@62;lastmessage, "in");
8 if(!ereg("^$code") , $this-$#@62;lastmessage))
9 {
10 return false;
11 }
12 else
13 return true;
14 }
ソケットの処理部分を書いていると、いくつかのコマンドの処理がおかしいことが分かりました。 HELO、MAIL FROM、RCPT TO、QUIT、DATA コマンドなどはすべて非常に似ており、デバッグ情報が表示されるかどうかに基づいて関連するコンテンツを表示する必要があります。同時に、返される応答コードについても、それが予期される場合は次のようになります。予期しない場合は処理を続行する必要があります。したがって、明確化および単純化のために、これらのコマンドを処理するために一般的な処理関数が特別に作成されます。
関数のパラメータの $code は、期待される応答コードです。応答コードが同じであれば、処理は成功したことを意味します。それ以外の場合は、エラーが発生します。
行 3 は、最後に実行されたコマンドを記録します。
4 行目はアップロード コマンドを表示します。
5 行目は fputs を使用して命令を実際にサーバーに転送します。
6 行目、サーバーから受信した応答情報は、最後の応答メッセージ変数に配置されます。
7 行目は応答情報を表示します。
8 行目は、応答情報が期待されているかどうかを判断し、期待されている場合は 13 行目で成功 (true) を返し、それ以外の場合は 10 行目で失敗 (false) を返します。
このようにして、この関数は、指示や情報を送信して表示する機能を完了する一方で、返された応答が成功したかどうかを判断します。