profan
Новичок
принципы работы с imap или библиотеки для работы с imap
Задача через imap читать письма, сохранять данные о письме в бд, если письмо в html формате, сохранять картинки и прочее и менять пути к ним в теле письма, сохранять вложения, после обработки письма на сервере перемещать его в другу папку (больше возможных требований пока не вижу)
Решений пока вижу два:
1. Использовать функции пхп. Проблема в том что imap_fetchstructure возвращает структуру зависщую от структуры письма (те есть письмо в формате хтмл и имеет картинки то будет соответствующая вложенная структура описывающая эти данные, если письмо еще имеет вложения то будет еще одна вложенная структура для вложений). На сколько я понял, обрабатывать эту структуру нужно рекурсивно и в зависимости от значений этой структуры получать само тело письма, получать картинки если письмо в html, получаь вложения. Правила я определил следующие: если есть значение ifid = true - это объект из тела письма (если письмо в формате html), если type = 0 && ifid = false - это само тело письма, если присутвует атрибут attachment - это вложение. Эти выводы я сделал методом проб, но уверен что что-то неучел. Есть конечно описание протокола, и возможно если его прочесть полностью то станет понятно как с ним работать, но при беглом просмотре я понял что там вопрос рассматривается с другой позиции и ничего полезно не вынес для себя.
Вобщем признателен буду за ссылки на нормальное описание (не отдельно для каких то задач, например получение атачментов) а вобщее, или за советы из собстенного опыта, например какие значения что означают и какой алгоритм лучше применить для работы со структурой.
2. Использовать библиотеку. Наиболее подходящее (из немного найденного) это pear модуль mail_imapv2. Но кроме документации из пхп дока я по нем ничего ненашел. Все ссылки из поиска по его документации ведут на http://www.smilingsouls.net/mail_imap, который неработает.
Задача через imap читать письма, сохранять данные о письме в бд, если письмо в html формате, сохранять картинки и прочее и менять пути к ним в теле письма, сохранять вложения, после обработки письма на сервере перемещать его в другу папку (больше возможных требований пока не вижу)
Решений пока вижу два:
1. Использовать функции пхп. Проблема в том что imap_fetchstructure возвращает структуру зависщую от структуры письма (те есть письмо в формате хтмл и имеет картинки то будет соответствующая вложенная структура описывающая эти данные, если письмо еще имеет вложения то будет еще одна вложенная структура для вложений). На сколько я понял, обрабатывать эту структуру нужно рекурсивно и в зависимости от значений этой структуры получать само тело письма, получать картинки если письмо в html, получаь вложения. Правила я определил следующие: если есть значение ifid = true - это объект из тела письма (если письмо в формате html), если type = 0 && ifid = false - это само тело письма, если присутвует атрибут attachment - это вложение. Эти выводы я сделал методом проб, но уверен что что-то неучел. Есть конечно описание протокола, и возможно если его прочесть полностью то станет понятно как с ним работать, но при беглом просмотре я понял что там вопрос рассматривается с другой позиции и ничего полезно не вынес для себя.
Вобщем признателен буду за ссылки на нормальное описание (не отдельно для каких то задач, например получение атачментов) а вобщее, или за советы из собстенного опыта, например какие значения что означают и какой алгоритм лучше применить для работы со структурой.
2. Использовать библиотеку. Наиболее подходящее (из немного найденного) это pear модуль mail_imapv2. Но кроме документации из пхп дока я по нем ничего ненашел. Все ссылки из поиска по его документации ведут на http://www.smilingsouls.net/mail_imap, который неработает.