Пример #1
0
function fetch_mails()
{
    global $wpdb;
    /* checks mail from various mailboxes and posts those e-mails */
    //Load up some usefull libraries
    //Retreive emails
    $fetch_query = 'SELECT * FROM ' . $wpdb->prefix . 'postie_addresses';
    $mailboxes = $wpdb->get_results($fetch_query);
    print_r($mailboxes);
    $config = get_config();
    foreach ($mailboxes as $mailbox) {
        $emails = FetchMail($mailbox->server, $mailbox->port, $mailbox->email, $mailbox->passwd, $mailbox->protocol);
        //loop through messages
        foreach ($emails as $email) {
            //sanity check to see if there is any info in the message
            if ($email == NULL) {
                print 'Dang, message is empty!';
                continue;
            }
            $mimeDecodedEmail = DecodeMimeMail($email);
            $from = RemoveExtraCharactersInEmailAddress(trim($mimeDecodedEmail->headers["from"]));
            //Check poster to see if a valid person
            $poster = ValidatePoster($mimeDecodedEmail, $config);
            if (!empty($poster)) {
                if ($config['TEST_EMAIL']) {
                    DebugEmailOutput($email, $mimeDecodedEmail);
                }
                if ($mailbox->category) {
                    $config['DEFAULT_POST_CATEGORY'] = $mailbox->category;
                }
                PostEmail($poster, $mimeDecodedEmail, $config);
            } else {
                print "<p>Ignoring email - not authorized.\n";
            }
        }
        // end looping over messages
    }
}
Пример #2
0
                continue;
            }
        }
        $message = '';
        $mimeDecodedEmail = DecodeMimeMail($email, true);
        $from = RemoveExtraCharactersInEmailAddress(trim($mimeDecodedEmail->headers["from"]));
        /*
        if ($from != "") {
            continue;
        }
        */
        //Check poster to see if a valid person
        $poster = ValidatePoster($mimeDecodedEmail, $config);
        if (!empty($poster)) {
            if ($config['TEST_EMAIL']) {
                DebugEmailOutput($email, $mimeDecodedEmail);
            }
            PostEmail($poster, $mimeDecodedEmail, $config);
        } else {
            print "<p>Ignoring email - not authorized.\n";
        }
        if (function_exists('memory_get_usage')) {
            echo "memory at end of e-mail processing:" . memory_get_usage() . "\n";
        }
    }
    // end looping over messages
} else {
    $message = "\n" . __("There does not seem to be any new mail.", 'postie');
}
print $message;
print "</pre>\n";
Пример #3
0
function postie_get_mail()
{
    require_once plugin_dir_path(__FILE__) . 'mimedecode.php';
    if (!function_exists('file_get_html')) {
        require_once plugin_dir_path(__FILE__) . 'simple_html_dom.php';
    }
    EchoInfo("Starting mail fetch");
    postie_environment();
    $wp_content_path = dirname(dirname(dirname(__FILE__)));
    DebugEcho("wp_content_path: {$wp_content_path}");
    if (file_exists($wp_content_path . DIRECTORY_SEPARATOR . "filterPostie.php")) {
        DebugEcho("found filterPostie.php in {$wp_content_path}");
        include_once $wp_content_path . DIRECTORY_SEPARATOR . "filterPostie.php";
    }
    if (has_filter('postie_post')) {
        echo "Postie: filter 'postie_post' is depricated in favor of 'postie_post_before'";
    }
    $test_email = null;
    $config = config_Read();
    //extract($config);
    if (!array_key_exists('maxemails', $config)) {
        $config['maxemails'] = 0;
    }
    $emails = FetchMail($config['mail_server'], $config['mail_server_port'], $config['mail_userid'], $config['mail_password'], $config['input_protocol'], $config['time_offset'], $test_email, $config['delete_mail_after_processing'], $config['maxemails'], $config['email_tls']);
    $message = 'Done.';
    EchoInfo(sprintf(__("There are %d messages to process", "postie"), count($emails)));
    if (function_exists('memory_get_usage')) {
        DebugEcho(__("memory at start of email processing:") . memory_get_usage());
    }
    DebugDump($config);
    //loop through messages
    $message_number = 0;
    foreach ($emails as $email) {
        $message_number++;
        DebugEcho("{$message_number}: ------------------------------------");
        //sanity check to see if there is any info in the message
        if ($email == NULL) {
            $message = __('Dang, message is empty!', 'postie');
            EchoInfo("{$message_number}: {$message}");
            continue;
        } else {
            if ($email == 'already read') {
                $message = __("Message is already marked 'read'.", 'postie');
                EchoInfo("{$message_number}: {$message}");
                continue;
            }
        }
        $mimeDecodedEmail = DecodeMIMEMail($email);
        DebugEmailOutput($email, $mimeDecodedEmail);
        //Check poster to see if a valid person
        $poster = ValidatePoster($mimeDecodedEmail, $config);
        if (!empty($poster)) {
            PostEmail($poster, $mimeDecodedEmail, $config);
        } else {
            EchoInfo("Ignoring email - not authorized.");
        }
        flush();
    }
    EchoInfo("Mail fetch complete, {$message_number} emails");
    if (function_exists('memory_get_usage')) {
        DebugEcho("memory at end of email processing:" . memory_get_usage());
    }
}