使用PHP的Socket写的POP3类(一)_PHP教程

php中文网
发布: 2016-07-20 11:05:34
原创
1135人浏览过

查看 pop3/smtp 协议的时候想尝试一下自己写一个操作类,核心没啥,就是使用 fsockopen ,然后写入/接收数据,只实现了最核心的部分功能,当作是学习 socket 操作的练手。其中参考了 rfc 2449和一个国外的简单web邮件系统 uebimiau 的部分代码,不过绝对没有抄他滴,hoho,绝对原创。假如你喜欢,请收藏,随便修改,嗯,但是记得不要删除偶类里的声名,究竟偶也是辛辛劳苦写了好几天呐。
另外,欢迎自由发挥,改善或者修正这个类,希望能够为你所用。代码没有认真仔细的调试,发现bug请自己修正,hoho!

php
/**
* 类名:socketpopclient
* 功能:pop3 协议客户端的基本操作类
* 作者:heiyeluren
* 时间:2006-7-3
* 参考:rfc 2449, uebimiau
* 授权:bsd license
*/

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 = trim(strtolower($strloginemail));
$this->strpasswd = trim($strloginpasswd);
$this->strhost = trim(strtolower($strpophost));

if ($this->stremail=='' || $this->strpasswd=='')
{
$this->setmessage('email address or passwd is empty', 1001);
return false;
}
if (!preg_match("/^[w-] (.[w-] )*@[w-] (.[w-] ) $/i", $this->stremail))
{
$this->setmessage('email address invalid', 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 "connection ".$this->strhost." ...rn";
}
if (!$this->getisconnect())


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445119.htmlTechArticle查看 POP3/SMTP 协议的时候想尝试一下自己写一个操作类,核心没啥,就是使用 fsockopen ,然后写入/接收数据,只实现了最核心的部分功能,...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号