php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录(原创),该如何处理

php.cn
Release: 2016-06-13 10:00:52
original
942 people have browsed it

php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录(原创)
最近一直在忙,赶在这个十一假期结束的时候,发表一下此文,为了是让这些源码开源出来

当然这些方法可能不可取,但大致应该是这种方向了吧,由于目前做的一个UCHOME港台的站点

咱们策划说要改一下好友邀请里面的显示方式,开始我也没有在意,当时就说行!

到了弄这个的时候才发现,UCH里面的这个地方是用漫游型式做的,让人很是无解,啥都改不了!

唉,既然都答应了说可以,现在实际情况不行了,所以觉得不好意思,为了快速解决这问题,在GOOGLE,

百度上搜了个遍,结果又出忽意料,就一个126邮箱的开源例子,其它的都没有,有一牛哥留着QQ说要其它的源码,

可以加QQ买!不对此人评论了!俺花了点时间,整了整,结果就幸运的弄出来了几个,因为时间有限,目前手上的项目一直在弄,所以就没有管其它的,现在给出 GMAIL,HOTMAIL(MSN),YAHOO的邮箱联系人的PHP源代码:

 

1.GMAIL

PHP code
 /i', $contents, $matches);                    if(!empty($matches)) {                        $$v = $matches[1];                        $matches = array();                    }                        }                $server = 'mail';                preg_match('//i', $contents, $matches);                if(!empty($matches)) {                    $GALX = $matches[1];                    $matches = array();                }                 $timeStmp = time();                                //第二步: 开始登录                $ch = curl_init();                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);                curl_setopt($ch, CURLOPT_URL, "https://www.google.com/accounts/ServiceLoginAuth");                curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIEJAR);                 curl_setopt($ch, CURLOPT_POST, 1);                $fileds = "dsh=$dsh&Email=".$username."&Passwd={$password}&GALX=$GALX&timeStmp=$timeStmp&secTok=$secTok&signIn=Sign in&rmShown=1&asts=&PersistentCookie=yes";                 curl_setopt($ch, CURLOPT_POSTFIELDS, $fileds);                 curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR);                              curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                $str = curl_exec($ch);                               curl_close($ch);                     //第三步:check Cookies即也算是个引导页面                $ch = curl_init("https://www.google.com/accounts/CheckCookie?chtml=LoginDoneHtml");                               curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                curl_setopt($ch,CURLOPT_COOKIEFILE,COOKIEJAR);                curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR);                                 curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);                     $str2 = curl_exec($ch);                                 curl_close($ch);                                                                if (strpos($contents, "安全退出") !== false)                {                                                return FALSE;                }                               return TURE;        }                //获取邮箱通讯录-地址        public function getAddressList($username, $password)        {                               if (!$this->login($username, $password))                {                        return FALSE;                }                //开始进入模拟抓取                $ch = curl_init();                curl_setopt($ch, CURLOPT_URL, "http://mail.google.com/mail/contacts/data/contacts?thumb=true&groups=true&show=ALL&enums=true&psort=Name&max=300&out=js&rf=&jsx=true");  //out=js返回json数据,不设置返回为xml数据                   curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIEJAR);                /*  对于返回xml数据时需要此设置                curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/xml"));                $str = "pab:searchContactsFNtrueuser:getSignaturespab:getAllGroups";                curl_setopt($ch, CURLOPT_POSTFIELDS, $str);                                */                curl_setopt($ch, CURLOPT_POST, 1);                                  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);                $contents = curl_exec($ch);                curl_close($ch);                //die($contents);                //get mail list from the page information username && emailaddress                /* 对于返回xml数据时的处理                preg_match_all("/(.*)/Umsi",$contents,$mails);                preg_match_all("/(.*)/Umsi",$contents,$names);                $users = array();                foreach($names[1] as $k=>$user)                {                    //$user = iconv($user,'utf-8','gb2312');                    $users[$mails[1][$k]] = $user;                }                if (!$users)                {                    return '您的邮箱中尚未有联系人';                }                  */                 $contents = substr($contents, strlen('while (true); &&&START&&&'),  -strlen('&&&END&&& '));                 return $contents;        }}$gamil = new GMAIL;$res = $gamil->getAddressList([email protected]','123456');echo $res;?>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact [email protected]
Latest issues
Popular Tutorials
More>
Latest downloads
More>
web effects
Website source code
Website materials
Front end template
About us Disclaimer Sitemap
PHP Chinese website:Public welfare online PHP training,Help PHP learners grow quickly!