ホームページ  >  記事  >  バックエンド開発  >  PHP Socket を使用して作成した POP3 クラス (1)_PHP チュートリアル

PHP Socket を使用して作成した POP3 クラス (1)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:05:34929ブラウズ

POP3/SMTPプロトコルを見ていて、コアは何もなく、fsockopenを使用してデータの書き込みと受信を行うだけであると考えられています。ソケットの操作を学ぶための練習です。これは RFC 2449 と、単純な外国の Web メール システムである Uebimiau のコードの一部を参照していますが、HOHO からコピーされたものではなく、完全にオリジナルです。気に入ったら集めて、好きなように修正してください、えー、でも、何日も頑張って書いたのですから、カテゴリー内のコメントは削除しないように注意してください。
また、このクラスを改善したり修正したりするために自由に使用していただければ幸いです。コードは注意深くデバッグされていません。バグを見つけた場合は、自分で修正してください。

/**
* クラス名: SocketPOPClient
* 機能: POP3 プロトコル クライアントの基本操作クラス
* 著者: heiyeluren
* 時刻: 2006-7-3
* 参照: RFC 2449、ウエビミアウ
* ライセンス: BSD ライセンス
*/

class SocketPOPClient
{
var $strMessage = '';
var $intErrorNum = 0;
var $bolDebug = false;

var $strEmail = ' ';
var $strPasswd = '';
var $strHost = '';
var $intPort = 110;
var $intConnSecond = 30;
var $intBuffSize = 8192;

var $resHandler = NULL;
var $ bolIsLogin = false;
var $strRequest = '';
var $strResponse = '';
var $arrRequest = array();
var $arrResponse = array();


//------ - -------
//基本操作
//--------------------------

//コンストラクター関数
function SocketPOP3Client ($strLoginEmail, $strLoginPasswd, $strPopHost= '', $intPort='')
{
$this->strEmail = トリム(strto lower($strLoginEmail));
$this->strPasswd = トリム($strLoginPasswd );
$this->strHost = トリム(strto lower($strPopHost));

if ($this->strEmail=='' || $this->strPasswd=='')
{
$ this->setMessage('メール アドレスまたはパスワードが空です', 1001);
return false;
}
if (!preg_match("/^[w-] (.[w-] )*@[w-] (.[w-] ) $/i ", $this->strEmail))
{
$this->setMessage('メール アドレスが無効です', 1002);
return false;
}
if ($this ->strHost=='')
{
$this->strHost = substr(strrchr($this->strEmail, "@"), 1);
}
if ($intPort!='')
{
$this->intPort = $intPort;
}
$this->connectHost();
}

//サーバーに接続
function connectHost()
{
if ($this-> bolDebug)
{
echo "接続 ".$this ->strHost." ...rn";
}
if (!$this->getIsConnect())


www.bkjia.com本当http://www.bkjia.com/PHPjc/445119.html技術記事 POP3/SMTPプロトコルを見ていて、コアは何もなく、fsockopenを使用して、データの書き込みと受信を行うだけです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。