imap получение нескольких писем сразу

woodfairy

Новичок
imap, получение нескольких писем сразу

прежде чем писать большую почтовую систему хочется выяснить некоторые вопросы по imap библиотеке. Я с ней уже работала по протоколу pop3. Теперь нужно будет работать по протоколам pop3 и imap. Помогите разобраться с некоторыми вопросами.

1. можно ли получить не одно письмо, а несколько сразу? Я знаю, что заголовки от нескольких писем можно получить с помощью imap_fetch_overview. Может, я просто что-то не замечаю, пользуясь imap_body, imap_fetchbody, imap_fetchstructure, но эти функции возвращают только одно письмо.

2. можно ли распарсить с помощью библиотеки письмо, лежащее не на почтовом сервере, а в файле .eml, например?

3. можно ли получить нераспарсенное письмо с помощью какой-то одной функции, а не двух: imap_body и imap_fetchbody?

4. если ответы на все предыдущие вопросы "нет", то знаете ли вы еще какую-нибудь причину, по которой лучше написать собственный класс, чем пользоваться php_imap.dll?

я не пишу сразу собственный класс, потому что на это понадобится время, а проект желательно бы ускорить.

заранее всем спасибо за ответ.
 

Гравицапа

elbirret elcno
1. Нельзя.
можно ли получить не одно письмо, а несколько сразу?
Цикл?
2. Нет
3. Нет
4.
4. если ответы на все предыдущие вопросы "нет", то знаете ли вы еще какую-нибудь причину, по которой лучше написать собственный класс, чем пользоваться php_imap.dll?
а. Уже есть написанные классы типа пировского IMAPv2, также посмотри класс Mime
б. imap_* не умеют читать namespace у IMAP сервера - это будет важно при создании папок например
в. Класс наверно даже лучше искать с реализацией на сокетах, чем с помощью imap_*

Да и кстати,
прежде чем писать большую почтовую систему хочется выяснить некоторые вопросы по imap библиотеке.
http://www.horde.org/imp/
Рекомендую сначала посмотреть на готовые решения...
 

woodfairy

Новичок
Большое спасибо!

Пожалуй, действительно, придется искать класс с реализацией на сокетах.

Правда дальше встает вопрос о том, как парсить полученное письмо или какому классу в этом вопросе лучше доверять?
 

Гравицапа

elbirret elcno
woodfairy
Для начала будет скорее всего неплохо посмотреть как реализованно скажем
в Horde(там на сокетах) или каком другом популярном почтовом веб-интерфейсе
Правда дальше встает вопрос о том, как парсить полученное письмо
Хотя бы тем же PEAR::Mime
 

woodfairy

Новичок
Гравицапа,
а где вы нашли Horde, реализованный на сокетах?
Мы скачали - там все основано на imap_*
 

Гравицапа

elbirret elcno
woodfairy
Да я кажется немного ошибся, там с помощью сокетов (/lib/IMAP/Client.php) реализованно только определённые функции (как то определение того же namespace у imap сервера)

http://www.roundcube.net/ - вот здесь вроде полностью на сокетах, кстати достаточно неплохой почтовик...

Собственно, в почтовом интерфейсе, в разработке которого я принимал участие, сделал так же ...
то есть
* Основная работа с помощью PEAR::IMAPv2 (там imap_*)(надо отметить, что оно не умеет работать с аттачами uuencode )
* Определение namespace посредством коннекта через сокеты
* Для составления письма PEAR::Mime
 
Сверху