コード例 #1
0
<?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);
?>

コード例 #2
0
ファイル: pipe.php プロジェクト: anteknik/helpdesk
}
$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 {
コード例 #3
0
<?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();
コード例 #4
0
ファイル: processemails.php プロジェクト: pari/rand0m
//	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
コード例 #5
0
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);