PHP学习:PHP基于IMAP收取邮件的方法示例
发布时间:2020-09-06 12:19:10 所属栏目: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应用 (编辑:哈尔滨站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
