<?php

use rdx\imap\IMAPException;
use rdx\imap\IMAPMailbox;
require 'env.php';
require 'autoload.php';
header('Content-type: text/plain');
try {
    $mbox = new IMAPMailbox(IMAP_BOUNCES_HOST, IMAP_BOUNCES_USER, IMAP_BOUNCES_PASS, 'INBOX', ['ssl']);
} catch (\Exception $ex) {
    exit($ex->getMessage());
}
print_r($mbox->msgInfo());
echo "\n";
// print_r($mbox->headers(false));
// echo "\n";
if (true) {
    // LOAD MANY
    $messages = $mbox->messages(['newestFirst' => false, 'limit' => 20]);
    var_dump(count($messages));
    echo "\n";
} else {
    // LOAD ONE
    $messages = [$mbox->message(4)];
}
foreach ($messages as $message) {
    echo "\n\n";
    echo '[' . $message->msgNumber() . '] [' . date('Y-m-d H:i:s', $message->utc()) . '] ' . $message->subject() . "\n";
    // continue;
    echo "\n";
    // print_r($message->headers());
<?php

use rdx\imap\IMAPMailbox;
require 'env.php';
require 'autoload.php';
header('Content-type: text/plain');
$mbox = new IMAPMailbox(IMAP_HELPDESK_HOST, IMAP_HELPDESK_USER, IMAP_HELPDESK_PASS, 'INBOX', ['novalidate-cert']);
print_r($mbox->headers());
$messages = $mbox->messages();
var_dump(count($messages));
print_r($messages);
exit;
$headers = imap_headers($mbox);
print_r($headers);
foreach ($headers as $hd) {
    if (preg_match('/(\\d+)\\)/', $hd, $match)) {
        $msgNum = $match[1];
        $hd = imap_headerinfo($mbox, $msgNum);
        $new = !!trim($hd->Unseen);
        if ($new) {
            // subject -- should contain #code#
            $title = get_plain_text_subject($mbox, $msgNum, $hd);
            $code = preg_match('/#(\\d+)#$/', $title, $match) ? (int) $match[1] : 0;
            echo $title . "\n";
            // body -- get only last part (no conversation history)
            $attachments = array();
            $full_body = get_plain_text_body($mbox, $msgNum, $attachments);
            $body = get_last_body_part($full_body);
            if ($attachments) {
                $body .= "\n\n== Attachments:\n* " . implode("\n* ", $attachments);
            }
Example #3
0
<?php

use rdx\imap\IMAPMailbox;
require 'env.php';
require 'autoload.php';
header('Content-type: text/plain');
$mbox = new IMAPMailbox(IMAP_11NK5_HOST, IMAP_11NK5_USER, IMAP_11NK5_PASS, 'INBOX', ['ssl', 'novalidate-cert']);
$messages = $mbox->messages(false);
echo count($messages) . " new messages...\n\n";
exit;
foreach ($messages as $message) {
    $title = $message->subject();
    var_dump($title);
    $message->parts();
    $body = $message->plainBody;
    if ($body) {
        $text = $body->content();
        if (preg_match('#^https?://[a-z0-9]#i', $text)) {
            $tags = preg_split('/\\s+/', $text);
            $url = array_shift($tags);
            $tags = implode(' ', $tags);
            if ($tags) {
                var_dump($url);
                var_dump($tags);
                if ($message->unseen) {
                    $q = compact('title', 'url', 'tags');
                    $qs = http_build_query($q);
                    $rsp = @file_get_contents('http://hotblocks.nl/tags/index.php?' . $qs);
                    echo "SUBMIT URL: ";
                    if ($rsp) {
                        var_dump(strlen($rsp));