$line = ""; while (($line = $set->getNextLine()) !== null) { $raw_message .= $line; } $result = $bouncehandler->get_the_facts($raw_message); $result = $result[0]; $status = $result['status']; $action = $result['action']; $recipient = trim($result['recipient']); if (!in_array($action, array("delayed", "failed", "autoreply"))) { $cli->output("Message index: {$index}, unknown action: {$action}, skipping..."); continue; } if ($action == 'delayed' || $action == 'autoreply') { $cli->output("Deleting message: {$index}, action: {$action}"); $pop3->delete($index); continue; } if ($action == 'failed') { $cli->output("Message index: {$index}, status: {$status}, action: {$action}, recipient: {$recipient}"); $subscriptions = jajNewsletterSubscription::fetchActiveByEmail($recipient); foreach ($subscriptions as $subscription) { $state = $subscription->attribute("state"); if ($state == "active") { $cli->output("Found matching subscription: " . $subscription->attribute("uuid") . " changing status from: " . $subscription->attribute("state") . " to: bounced"); $subscription->setAttribute('state', 'bounced'); $subscription->setAttribute('bounced', time()); $subscription->setAttribute('modified', time()); $subscription->store(); } }
public function testDelete() { $pop3 = new ezcMailPop3Transport(self::$server); $pop3->authenticate(self::$user, self::$password); try { $pop3->delete(1000); $this->fail("Didn't get exception when expected"); } catch (ezcMailTransportException $e) { } }
require_once 'tutorial_autoload.php'; // Create a new POP3 transport object by specifying the server name $pop3 = new ezcMailPop3Transport("pop3.example.com"); // Authenticate to the POP3 server $pop3->authenticate("user", "password"); // Get the number of messages on the server and their combined size // in the variables $num and $size $pop3->status($num, $size); // Get the list of message numbers on the server and their sizes // the returned array is something like: array( 1 => 1500, 2 => 45200 ) // where the key is a message number and the value is the message size $messages = $pop3->listMessages(); // Get the list of message unique ids on the server and their sizes // the returned array is something like: array( 1 => '00000f543d324', 2 => '000010543d324' ) // where the key is an message number and the value is the message unique id $messages = $pop3->listUniqueIdentifiers(); // Usually you will call one of these 3 fetch functions: // Fetch all messages on the server $set = $pop3->fetchAll(); // Fetch one message from the server (here: get the message no. 2) $set = $pop3->fetchByMessageNr(2); // Fetch a range of messages from the server (here: get 4 messages starting from message no. 2) $set = $pop3->fetchFromOffset(2, 4); // Delete a message from the server $pop3->delete(1); // Use this to keep the connection alive $pop3->noop(); // Create a new mail parser object $parser = new ezcMailParser(); // Parse the set of messages retrieved from the server earlier $mail = $parser->parseMail($set);