Php从pop看电子邮件

时间:2011-07-15 13:47:18

标签: php email pop3

这是我的代码:

  if ($mbox=imap_open( "{" . $mailserver . ":" . $port . "}INBOX", $user, $pass )) 
 {  echo "Connected\n"; 
 } else { exit ("Can't connect: " . imap_last_error() ."\n");  echo "FAIL!\n";  }; 

 if ($hdr = imap_check($mbox)) {
  $msgCount = $hdr->Nmsgs;
  echo "Ci sono ".$msgCount." mail";
} else {
  echo "Failed to get mail";

}

$connection=$mbox;
$result = imap_search($connection, 'UNSEEN');
  $output='';

 foreach($result as $email_number) {

    /* get information specific to this email */
    $overview = imap_fetch_overview($mbox,$email_number,0);
    $message = imap_fetchbody($mbox,$email_number,2);

    /* output the email header information */
    $output.= '<div class="toggler '.($overview[0]->seen ? 'read' : 'unread').'">';
    $output.= '<span class="subject">'.$overview[0]->subject.'</span> ';
    $output.= '<span class="from">'.$overview[0]->from.'</span>';
    $output.= '<span class="date">on '.$overview[0]->date.'</span>';
    $output.= '</div>';

    /* output the email body */
    $output.= '<div class="body">'.$message.'</div>';
  }

  echo $output;

imap_close($mbox); 

问题是脚本太低而且我已经返回超过30秒的最大执行时间。

我该怎么办? 在我的邮箱里,我有很多邮件(20封未读)。

问题是,当我执行imap_search UNSEEN时,它会返回所有邮件,也包括读取邮件。 所以UNSEEN选项不起作用。 邮箱是雅虎,在我的盒子里我有990封邮件,1封未读。 问题在于它让我知道990未被拒绝,但事实并非如此......只有1个未被拒绝!

可能是什么问题? 感谢。

1 个答案:

答案 0 :(得分:0)

您可以在PHP中更改max_execution时间,但是您应该尝试分析使您的应用程序运行缓慢的原因。

错误消息是否会为您提供任何附加提示,或者您是否知道IMAP服务器是否缓慢?