Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung von PHP mit der IMAP-Methode zum Empfangen von E-Mails

Detaillierte Erklärung von PHP mit der IMAP-Methode zum Empfangen von E-Mails

巴扎黑
巴扎黑Original
2017-08-10 16:12:274031Durchsuche

Dieser Artikel stellt hauptsächlich die Methode zum E-Mail-Empfang mit PHP vor und analysiert anhand von Beispielen die relevanten Einstellungen und Verwendungsmöglichkeiten von PHP mit IMAP-bezogenen Funktionen Ich brauche es und kann darauf verweisen

Das Beispiel in diesem Artikel beschreibt, wie PHP E-Mails basierend auf IMAP sammelt. Ich teile es Ihnen als Referenz mit:

Ich muss mich mit dem Problem der zurückgesendeten E-Mails im Firmenpostfach befassen: Die ursprüngliche Idee bestand darin, die Anmeldung zu simulieren und die E-Mails zu erfassen. (So ​​etwas funktioniert bei mir nicht. Ich habe es schon oft gemacht und bin damit vertraut), aber das Postfach ist immer noch etwas kompliziert.

Später fiel mir ein, dass SMTP daran gewöhnt ist Senden Sie E-Mails, wenn Sie E-Mails senden. Denken Sie daran, dass Sie auch E-Mails von Tencent Enterprise Email Help empfangen können Als ich sah, dass sowohl IMAP als auch POP E-Mails empfangen können, stellte ich fest, dass PHP über eine integrierte IMOP-Funktion verfügt, schriftliches Beispiel:


Im Anhang die IMAP-Funktionsbibliothek:
//以腾讯企业邮箱做了测试
$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(
    &#39;from&#39;,
    &#39;to&#39;,
    &#39;date&#39;,
    &#39;subject&#39;
  );
  foreach ($headArr as $key){
    if(preg_match(&#39;/&#39;.$key.&#39;:(.*?)[\n\r]/is&#39;, $str,$m)){
      $match = trim($m[1]);
      $headList[$key] = $key==&#39;date&#39;?date(&#39;Y-m-d H:i:s&#39;,strtotime($match)):$match;
    }
  }
  return $headList;
}


Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung von PHP mit der IMAP-Methode zum Empfangen von E-Mails. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn