Zend framework imap erişimi kullanarak 2 den fazla gmail mesajları alamıyor - sunucu ölür - doens't raporu herhangi bir hata

1 Cevap php

Merhaba beyler ben bir google üzerinde çalışıyorum uygulama apps. Kullanıcılar birden fazla gmail adreslerini eklemek ve uygulama kendi kutularına kontrol edebilirsiniz böylece temelde ben kurdum. Ben sadece dışarı ölür gmail adresi eklediğinizde, google, ancak e-posta adresi uygulamaları ile çalışıyor.

Ben burada bu kodu kullanıyorum:

$mail = new Zend_Mail_Storage_Imap($mail_options);

$all_messages = array();

$page = isset($_GET['page'])?$_GET['page']:1;
$limit = isset($_GET['limit'])?$_GET['limit']:20;

$offset = (($page-1)*$limit)+1;

$end = ($page*$limit)>$c?$c:($page*$limit);
for ($i=$offset;$i<=$end;$i++){

    $h2t = new html2text();
    $h2t->set_allowed_tags('<a>');

    if(!$mail[$i])
        break;
    else{
        $one_message = $mail->getMessage($i);
        $one_message->id = $i;
        $one_message->UID = $mail->getUniqueId($i);

        $one_message->parts = array();
        $one_message->body = '';
        $count = 1;
        foreach (new RecursiveIteratorIterator($mail->getMessage($i)) as $ii=>$part) {

            try {
                $tpart = $part;
                //$tpart->_content = '';
                $one_message->parts[$count] =  $tpart;
                $count++;
                // check for html body
                if (strtok($part->contentType, ';') == 'text/html') {
                    $b = $part->getContent();

                    if($part->contentTransferEncoding == 'quoted-printable')
                        $b = quoted_printable_decode($b);

                    $one_message->html_body = $b;
                    $h2t->set_html($b);
                    $one_message->body = $h2t->get_text();
                }

                //check for text body

                if (strtok($part->contentType, ';') == 'text/plain') {
                    $b = $part->getContent();

                    if($part->contentTransferEncoding == 'quoted-printable')
                        $b = quoted_printable_decode($b);

                    $one_message->text_body = $b;

                    $one_message->body = $b;//$part->getContent();
                }

            } catch (Zend_Mail_Exception $e) {
                // ignore
            }

        }

        $all_messages[] = $one_message;

    }
}

Ne olursa olsun e-postalar sadece 2 e-postaları almak üzerine ölür ... Burada ne oluyor?

1 Cevap

Sadece bir var_dump yapmak için istisna bunu bazı yerde oturum yakalamak zaman, istisna geçiyor kolayca sorunu öğrenmek için yardımcı olacaktır. Ayrıca bu soru zor cevap vermeden burada istisna mesaj gönderebilir.