<?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); ?>
} $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]); $from_email = trim($from3[0]); } else {
<?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();
// 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'); if ($pos === false) { // wonder what to do with this email ? calling quits
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(); $start = date("Y-m-d"); $end = date("Y-m-d", time() + 60 * 60 * 24 * 14);