lz看看这个
http://www.discuz.net/viewthread.php?tid=1026785 

解决方案 »

  1.   

    http://topic.csdn.net/u/20081117/13/50418d0b-f5b1-47d5-9be6-d68125c6dc84.html
    一样的问题。。
      

  2.   

    curl或者fsockopen,只能模拟登录,然后获取.
      

  3.   

    说下思路哈.
    其实网上有源码,自己可以去下.分三步走:
    第一步,模拟登录界面,向https://reg.163.com/logins.jsp发送请求
      注意curl函数一定要设置cookie的目录,以便日后读取.  
      可以这样设置curl_setopt( $ch, CURLOPT_COOKIEJAR, COOKIEJAR ); 
      COOKIEJAR为自己定义的保存COOKIE的常量, 注意这个文件一定要可写第二步, 获取cookie,向http://fm163.163.com/coremail/fcg/ntesdoor2?verifycookie=1&lightweight=1发送请求
     curl_setopt( $ch, CURLOPT_COOKIEFILE, COOKIEJAR );
     curl_setopt( $ch, CURLOPT_COOKIEJAR, COOKIEJAR );
      这两块设置很关键第三步,读取cookie 
      文件读写,从 COOKIEJAR 中读取.
      获取cookieid.第四步,发送请求http://g1a126.mail.163.com/a/s?sid=".$cookieid."&func=global:sequential
      curl_setopt( $ch, CURLOPT_HTTPHEADER, array( "Content-Type: application/xml" ) );
      $str = "<?xml version=\"1.0\"?><object><array name=\"items\"><object><string name=\"func\">pab:searchContacts</string><object name=\"var\"><array name=\"order\"><object><string name=\"field\">FN</string><boolean name=\"ignoreCase\">true</boolean></object></array></object></object><object><string name=\"func\">user:getSignatures</string></object><object><string name=\"func\">pab:getAllGroups</string></object></array></object>";
      xml为发送请求的串.最后再正则匹配取出邮件地址就OK不得不佩服这个高手呀,对这个机制非常熟悉