Обработка электронной почты IMAP в PHP - PullRequest
1 голос
/ 22 октября 2009

Мне нужно обработать почтовый ящик, следить за сообщениями с определенной темой. Если он находит совпадение, мне нужно получить содержимое тела, манипулировать и вставить в базу данных. В идеале сообщение следует пометить как прочитанное и переместить его в другую папку IMAP.

Я копаюсь в документации PHP imap_open (http://us2.php.net/imap_open) и нашел ссылку http://www.linuxscope.net/articles/mailAttachmentsPHP.html#_jmp0_

Прежде чем я зайду слишком далеко, мне интересно, знает ли кто-нибудь о существующем классе PHP, который является хорошей оболочкой для основ, которые я ищу:

IMAP:

  • подключения
  • список папок
  • список сообщений
  • чтение сообщений - от, до, тема, тело
  • переместить сообщения в папки сервера
  • прочитано / непрочитано

Спасибо!

Ответы [ 2 ]

1 голос
/ 22 октября 2009

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

0 голосов
/ 18 марта 2011

Я пробовал Zend_Mail для IMAP и у меня есть некоторые взлеты и падения. Я мог подключаться и читать, перемещать электронные письма, но это довольно глючно. Вы можете проверить предмет или отправителя, проанализировать заголовки, достичь вложения, анализируя различные части.

Zend_Mail_Protocol_Imap не использует никакую функцию PHP imap / ext. ( Почему? ) Чтение папок с тысячами электронных писем происходит медленно. Внутренний порядок папки на самом деле не хронологический, что так странно. Вероятно, зависит от того, как было реализовано хранилище (я проанализировал учетную запись google.pro). Иногда соединение неожиданно закрывается , и отладка довольно тяжелая.

Существует также Pear_IMAPv2 , который является бета-версией, и я даже не смог установить его. Альтернативой будет установить imap / ext и сделать все самостоятельно.

Удачи.

...