|
|
|
| есть скрипт который получает вложения из писем с сервера почты.
Для получения писем и вложений использую библиотеку 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
(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 ??? | |
|
|
|
|
|
|
|
для: dimaxz
(27.06.2014 в 16:16)
| | >Если отобразить схематично то структура письма получается такой: (при условии что boundary="XawtawQlxQ6=_wUAflHfrbBMcFTM3Xb4v1")
..
>вопрос как получить вторую часть письма часть 2 - application/octet-stream ???
Вы ж сами видите, что не тот разделитель выбрали? | |
|
|
|
|
|
|
|
для: Trianon
(27.06.2014 в 16:31)
| | я не выбирал разделитель, данное письмо идет с почтового сервера, моя задача вытащить вложение. ( кстати Все почтовые клиенты его разбирают нормально.) | |
|
|
|
|
|
|
|
для: dimaxz
(27.06.2014 в 16:53)
| | так письмо нормальное .
проблема в реализации библиотеки, или в её использовании. | |
|
|
|
|
|
|
|
для: Trianon
(28.06.2014 в 14:09)
| | есть какие на примете? | |
|
|
|