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

Форум PHP

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

 

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

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

тема: Некторые вложения писем не возможно прочитать
 
 автор: dimaxz   (16.06.2014 в 16:24)   письмо автору
 
 

есть скрипт который получает вложения из писем с сервера почты.
Для получения писем и вложений использую библиотеку https://github.com/barbushin/php-imap/blob/master/src/ImapMailbox.php (до нее использовал и другие но без результатно)

все письма и вложения получаются корректно но есть одно письмо которое скрипт не вкакую не хочет определять на наличие там вложения, хотя оно есть и веб клиент mail.ru его видит корректно.
письмо состоит из двух частей первая это текст а вторая это вложение
вот пример второй части письма в которой и содержится закодированное вложение:

--tjpWhDkVbffiVkLo2vu=_MuBDdN6h4iuf3--

--gsKr6d8efbT2QDoJRpLLOMYkWKQiQF1=_j
Content-Type: application/octet-stream;
    name="ACD.xls"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
    filename="ACD.xls"

0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgA DAP7/CQAGAAAAAAAAAAAAAAALAAAAIQUAAAAAAAA A
EAAA/v///wAAAAD+////AAAAABYFAAAXBQAAGAUAABkFAAAaBQAAGwU AABwFAAAdBQAAHgUAAB8F
AAAgBQAA////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////8J
CBAAAAYFAGcyzQfBgAEABgYAAOEAAgCwBME AAgAAAOIAAABcAHAABwABEAQ7BDUEOgRBBD UEOQQg
ICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgICAgICAgICAgICAgICAgIC AgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA gICAgICAgICAgIEIAAgCwBGEBAgAAAMABAA A9AQIA
AQCcAAIAEQAZAAIAAAASAAIAAAATAAIAAAC vAQIAAAC8AQIAAAA9ABIAeAB4AMxgdDE4AA AAAAAB
AFgCQAACAAAAjQACAAAAIgACAAAADgACAAE AtwECAAAA2gACAAAAMQAeANwAAAAIAJABAA AAAsyq
BwFDAGEAbABpAGIAcgBpADEAHgDcAAAACAC QAQAAAALMqgcBQwBhAGwAaQBiAHIAaQAxAB 4A3AAA
AAgAkAEAAAACzKoHAUMAYQBsAGkAYgByAGk AMQAeANwAAAAIAJABAAAAAsyqBwFDAGEAbA BpAGIA
cgBpADEAHgDcAAAACACQAQAAAALMqgcBQwB hAGwAaQBiAHIAaQAxAB4AaAEBADgAvAIAAA ACzKoH

  Ответить  
 
 автор: dimaxz   (27.06.2014 в 16:16)   письмо автору
 
   для: dimaxz   (16.06.2014 в 16:24)
 

Вопрос все еще актуален выяснилось что письмо не корректно разбирается функцией imap_fetchstructure

само письмо содержит главные разделители которые присутствуют по мимо boundary - разделителя, назначения точно их не извести возможно разделение на пакеты из за особенности работы imap протокола.

Если отобразить схематично то структура письма получается такой: (при условии что boundary="XawtawQlxQ6=_wUAflHfrbBMcFTM3Xb4v1")
This is a multi-part message in MIME format

 --DIYkf=_SbUInLMxuVFbub2LdZOQL8a8aeD
    -- XawtawQlxQ6=_wUAflHfrbBMcFTM3Xb4v1
      
       часть 1.1 - text/plain
    
   --XawtawQlxQ6=_wUAflHfrbBMcFTM3Xb4v1

        часть 1.2 - text/html

  --XawtawQlxQ6=_wUAflHfrbBMcFTM3Xb4v1--

 --DIYkf=_SbUInLMxuVFbub2LdZOQL8a8aeD
         часть 2 - application/octet-stream
 --DIYkf=_SbUInLMxuVFbub2LdZOQL8a8aeD--


тело вложения находится в второй части, но функция imap_fetchstructure получает только части 1.1 и 1.2, часть 2 почему то не видит
вопрос как получить вторую часть письма часть 2 - application/octet-stream ???

  Ответить  
 
 автор: Trianon   (27.06.2014 в 16:31)   письмо автору
 
   для: dimaxz   (27.06.2014 в 16:16)
 

>Если отобразить схематично то структура письма получается такой: (при условии что boundary="XawtawQlxQ6=_wUAflHfrbBMcFTM3Xb4v1")
..
>вопрос как получить вторую часть письма часть 2 - application/octet-stream ???

Вы ж сами видите, что не тот разделитель выбрали?

  Ответить  
 
 автор: dimaxz   (27.06.2014 в 16:53)   письмо автору
 
   для: Trianon   (27.06.2014 в 16:31)
 

я не выбирал разделитель, данное письмо идет с почтового сервера, моя задача вытащить вложение. ( кстати Все почтовые клиенты его разбирают нормально.)

  Ответить  
 
 автор: Trianon   (28.06.2014 в 14:09)   письмо автору
 
   для: dimaxz   (27.06.2014 в 16:53)
 

так письмо нормальное .
проблема в реализации библиотеки, или в её использовании.

  Ответить  
 
 автор: dimaxz   (30.06.2014 в 08:33)   письмо автору
 
   для: Trianon   (28.06.2014 в 14:09)
 

есть какие на примете?

  Ответить  
Rambler's Top100
вверх

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