• 技术文章 >后端开发 >php教程

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

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

    /**
    * 类名: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入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:使用 PHP Socket 写的 POP3 查看 POP3 SMTP 协议 时候 尝试 一下 自己
    上一篇:用PHP模拟POST来提交数据_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• php将csv文件导入到mysql数据库的方法,_PHP教程• php中header()实现页面跳方法_PHP教程• 用PHP抓取新闻的例子_PHP教程• php 过滤字符串函数_PHP教程• 学习PHP重定向的三种方法_PHP教程
    1/1

    PHP中文网