PHP学习:PHP基于IMAP收取邮件的方法示例
发布时间:2020-09-05 16:55:44 所属栏目:PHP 来源:互联网
导读:介绍《PHP学习:PHP基于IMAP收取邮件的方法示例》开发教程,希望对您有用。
《PHP学习:PHP基于IMAP收取邮件的方法示例》要点: 本文实例讲述了PHP基于IMAP收取邮件的方法.分享给大家供大家参考,具体如下:PHP应用 因需要处理公司企业邮箱被退信邮件问题:刚开始的思路是通过模拟登陆,对邮件进行抓取,(这种事情对我来说,做过了很多次,轻车熟路),不过邮箱还是有点复杂的,PHP应用 后来想起做邮件发送时有用到smtp来发送邮件,记得也可以收取邮件,在腾讯企业邮箱帮助http://service.exmail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1000584PHP应用 看到IMAP和POP都可以实现收取邮件,再发现PHP有内置的IMOP函数,写了示例:PHP应用 //以腾讯企业邮箱做了测试 $mailServer="imap.exmail.qq.com"; //IMAP主机 $mailLink="{{$mailServer}:143}INBOX" ; //imagp连接地址:不同主机地址不同 $mailUser = '***'; //邮箱用户名 $mailPass = '***'; //邮箱密码 $mbox = imap_open($mailLink,$mailUser,$mailPass); //开启信箱imap_open $totalrows = imap_num_msg($mbox); //取得信件数 for ($i=1;$i<$totalrows;$i++){ $headers = imap_fetchheader($mbox,$i); //获取信件标头 $headArr = matchMailHead($headers); //匹配信件标头 $mailBody = imap_fetchbody($mbox,$i,1); //获取信件正文 } /** * * 匹配提取信件头部信息 * @param String $str */ function matchMailHead($str){ $headList = array(); $headArr = array( 'from','to','date','subject' ); foreach ($headArr as $key){ if(preg_match('/'.$key.':(.*?)[nr]/is',$str,$m)){ $match = trim($m[1]); $headList[$key] = $key=='date'?date('Y-m-d H:i:s',strtotime($match)):$match; } } return $headList; } 附上IMAP函数库:PHP应用 (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |