Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Получить почту (IMAP, файлы)
 
 автор: OZ_   (28.07.2005 в 11:44)   письмо автору
 
 

Здравствуйте.
Задача: получить файлы с mailbox + текст письма + текст темы.
С текстом и темой ещё можно разобраться, но вот как получить файл?
Во-первых, содержимой может разбиваться на ".. Next Part ..." , это сразу ставит под вопрос самостоятельный разбор тела письма - могут быть ошибки.
Во-вторых, содержимое файла выдаётся строкой - а нужны двоичные данные...

Если кто-то уже делал это, помогите, пожалуйста.

   
 
 автор: OZ_   (28.07.2005 в 12:51)   письмо автору
 
   для: OZ_   (28.07.2005 в 11:44)
 

Проверил: отправил файл 175Kb, прочитал выдалась неразорванная на Partы строка... А если будет больше? Может он вообще не разрезается? А зачем тогда NextPart? С какими флагами и какой функцией нужно перекодировать строку в binary? Какой параметр (3-й) передать imap_body(), чтобы она возвращала все символы корректно (вдруг \n\r будет )? Может она сама может binary вернуть?

   
 
 автор: OZ_   (28.07.2005 в 15:07)   письмо автору
 
   для: OZ_   (28.07.2005 в 11:44)
 

Ну, раз нет специалистов в этом деле, буду рассказывать, что получается :)
Про NextPart: все части сообщения разделены одинаковым сепаратором, определённым в заголовке Content-Type. Пример:
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0051_01C592F4.D60F4E50"
.
С помощью imap_fetchstructure() или без её помощи можно получить тело письма и найти там эти разделители.

P.S.: Извините, если это оффтопик, просто вдруг кому пригодится.

   
 
 автор: OZ_   (28.07.2005 в 16:39)   письмо автору
 
   для: OZ_   (28.07.2005 в 11:44)
 

С помощью сложных манипуляций strpos и substr (регулярные не подойдут) удалось выделить содержимое аттача. Но не удаётся перекодировть эти строки в двоичный файл. Блин.
Какие есть функции перекодировки?

   
 
 автор: OZ_   (28.07.2005 в 17:09)   письмо автору
 
   для: OZ_   (28.07.2005 в 16:39)
 

YES!!!
Я сделал это :)
base64_decode - функция раскодировки.
Теперь осталось протестировать, что будет, если несколько файлов в аттаче будет.

надеюсь, это хоть кому-нибудь пригодится, а то я тут сам с собой разговариваю... :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования