欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年08月07日 10:41:35   作者:skillCoding  
這篇文章主要介紹了PHP基于IMAP收取郵件的方法,結(jié)合實例形式分析了PHP基于IMAP接收郵件的相關(guān)設(shè)置與使用技巧,并附帶了IMAP相關(guān)函數(shù)說明,需要的朋友可以參考下

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

因需要處理公司企業(yè)郵箱被退信郵件問題:剛開始的思路是通過模擬登陸,對郵件進行抓取,(這種事情對我來說,做過了很多次,輕車熟路),不過郵箱還是有點復(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;
}

附上IMAP函數(shù)庫:

imap_append:  附加字符串到指定的郵箱中。
imap_base64:  解 BASE64 編碼。
imap_body:  讀信的內(nèi)文。
imap_check:  返回郵箱信息。
imap_close:  關(guān)閉 IMAP 鏈接。
imap_createmailbox:  建立新的信箱。
imap_delete:  標(biāo)記欲刪除郵件。
imap_deletemailbox:  刪除既有信箱。
imap_expunge:  刪除已標(biāo)記的郵件。
imap_fetchbody:  從信件內(nèi)文取出指定部分。
imap_fetchstructure:  獲取某信件的結(jié)構(gòu)信息。
imap_header:  獲取某信件的標(biāo)頭信息。
imap_headers:  獲取全部信件的標(biāo)頭信息。
imap_listmailbox:  獲取郵箱列示。
imap_listsubscribed:  獲取訂閱郵箱列示。
imap_mail_copy:  復(fù)制指定信件到它處郵箱。
imap_mail_move:  移動指定信件到它處郵箱。
imap_num_msg:  取得信件數(shù)。
imap_num_recent:  取得新進信件數(shù)。
imap_open:  打開 IMAP 鏈接。
imap_ping:  檢查 IMAP 是否連接。
imap_renamemailbox:  更改郵箱名字。
imap_reopen:  重開 IMAP 鏈接。
imap_subscribe:  訂閱郵箱。
imap_undelete:  取消刪除郵件標(biāo)記。
imap_unsubscribe:  取消訂閱郵箱。
imap_qprint:  將 qp 編碼轉(zhuǎn)成八位。
imap_8bit:  將八位轉(zhuǎn)成 qp 編碼。
imap_binary:  將八位轉(zhuǎn)成 base64 編碼。
imap_scanmailbox:  尋找信件有無特定字符串。
imap_mailboxmsginfo:  取得目前郵箱的信息。
imap_rfc822_write_address:  電子郵件位址標(biāo)準(zhǔn)化。
imap_rfc822_parse_adrlist:  解析電子郵件位址。
imap_setflag_full:  配置信件標(biāo)志。
imap_clearflag_full:  清除信件標(biāo)志。
imap_sort:  將信件標(biāo)頭排序。
imap_fetchheader:  取得原始標(biāo)頭。
imap_uid:  取得信件 UID。
imap_getmailboxes:  取得全部信件詳細(xì)信息。
imap_getsubscribed:  列出所有訂閱郵箱。
imap_msgno:  列出 UID 的連續(xù)信件。
imap_search:  搜尋指定標(biāo)準(zhǔn)的信件。
imap_last_error:  最后的錯誤信息。
imap_errors:  所有的錯誤信息。
imap_alerts:  所有的警告信息。
imap_status:  目前的狀態(tài)信息。

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP運算與運算符用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設(shè)計有所幫助。

相關(guān)文章

最新評論