Расширение 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.
Библиотеки horde выполняют некоторые основные операции по ведению домашнего хозяйства и выполняют запросы при входе на почтовый сервер, большой из которых - "INQUIRE INBOX", что может занять значительное время при работе с большой папкой.
Расширение IMAP, которое поставляется с PHP, этого не делает. Вы можете ускорить эти запросы, установив и используя Horde_Cache.
Расширение IMAP, поставляемое с PHP, имеет много ошибок, например, он может испытывать трудности при входе на серверы Exchange, Gmail и т. Д. По опыту я обнаружил, что стоит изучить и использовать библиотеку Horde, чтобы обойти эти проблемы. пару часов, чтобы произвести то, что работает. Когда дело доходит до извлечения вложений MIME из тела электронной почты, я лично обнаружил, что для этого проще. Ваш пробег может варьироваться.
Надеюсь это поможет!