| Recommend this page to a friend! |
| PHP MIME Email Message Parser | > | All threads | > | Problem with attachment in email... | > | (Un) Subscribe thread alerts |
| |||||||||||||||
Hello!
First of all, let me congratulate you on this class, it is fast, uses very little memory, and works very well. Until now it managed to decode everything I have thrown at it except for this one (eml file below). This is an email sent by a fax machine on reception, it does not appear to have a message body, just the attachment. Aparently that plays havoc with the Analyse function which does not return an Attachments array but instead puts its fields in the root of the main &$results array, as follows (this is the output of a debug function I made to show all the fields in the decoded array, the Data part is truncated for clarity): Type: image SubType: tiff Description: Image file in the TIFF format Data: II*��������������������������j���FileName: Bizhub_C20_100901112316.tif FileDisposition: attachment Subject: FAX Date: 01 SEP 2010 11:23 -0100 From +0 -> ->address: [email protected] -> ->name: Bizhub_C20 To +0 -> ->address: [email protected] -> ->name: Return-path +0 -> ->address: [email protected] Note: The +0 indicates a sub array index and the -> are used to position the items. The Type, SubType,Description, Data, FileName and FileDisposition keys are under the main array instead of the Attachments array. If you dont wish to alter the class I would really appreciate it if you could just point me in the right direction so I can modify it myself, by the way I added some sub types to the application type in the Analyse method so it would recognize some office 2007 documents, they are: case 'vnd.openxmlformats-officedocument.wordprocessingml.document': $results['Type'] = 'ms-word-2007'; $results['Description'] = 'Word 2007 Document'; break; case 'vnd.openxmlformats-officedocument.spreadsheetml.sheet': $results['Type'] = 'ms-excel-2007'; $results['Description'] = 'Excel 2007 Document'; break; case 'vnd.openxmlformats-officedocument.presentationml.presentation': $results['Type'] = 'ms-powerpoint-2007'; $results['Description'] = 'Powerpoint 2007 Document'; break; Add them to the class if you wish ;) Below is the eml file of the problematic email: Thank you very much for your time. Regards, Marco Gracio Return-path: <[email protected]> Envelope-to: [email protected] Delivery-date: Wed, 01 Sep 2010 11:31:59 +0000 Received: from [192.168.16.253] (helo=192.168.16.253) by ns.viaoceanica.net with esmtpa (Exim 4.69) (envelope-from <[email protected]>) id 1OqlXq-00053r-HO for [email protected]; Wed, 01 Sep 2010 11:31:59 +0000 To:"" <[email protected]> Subject:FAX From:Bizhub_C20 <[email protected]> Date:01 SEP 2010 11:23 -0100 Message-Id:<[email protected]> MIME-Version:1.0 Content-Type:multipart/mixed; boundary="KONICA_MINOLTA_Internet_Fax_Boundary" Content-Transfer-Encoding:7bit --KONICA_MINOLTA_Internet_Fax_Boundary Content-Type: image/tiff; name="Bizhub_C20_100901112316.tif" Content-Disposition: attachment; filename="Bizhub_C20_100901112316.tif" Content-Description: KONICA MINOLTA Remote System Content-Transfer-Encoding: BASE64 SUkqAAgAAAARAP4ABAABAAAAAgAAAAABBAABAAAAwAYAAAEBBAABAAAAagQAAAIBAwABAAAA AQAAAAMBAwABAAAAAwAAAAYBAwABAAAAAAAAAAoBAwABAAAAAgAAABEBBAABAAAA6gAAABIB AwABAAAAAQAAABUBAwABAAAAAQAAABYBBAABAAAAagQAABcBBAABAAAAABoAABoBBQABAAAA 2gAAABsBBQABAAAA4gAAACQBBAABAAAAAAAAACgBAwABAAAAAgAAACkBAwACAAAAAAABAAAA AADMAAAAAQAAAGIAAAABAAAAACibFQAomxUAZbMCoExqJToA7mFcBx1UwtwMzJkbZrIJM3Ah alyoYI6LF/wmLLAlWoWKOSRTwQpUwoK5keYsmHtTAuCO56zXa4Y8ygpJ9PpHWSHxSKGQUEii 1+vEkNDrdcpa9XqFiGGFhEJClpT2s0Jc/+uUha0Z8ig/ygphXx7lR1mhTQmAO/TKer1eYL2E UPR6CQm9JFoFW65FDGH0er0gEhLLtUrIkpJCsORalYWtF1iv10sIa67X6yW0KQFwR4taXDdY LyGks15CQi+JVsGuFgZSfdb96DIhISehVQK1RAHlqkW4oGrdYL1eLyEsCb1eL6FNCYD7uBDH Cr2EsOZ6CQm9JFqFdTUEyheEa5V4kWjmWoWRJSqFYFWvV1JghV6vlxCwCL1eL6FNCYBbKKvl egHrJQQ0oZeQ0EuiVUAjJBE85lXlSuIX1yqMLKFDuSrJtUohYL1eLyEgwXq9XkKbEgC3Kyvr 9arMHxGCzV8eERKPGFoFmw/rl0iM+PX/chG6uVZx/ZaoFIK1ius//QpV5o/yI0IMLY/yI0Kb EgC3Iw8dTJjgghQXSOGCFFYjjxQXyKMMccgTRx/ySMGPPPKoJar9gggJNKMQTJhgwQWBqGbB BdmoAGgLVaGkpQQEgLJZAVA2KwDKZgVA2awAKJsVAGWzAqBsVgCUzQqAslkBUDYrAMpmBUDZ rAAomxUAZbMCoGxWAJTNCoCyWQFQNisAymYFQNmsACibFQBlswKgbFYAlM0KgLJZAVA2KwDK ZgVA2awAKJsVAGWzAqBsVgCUzQqAslkBUDYrAMpmBUDZrAAomxUAZbMCoGxWAJTNCoCyWQFQ NisAymYFQNmsACibFQBlswKgbFYAlM0KgLJZAVA2KwDKZgVA2awAKJsVAGWzAqBsVgCUzQqA slkBUDYrAMpmBUDZrAAomxUAZbMCoGxWAJTNCoCyWQFQNisAymYFQNmsACibFQBlswKgbFYA lM0KgLJZAVA2KwDKZgVA2awAKJsVAGWzAqBsVgCUzQqAslkBUDYrAMpmBUDZrAAomxUAZbMC oGxWAJTNCoCyWQFQNisAymYFQNmsACibFQBlswKgbFYAlM0KgLJZAVA2KwDKZgVA2awAKJsV AGWzAqBsVgCUzQqAslkBUDYrAMpmBUDZrAAomxUAZbMCoGxWAJTNCoCyWQFQNisAymYFQNms ACibFQBlswKgbFYAlM0KgLJZAVA2KwDKZgVA2awAKJsVAGWzAqBsVgCUzQqAslkBUDYrAMpm BUDZrAAomxUAZbMCoGxWAJTNCoCyWQFQNisAymYFQNmsACibFQBlswKgbFYAlM0KgLJZAVA2 KwDKZgVA2awAKJsVAGWz AqBsVgCUzQqAslkBUDYrAMpmBUDZrAAomxUAZbMCoGxWAJTNCoCyWQFQNisAymYFQNmsACib FQBlswKgbFYAlM0KgLJZAVA2KwDKZgVA2awAKJsVAGWzAqBsVgCUzQqAslkBUDYrAMpmBUDZ rAAomxUAZbMCoGxWAJTNCoCyWQFQNisAymYFQNmsACibFQBlswKgbFYAlM0KgLJZAVA2KwDK ZgVA2awAKJsVAGWzAqBsVgCUzQqAslkBUDYrAMpmBUDZrAAomxUAZbMCoGxWAJTNCoCyWQFQ NisAymYFQNmsACibFQBlswKgbFYAlM0KgLJZAVA2KwDKZgVA2awAKJsVAGWzAqBsVgCUzQqA slkBUDYrAMpmBUDZrAAomxUAZbMCoGxWAJTNCoCyWQFQNisAymYFQNmsACibFQBlswKgbFYA lM0KgLJZAVA2KwDKZgVA2awAKJsVAGWzAqBsVgCUzQqAslkBUDYrAMpmBUDZrAAomxUAZbMC oGxWAJTNCoCyWQFQNisAymYFQNmsACibFQBlswKgbFYAlM0KgLJZAVA2KwDKZgVA2awAKJsV AGWzAqBsVgCUzQqAslkBUDYrAMpmBUDZrABoAiUbFQDKZgVA2awAKJsVAGWzAqBsVgCUzQqA slkBUDYrAMpmBUDZrAAomxUAZbMCoGxWAJTNCoCyWQFQNisAymYFQNmsACibFQBlswKgbFYA lM0KgLJZAVA2KwDKZgVA2awAKJsVAGWzAqBsVgCUzQqAslkBUDYrAMpmBUDZrAAomxUAZbMC oGxWAJTNCoCyWQFQNisAymYFQNmsACibFQBlswKgbFYAlM0KgLJZAVA2KwDKZgVA2awAKJsV AGWzAqBsVgCUzQqAslkBUDYrAMpmBUDZrAAomxUAZbMCoGxWAJTNCoCyWQFQNisAymYFQNms ACibFQBlswKgbFYAlM0KgLJZAVA2KwDKZgVA2awAKJsVAGWzAqBsVgCUzQqAslkBUDYrAMpm BUDZrAAomxUAZbMCoGxWAJTNCoCyWQFQNisAymYFQNmsACibFQBlswKgbFYAlM0KgLJZAVA2 KwDKZgVA2awAKJsVAGWzAqBsVgCUzQqAslkBUDYrAMpmBUDZrAAomxUAZbMCoGxWAJTNCoCy WQFQNisAymYFQNmsACibFQBlswKgbFYAlM0KgLJZAVA2KwDKZgVA2awAKJsVAGWzAqBsVgCU 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAA= --KONICA_MINOLTA_Internet_Fax_Boundary--
That is the expected behavior because the message only has one real body part, which is the TIFF image.
Attachments are parts attached to something. In this case that something does not exist. The actual message is the TIFF image.
I see.
Actually I had altered my code to account for that possibility late last night. Turns out it was the right approach. Thank you for the info. Regards, Marco Gracio |
info at phpclasses dot org.
