为什么PHP中的IMAP功能如此之慢?

时间:2018-01-02 19:29:49

标签: php imap php-imap

为什么PHP中的IMAP功能如此可怕?有没有推荐的解决方法?我在私人服务器上运行了一小部分PHP,我已经设置了这个私人服务器来轮询几个不同的Gmail收件箱并为我汇总新邮件。它一直很慢 - 检查四个邮箱可能需要几秒钟才能完成。最近由于我无法解释的原因,它大部分都停止了工作。尽管凭证仍然有效,服务器只会在第一次请求时超时。

在寻找这个问题的解决方案时,我遇到了this "bug report",很快就被推到了桌面下面。但似乎我并不是唯一一个注意到PHP中的IMAP库几乎无法缓慢的人。

有没有其他人遇到过这个问题,并提出了在合理的时间内访问IMAP邮箱的任何技术? (几秒钟是非常不合理的!)

这是我正在做的事情,基本上是:

if ($mbox = imap_open('{imap.gmail.com:993/imap/ssl}INBOX', $users[$i], $passwords[$i])) {

    $inbox = imap_check($mbox);
    $total = (int) $inbox->Nmsgs;

    if ($total > 0 && ($emails = imap_fetch_overview($mbox, "1:{$total}"))) {
        foreach ($emails as $email) {
            $messages[] = array(
                'from' => $email->from,
                'subj' => $email->subject,
                'date' => strtotime($email->date),
                'read' => $email->seen
            );
        }
    }
}

0 个答案:

没有答案