/** * @return mixed */ function parse_source_mail_data() { $data = []; $resource = fopen("php://stdin", "r"); // for xDebug // $resource = fopen(__DIR__."/mails/bogdan.mail", "r"); $mailParser = new ZBateson\MailMimeParser\MailMimeParser(); $message = $mailParser->parse($resource); try { $data['parser_message'] = $message; $data['to'] = $message->getHeaderValue('to'); $data['to_name'] = is_object($message->getHeader('to')) ? $message->getHeader('to')->getPersonName() : ''; $data['from'] = $message->getHeaderValue('from'); $data['from_name'] = is_object($message->getHeader('from')) ? $message->getHeader('from')->getPersonName() : ''; $data['subject'] = $message->getHeaderValue('subject'); $data['content'] = stream_get_contents($message->getTextStream()); $data['content_html'] = stream_get_contents($message->getHtmlStream()); $data['files_count'] = $message->getAttachmentCount(); //$data['all_attachment_parts'] = (is_numeric($data['files_count']) && $data['files_count'] > 0) // ? $message->getAllAttachmentParts() // : false; } catch (Exception $error) { loger_error("Line: " . __LINE__ . "; Error parse source stdin resource. Message error: " . $error->getMessage()); } fclose($resource); $_d['content'] = $data['content']; $_d['content_html'] = $data['content_html']; //loger('Source data: '. print_r($_d, true)); return $data; }
<?php include __DIR__ . "/ZBateson/MailMimeParser/MailMimeParser.php"; function __autoload($classname) { if (strpos($classname, "ZBateson") !== false) { $filename = __DIR__ . "/" . str_replace("\\", "/", $classname) . ".php"; } include_once $filename; } $path = realpath(dirname(dirname(dirname(__DIR__)))); // we've called a class *** //$obj = new myClass(); $mailParser = new ZBateson\MailMimeParser\MailMimeParser(); $handle = fopen(__DIR__ . '/tester-group.mail', 'r'); //if (strlen($msg) > 1000) { $message = $mailParser->parse($handle); // returns a ZBateson\MailMimeParser\Message fclose($handle); $to = $message->getHeaderValue('to'); $toName = $message->getHeader('to')->getPersonName(); $from = $message->getHeaderValue('from'); // user@example.com $fromName = $message->getHeader('from')->getPersonName(); // Person Name $subject = $message->getHeaderValue('subject'); // The email's subject $res = $message->getTextStream(); // or getHtmlStream $content = stream_get_contents($res); if ($att = $message->getAttachmentPart(0)) {