PHP读取163邮箱获取联系人

PHP环境:7.0以上

<?php
error_reporting(0);
//邮箱用户名(不带@163.com后缀的)
$user       = 'username';
//邮箱密码
$pass       = 'password';
//目标邮箱
//$mail_addr = username@163.com';
//登陆
$url = 'http://reg.163.com/logins.jsp?type=1&url=http://entry.mail.163.com/coremail/fcg/ntesdoor2?lightweight=1&verifycookie=1&language=-1&style=-1';
$ch = curl_init($url);
//创建一个用于存放cookie信息的临时文件
$cookie         = tempnam('.','~');
$referer_login = 'http://mail.163.com';
//返回结果存放在变量中,而不是默认的直接输出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_REFERER, $referer_login);
$fields_post = array(
'username'=> $user,
'password'=> $pass,
'verifycookie'=>1,
'style'=>-1,
'product'=> 'mail163',
'selType'=>-1,
'secure'=>'on'
);
$headers_login = array(
'User-Agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0',
'Referer'  => 'http://www.163.com'
);
$fields_string = '';
foreach($fields_post as $key => $value)
{
$fields_string .= $key . '=' . $value . '&';
}
$fields_string = rtrim($fields_string , '&');
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
//关闭连接时,将服务器端返回的cookie保存在以下文件中
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers_login);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
$result= curl_exec($ch);
curl_close($ch);
//跳转
$url='http://entry.mail.163.com/coremail/fcg/ntesdoor2?lightweight=1&verifycookie=1&language=-1&style=-1&username=loki_wuxi';
$ch = curl_init($url);
$headers = array(
'User-Agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0'
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//将之前保存的cookie信息,一起发送到服务器端
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
$result = curl_exec($ch);
curl_close($ch);
//取得sid
preg_match('/sid=[^\"].*/', $result, $location);
$sid = substr($location[0], 4, -1);
//file_put_contents('./result.txt', $sid);
//通讯录地址
$url='http://g4a30.mail.163.com/jy3/address/addrlist.jsp?sid='.$sid.'&gid=all';
$ch = curl_init($url);
$headers = array(
'User-Agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0'
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
$result = curl_exec($ch);
curl_close($ch);
//file_put_contents('./result.txt', $result);
unlink($cookie);
//开始抓取内容
preg_match_all('/<td class="Ibx_Td_addrName"><a[^>]*>(.*?)<\/a><\/td><td class="Ibx_Td_addrEmail"><a[^>]*>(.*?)<\/a><\/td>/i', $result,$infos,PREG_SET_ORDER);
//1:姓名2:邮箱
print_r($infos);
?>

希望能对大家有所帮助。

PHP读取163邮箱获取联系人相关推荐

  1. python未读邮件_urllib2模块学习--爬虫读取163邮箱未读邮件

    在编写爬虫之前,先介绍个工具httpfox,是firefox的一个插件扩展,它是编写爬虫的神器啊. HttpFox 监控和分析浏览器和网络服务器之间收发的所有HTTP流量. 每个请求可得到的信息包括: ...

  2. Python 自动读取163邮箱收取的验证码

    最近项目开发中有个需求,就是自动化实现某系统的登录功能,但是在解决了滑块验证的问题后,又出现了一个新的问题,就是出现了邮箱验证码的问题,于是不得不在追加个功能模块,就是自动化读取对应的邮箱的验证码,然 ...

  3. QQ邮箱和163邮箱获取授权码

    QQ邮箱 登录网页版qq邮箱: 点击设置 点击账户: 找到SMTP设置: 开启后就能获取到授权码,注意保存 163网易邮箱 登录163邮箱后,同样找到设置: 然后开启服务 同样能获取授权码

  4. 用telnet测试通过pop3读取163邮箱邮件

    telnet pop.163.com 110 user (邮箱名字)//不包括@和@之后的 pass (验证码)//此处邮箱名字和验证码都不需要base64编码

  5. php curl登陆邮箱,php利用CURL函数登入163邮箱并获取自己的通讯录

    我们使用phpmailer登录邮件发邮件也是使用了curl原理来实现模仿用户发邮件了,今天看了两个利用CURL函数登入163邮箱并获取自己的通讯录的例子,希望对各位有帮助. 学习了一些CURL的基础知 ...

  6. java 发送邮件和读取邮件(163邮箱为例)

    1,发送邮件 (1)在设置里面打开163邮箱的smtp.pop3,设置授权码 (2)在引用pom.xml中引用mail.jar <dependency > <groupId > ...

  7. python-爬虫:获取163邮箱的收件箱信息列表

    在练习python爬虫的时候看到了原博主的关于爬取163邮箱收件箱信息列表的文章,就拿来练手了.这里附上原博客链接https://blog.csdn.net/u011379247/article/de ...

  8. python模拟登陆163邮箱并获取通讯录

    From: http://hi.baidu.com/fc_lamp/blog/item/2466d1096fcc532de8248839.html python模拟登陆163邮箱并获取通讯录 #-*- ...

  9. 开启邮箱的SMTP服务获取授权码(QQ邮箱、163邮箱)

    一.问题描述 需要使用QQ邮箱的SMTP服务授权码. 二.问题分析 登陆网页版QQ邮箱进行开启. 三.操作步骤 3.1.登陆自己的QQ邮箱 QQ邮箱官网登陆地址QQ邮箱,为亿万用户提供高效稳定便捷的电 ...

最新文章

  1. 珍爱网java高级等通知?_珍爱网独家JAVA开发工程师面试题及流程详解
  2. Python-OpenCV 处理图像(三):图像像素点操作
  3. 四、Netty 实现心跳机制与断线重连
  4. python在线翻译脚本_用python实现百度翻译的示例代码
  5. mybatis开发常见SQL使用手册
  6. c语言程序stm8s,stm8s的c语言编程例程
  7. setBackgroundResource的一个问题
  8. 单链表遍历_单链表及其遍历实现的基本操作
  9. 贴吧粉丝怎么全部移除_教程:高达模型贴大面积的水贴纸张要如何操作
  10. 数据结构专题(二):2.1单链表与顺序表的关系
  11. mysql alisql_对比!!mysql5.7 mysql8.0 alisql5.6同样插入400万数据的对比
  12. PostgreSQL/pgsql数据库优化查询和索引的猜想
  13. TP5代码一键生成(萤火小程序新增功能开发辅助)及开发记录文档
  14. 6U VPX数据存储板学习资料保存:基于6U VPX 的mSATA高性能数据存储板
  15. 小米手机相机的专业模式
  16. 求解TSP问题(python)(穷举、最近邻居法、opt-2法、动态规划、插入法)
  17. HTML嵌套Flash播放视频
  18. 0006-Flink原理(Flink数据流 执行图)
  19. 如何将linux下home目录下的中文名改成英文名
  20. 美国芯片陆续转向,或许为当初的做法后悔不迭,芯片补贴也难改局面

热门文章

  1. mfc 隐藏主窗口 visible_第80讲:工作表数据与UserForm窗口的交互,记录的编辑和保存...
  2. java勇者大冒险_勇者大冒险 第一集 开车时英文歌 什么名
  3. 一本好的教辅,可以少走很多弯路:算法分析和设计 王晓东
  4. 按之字形顺序打印二叉树
  5. Java-Class-C:java.util.Date
  6. vue 点击倒计时 ajax 封装
  7. BZOJ 1609 Usaco Eating Together
  8. 使dreamweaver支持ftl扩展名
  9. mysql性能调优与架构设计 51cto_MySQL 数据库性能优化之表结构优化
  10. c 函数多次声明_【C语言】- static和extern关键字 - 对函数的作用!