Zend_Mail, IMAP і Gmail

Google MailДля того, щоб отримати почту з IMAP сервера Gmail засобами Zend_Mail потрібно виконати наступні дії:
1. В php.ini підключити розширення php_openssl.
2. Включити IMAP в налаштуваннях Gmail.

3. Написати код:

<?php
 
require_once 'Zend/Mail/Storage/Imap.php';
 
$mail = new Zend_Mail_Storage_Imap(array(
        'host'  => 'imap.gmail.com',
        'user'  => 'mymail@gmail.com',
        'port'  => 993,
        'ssl'   => 'SSL',
        'password' => 'mypassword'
    ));
 
echo $mail->countMessages() . " messages found<br/>";

І запустити скрипт :).

В мому інбоксі виявилося 2ва листи:

2 messages found

Якщо ж в логах з’являється:

Zend_Mail_Protocol_Exception: cannot read – connection closed?

То швидше за все, ви вказали або не той порт, або TLS замість SSL. Читайте уважно розділ “Настройка других почтовых клиентов“.

На цьому все. Дякую за увагу ;).

2 thoughts on “Zend_Mail, IMAP і Gmail

  1. просто і зрозуміло – обов’язково спробую перевірити чи працює в такий спосіб :)

  2. Спасибо. Чётко и понятно.
    Классы так же можно подключать так:
    require_once ‘Zend/Loader.php’;
    Zend_Loader::loadClass(‘Zend_Mail_Storage_Imap’);
    я пока что не совсем понимаю в чем разница…

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>