人人人妻人人人妻人人人,99精品国产综合久久久久五月天 ,欧美白人最猛性XXXXX,日韩AV无码免费播放

News新聞

業(yè)界新聞動態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁      樂道系統(tǒng)FAQ      PHP基于IMAP收取郵件的方法示例

PHP基于IMAP收取郵件的方法示例

標(biāo)簽: 發(fā)布日期:2017-08-07 00:00:00 244

本文實例講述了PHP基于IMAP收取郵件的方法。分享給大家供大家參考,具體如下:

因需要處理公司企業(yè)郵箱被退信郵件問題:剛開始的思路是通過模擬登陸,對郵件進(jìn)行抓取,(這種事情對我來說,做過了很多次,輕車熟路),不過郵箱還是有點復(fù)雜的,

后來想起做郵件發(fā)送時有用到smtp來發(fā)送郵件,記得也可以收取郵件,在騰訊企業(yè)郵箱幫助http://service.exmail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1000584

看到IMAP和POP都可以實現(xiàn)收取郵件,再發(fā)現(xiàn)PHP有內(nèi)置的IMOP函數(shù),寫了示例:

//以騰訊企業(yè)郵箱做了測試
$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); //取得信件數(shù)
for ($i=1;$i<$totalrows;$i++){
  $headers = imap_fetchheader($mbox, $i); //獲取信件標(biāo)頭
  $headArr = matchMailHead($headers); //匹配信件標(biāo)頭
  $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.':(.*?)[\n\r]/is', $str,$m)){
      $match = trim($m[1]);
      $headList[$key] = $key=='date'?date('Y-m-d H:i:s',strtotime($match)):$match;
    }
  }
  return $headList;
}