#!/usr/bin/php 1) { $_SERVER['PHABRICATOR_ENV'] = $argv[1]; } $root = dirname(dirname(dirname(__FILE__))); require_once $root.'/scripts/__init_script__.php'; require_once $root.'/scripts/__init_env__.php'; require_once $root.'/externals/mimemailparser/MimeMailParser.class.php'; phutil_require_module( 'phabricator', 'applications/metamta/storage/receivedmail'); phutil_require_module( 'phabricator', 'applications/files/storage/file'); $parser = new MimeMailParser(); $parser->setText(file_get_contents('php://stdin')); $received = new PhabricatorMetaMTAReceivedMail(); $received->setHeaders($parser->getHeaders()); $received->setBodies(array( 'text' => $parser->getMessageBody('text'), 'html' => $parser->getMessageBody('html'), )); $attachments = array(); foreach ($parser->getAttachments() as $attachment) { $file = PhabricatorFile::newFromFileData( $attachment->getContent(), array( 'name' => $attachment->getFilename(), )); $attachments[] = $file->getPHID(); } $received->setAttachments($attachments); $received->save(); $received->processReceivedMail();