* * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ if ($argc > 1) { $_SERVER['PHABRICATOR_ENV'] = $argv[1]; } $root = dirname(dirname(dirname(__FILE__))); require_once $root . '/scripts/__init_script__.php'; require_once $root . '/externals/mimemailparser/MimeMailParser.class.php'; $parser = new MimeMailParser(); $parser->setText(file_get_contents('php://stdin')); $text_body = $parser->getMessageBody('text'); $text_body_headers = $parser->getMessageBodyHeaders('text'); $content_type = idx($text_body_headers, 'content-type'); if (!phutil_is_utf8($text_body) && (preg_match('/charset="(.*?)"/', $content_type, $matches) || preg_match('/charset=(\\S+)/', $content_type, $matches))) { $text_body = phutil_utf8_convert($text_body, "UTF-8", $matches[1]); } $headers = $parser->getHeaders(); $headers['subject'] = iconv_mime_decode($headers['subject'], 0, "UTF-8"); $headers['from'] = iconv_mime_decode($headers['from'], 0, "UTF-8"); $received = new PhabricatorMetaMTAReceivedMail(); $received->setHeaders($headers); $received->setBodies(array('text' => $text_body, 'html' => $parser->getMessageBody('html'))); $attachments = array(); foreach ($parser->getAttachments() as $attachment) {
<?php /** * To run this example you need to pass in some input via STDIN */ require_once '../MimeMailParser.class.php'; $Parser = new MimeMailParser(); $Parser->setStream(STDIN); $to = $Parser->getHeader('to'); $delivered_to = $Parser->getHeader('delivered-to'); $from = $Parser->getHeader('from'); $subject = $Parser->getHeader('subject'); $text = $Parser->getMessageBody('text'); $html = $Parser->getMessageBody('html'); $attachments = $Parser->getAttachments(); // dump it so we can see var_dump($to, $delivered_to, $from, $subject, $text, $html, $attachments); ?>
$counter = 1; while (count($info->parts) > 1 && count($info->parts) > $counter) { if ($info->parts[$counter]->ifparameters == 1) { $filename = $info->parts[$counter]->parameters[0]->value; } else { if ($info->parts[$counter]->ifdparameters == 1) { $filename = $info->parts[$counter]->dparameters[0]->value; } } $mimetype = $type[(int) $info->parts[$counter]->type] . '/' . $info->parts[$counter]->subtype; $mimetype = strtolower($mimetype); echo " - File: {$filename} ({$mimetype})... "; $fullfilename = 'tmp/attachments/' . $uid . '/' . $filename; $file = 'tmp/attachments/' . $uid . '/mail.txt'; imap_savebody($inbox, $file, $message->msgno); $parser = new MimeMailParser(); $parser->setPath($file); $attachments = $parser->getAttachmentsAsStreams(); file_put_contents($fullfilename, $attachments[$counter - 1]); echo "done\n"; $package->addFile($filename, $mimetype); $counter++; } // Deposit the package $package->create(); $client = new SWORDAPPClient(); $response = $client->deposit($swordurl, $sworduser, $swordpassword, '', 'tmp/' . $packagefilename, 'http://purl.org/net/sword-types/METSDSpaceSIP', 'application/zip', false, true); // print_r($response); $id = $response->sac_id; $id = str_replace("http://hdl.handle.net/", "http://dspace.swordapp.org/jspui/handle/", $id); echo "Deposited at " . $id . "\n\n";
// tasks_centerlimit@discreteevents.com // reminders_centerlimit@discreteevents.com // notes_centerlimit@discreteevents.com // comments_centerlimit@discreteevents.com (with subject TN1234 to add a comment on task 1234 ) error_reporting(E_ALL); ini_set('display_errors', '1'); $APP_PATH = "/www_apps/devents/"; $ALLOWED_ACTIONS = array('tasks', 'comments', 'reminders', 'notes'); include_once $APP_PATH . "include_variables.php"; if (!@mysql_select_db(MASTERDB)) { exit(0); } include_once $APP_PATH . "include_functions.php"; include_once $APP_PATH . "ssadmin/processemails_include.php"; include_once $APP_PATH . "phpmailer/mimemailparser/MimeMailParser.class.php"; $Parser = new MimeMailParser(); $Parser->setPath($argv[1]); $thisemail_toAddress = getEmailIdFromString($Parser->getHeader('to')); $thisemail_ccAddress = getEmailIdFromString($Parser->getHeader('cc')); $thisemail_fromAddress = getEmailIdFromString($Parser->getHeader('from')); $thisemail_subject = $Parser->getHeader('subject'); // $thisemail_htmlbody = $Parser->getMessageBody('html'); // $thisemail_attachments = $Parser->getAttachments(); if ($Parser->getHeader('content-transfer-encoding') == 'base64') { $thisemail_body = base64_decode($Parser->getMessageBody('text')); } else { $thisemail_body = $Parser->getMessageBody('text'); } $pos = strpos(strtolower($thisemail_toAddress), '@discreteevents.com'); if ($pos === false) { $pos = strpos(strtolower($thisemail_ccAddress), '@discreteevents.com');
require_once INCLUDES . 'classes/classMysql.php'; $db = new MySQLDB(); } $db->connect($helpdeskz->config['Database']['dbname'], $helpdeskz->config['Database']['servername'], $helpdeskz->config['Database']['username'], $helpdeskz->config['Database']['password'], $helpdeskz->config['Database']['tableprefix']); //Settings $settings = array(); $q = $db->query("SELECT * FROM " . TABLE_PREFIX . "settings"); while ($r = $db->fetch_array($q)) { $settings[$r['field']] = $r['value']; } if ($settings['email_piping'] == 'no') { exit; } include INCLUDES . 'language/' . $settings['client_language'] . '.php'; $text = file_get_contents('php://stdin'); $Parser = new MimeMailParser(); $Parser->setText($text); $to = $Parser->getHeader('to'); $from = $Parser->getHeader('from'); $text = $Parser->getMessageBody('text'); $attachments = $Parser->getAttachments(); $subject = $Parser->getHeader('subject'); $subject2 = imap_mime_header_decode($subject); for ($i = 0; $i < count($subject2); $i++) { $subjectdecoded .= $subject2[$i]->text; } $subject = $subjectdecoded; if (strpos($from, '<') !== false) { $from2 = explode('<', $from); $from3 = explode('>', $from2[1]); $from_name = trim($from2[0]);
<?php error_reporting(0); require_once 'PHPMailerAutoload.php'; require_once 'MimeMailParser.class.php'; require_once 'rb.php'; define(DB_DNS, "mysql:host=localhost;dbname=database"); define(DB_UNAME, "username"); define(DB_PASS, "password"); R::setup(DB_DNS, DB_UNAME, DB_PASS); $parser = new MimeMailParser(); $parser->setStream(STDIN); $to = $parser->getHeader('to'); $mail = explode('@', $to); if ($bean = R::findOne('email', 'email=:email AND time>=:time', array(':email' => $mail[0], ':time' => time()))) { $from = $parser->getHeader('from'); $subject = $parser->getHeader('subject'); $mail = new PHPMailer(); $mail->From = '*****@*****.**'; $mail->FromName = 'tempmail.ir'; $mail->addReplyTo($from); $mail->addAddress($bean->forwardto); $mail->Subject = $subject; $mail->AltBody = $parser->getMessageBody(); $mail->Body = $parser->getMessageBody('html'); $mail->isHTML(); $save_dir = __DIR__ . '/attachments/'; $hash = time() . md5($to . $from . $subject); $filenames = array(); foreach ($parser->getAttachments() as $attachment) { $filenames[] = $attachment->filename;
<?php require_once __DIR__ . '/../phplib/util.php'; require_once __DIR__ . '/../phplib/mime-mail-parser/MimeMailParser.class.php'; log_scriptLog("getWotdImageByEmail: starting"); $validSenderAddress = Config::get("WotD.imageEmailSender") or die("No image email sender in config file\r\n"); $validHeight = Config::get("WotD.wotdImageHeight") or die("No image height in config file\r\n"); $validWidth = Config::get("WotD.wotdImageWidth") or die("No image width in config file\r\n"); $daysInterval = Config::get("WotD.interval") or die("No days interval in config file\r\n"); $email = file_get_contents("php://stdin"); $Parser = new MimeMailParser(); $Parser->setText($email); $sender = $Parser->getHeader("from"); $subject = imap_utf8($Parser->getHeader("subject")); $parsedSender = mailparse_rfc822_parse_addresses($sender); if (count($parsedSender) != 1 || $parsedSender[0]['address'] !== $validSenderAddress) { OS::errorAndExit("Ignoring message '{$subject}' due to invalid sender '{$sender}'", 0); } $word = GetWotdFromSubject($subject); $attachments = $Parser->getAttachments(); if (empty($attachments)) { OS::errorAndExit("Ignoring message '{$subject}' because it has no attachments", 0); } elseif (count($attachments) > 1) { OS::errorAndExit("Ignoring message '{$subject}' because it has more than 1 attachment", 0); } $contentType = $attachments[0]->content_type; if (!StringUtil::startsWith($contentType, "image/")) { OS::errorAndExit("Ignoring message '{$subject}' because its attachment is not an image", 0); } $image = $attachments[0]->content; $imageExtension = $attachments[0]->getFileExtension();
<?php require_once '../MimeMailParser.class.php'; $path = '../data/attachments-mail.txt'; $Parser = new MimeMailParser(); $Parser->setText(file_get_contents($path)); //$Parser->setPath($path); $to = $Parser->getHeader('to'); $delivered_to = $Parser->getHeader('delivered-to'); $from = $Parser->getHeader('from'); $subject = $Parser->getHeader('subject'); $text = $Parser->getMessageBody('text'); $html = $Parser->getMessageBody('html'); $attachments = $Parser->getAttachments(); // dump it so we can see var_dump($to, $delivered_to, $from, $subject, $text, $html, $attachments); var_dump($attachments[0]->content, $attachments[0]->extension);
$action = $_GET['action']; require_once 'Zabbix.php'; $zabbix = new Zabbix(array('host' => $ZABBIX_HOST)); $sql = "SELECT * FROM email_tracker.email_schedule WHERE id = " . mysql_real_escape_string($eid); $results = mysql_query($sql, $db); $row = mysql_fetch_assoc($results); if (empty($row)) { echo "Schedule Not Found!"; die; } switch ($action) { case "ack": $zabbix->check('email.mon[' . $eid . ']', 'OK', $row['zabbix_host']); echo $row['name'] . " Has been flagged as ok"; break; } die; } if (!file_exists($EMAIL_STORE . $eid)) { echo "Email Not Found"; die; } $Parser = new MimeMailParser(); $Parser->setPath($EMAIL_STORE . $eid); $to = $Parser->getHeader('to'); $from = $Parser->getHeader('from'); $subject = $Parser->getHeader('subject'); $text = $Parser->getMessageBody('text'); $html = $Parser->getMessageBody('html'); $attachments = $Parser->getAttachments(); echo $html;
define('MTTPATH', dirname(__FILE__) . '/'); } require_once MTTPATH . 'init.php'; $db = DBConnection::instance(); define("__SIG__", Config::get('signature')); if (!__SIG__) { die("error: no signature"); } if (isset($argv[1])) { switch ($argv[1]) { case "importmail": ########################## # pecl install mailparse # ########################## require_once MTTPATH . "third-party/MimeMailParser.class.php"; $Parser = new MimeMailParser(); $Parser->setStream(STDIN); $parsed = parseMail($Parser->getMessageBody('text'), $db, $Parser->getHeader('from')); if ($parsed['body']) { $parsed['body'] = trim($parsed['body']) . "\n\n"; } else { $parsed['body'] = ""; } $parsed['body'] .= "Received " . date("F j, Y, g:i A") . " via mail from: " . $Parser->getHeader('from'); $t = addTask($db, $parsed['list'], $Parser->getHeader('subject'), null, $parsed['body'], $parsed['priority'], $parsed['duedate'], $parsed['tags']); if (!$t['total'] || $t['total'] < 1) { err("error creating new task.", $Parser->getHeader('from')); } break; case "getduetasks": $where = array();