加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘南站长网 (https://www.0941zz.com/)- 科技、行业物联网、开发、云计算、云管理!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP学习:PHP基于IMAP收取邮件的方法示例

发布时间:2020-09-05 16:55:44 所属栏目:PHP 来源:互联网
导读:介绍《PHP学习:PHP基于IMAP收取邮件的方法示例》开发教程,希望对您有用。

《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应用

(编辑:甘南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读