Расширение PHP Imap по сравнению с клиентом Horde Framework imap (или другими альтернативами)

Для веб-приложения мне нужно читать почту с сервера imap с помощью php.

До сих пор я использовал очень простой скрипт и расширение php imap, но так как мне нужно надежное решение (я также пробовал пакеты pear imap, но оно было не очень надежным с различными кодировками), которое поддерживает больше функций, таких как зашифрованные сообщения pgp, вместо этого я подумывал об использовании клиентской базы horde /imap.

Я не знаю, стоит ли устанавливать и использовать (довольно сложную) структуру орды только для функций imap. Есть ли альтернативы или предложения? Каковы будут преимущества / недостатки использования horde против расширения php imap?

(Приложение не должно предоставлять какой-либо веб-интерфейс, мне просто нужно проанализировать почту и сохранить содержимое / вложения в базе данных)

ОБНОВЛЕНИЕ Я попробовал Horde Imap Client, его легко установить и использовать, но производительность кажется немного медленной по сравнению с расширением php imap (на php5.3+eAccelerator). Вход в систему на сервере imap + выборочные заголовки занимает 8 секунд (вход в систему 4.5 с + выборочный заголовок 3,5 с), по сравнению с менее чем 4 секундами с расширением php imap (вход 3 с + выборочные заголовки 0,5 с). Я все еще пытаюсь понять, что я делаю что-то не так, или это просто нормальная разница между нативной библиотекой php и расширением php imap.

3 ответа

Решение

Вы можете установить библиотеку Horde IMAP, не настраивая также всю среду:

$ pear channel-discover pear.horde.org
$ pear install horde/horde_imap_client

Вы можете использовать компонент Zend_Mail из Zend Framework. Я не знаю, если он более / менее сложный, чем Орда, но вы можете взять только этот компонент и его зависимости, вам не нужен весь ZF.

Чтение сообщений с Zend_Mail

Библиотеки horde выполняют некоторые основные операции по ведению домашнего хозяйства и выполняют запросы при входе на почтовый сервер, большой из которых - "INQUIRE INBOX", что может занять значительное время при работе с большой папкой.

Расширение IMAP, которое поставляется с PHP, этого не делает. Вы можете ускорить эти запросы, установив и используя Horde_Cache.

Расширение IMAP, поставляемое с PHP, имеет много ошибок, например, он может испытывать трудности при входе на серверы Exchange, Gmail и т. Д. По опыту я обнаружил, что стоит изучить и использовать библиотеку Horde, чтобы обойти эти проблемы. пару часов, чтобы произвести то, что работает. Когда дело доходит до извлечения вложений MIME из тела электронной почты, я лично обнаружил, что для этого проще. Ваш пробег может варьироваться.

Надеюсь это поможет!

Другие вопросы по тегам