| | |
| | | * print_r($structure); |
| | | * |
| | | * TODO: |
| | | * o Implement multipart/appledouble |
| | | * o UTF8: ??? |
| | | |
| | | > 4. We have also found a solution for decoding the UTF-8 |
| | |
| | | break; |
| | | |
| | | case 'multipart/parallel': |
| | | case 'multipart/appledouble': // Appledouble mail |
| | | case 'multipart/report': // RFC1892 |
| | | case 'multipart/signed': // PGP |
| | | case 'multipart/digest': |
| | |
| | | $this->_error = 'No boundary found for ' . $content_type['value'] . ' part'; |
| | | return false; |
| | | } |
| | | |
| | | |
| | | $default_ctype = (strtolower($content_type['value']) === 'multipart/digest') ? 'message/rfc822' : 'text/plain'; |
| | | |
| | | $parts = $this->_boundarySplit($body, $content_type['other']['boundary']); |
| | | for ($i = 0; $i < count($parts); $i++) { |
| | | list($part_header, $part_body) = $this->_splitBodyHeader($parts[$i]); |
| | |
| | | } |
| | | |
| | | $tmp = explode('--' . $boundary, $input); |
| | | $count = count($tmp); |
| | | |
| | | // when boundaries are set correctly we should have at least 3 parts; |
| | | // if not, return the last one (tbr) |
| | | if ($count<3) |
| | | return array($tmp[$count-1]); |
| | | |
| | | for ($i = 1; $i < $count - 1; $i++) { |
| | | for ($i = 1; $i < count($tmp) - 1; $i++) { |
| | | $parts[] = $tmp[$i]; |
| | | } |
| | | |