Для того, щоб отримати почту з 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. Читайте уважно розділ “Настройка других почтовых клиентов“.
На цьому все. Дякую за увагу ;).
просто і зрозуміло – обов’язково спробую перевірити чи працює в такий спосіб 🙂
Спасибо. Чётко и понятно.
Классы так же можно подключать так:
require_once ‘Zend/Loader.php’;
Zend_Loader::loadClass(‘Zend_Mail_Storage_Imap’);
я пока что не совсем понимаю в чем разница…