protected function getallAction() { $translate = $this->application->getBootstrap()->getResource('translate'); $view = $this->application->getBootstrap()->getResource('view'); $view->setScriptPath(APPLICATION_PATH . '/views/scripts'); $acl = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('formacl'); $queueticketObj = new Queueticket(); $queueticketRows = $queueticketObj->fetchAll("ghost = false"); foreach ($queueticketRows as $queueticketRow) { try { $mail = new Zend_Mail_Storage_Imap(array('host' => $queueticketRow['input_email_host'], 'user' => $queueticketRow['input_email_user'], 'password' => $queueticketRow['input_email_password'])); for ($i = 1; $i <= $mail->countMessages(); $i++) { $message = $mail->getMessage($i); if (!$message->hasFlag(Zend_Mail_Storage::FLAG_SEEN)) { $values = array('subject' => $message->subject, 'content' => $message->getContent(), 'priority' => substr($queueticketRow['available_priority'], 0, 1), 'state' => substr($queueticketRow['available_states'], 0, 1), 'start' => date("c"), 'id_queue' => $queueticketRow['id']); $model = new Ticket(); $row = $model->createRow($values); $row->save(); $mail->setFlags($i, array(Zend_Mail_Storage::FLAG_SEEN)); } } } catch (Exception $e) { print_r($e->getMessage()); } } }
/** * Given an open and authenticated IMAP connection, displays some basic info * about the INBOX folder. */ function showInbox($imap) { /** * Print the INBOX message count and the subject of all messages * in the INBOX */ $storage = new Zend_Mail_Storage_Imap($imap); include 'header.php'; echo '<h1>Total messages: ' . $storage->countMessages() . "</h1>\n"; /** * Retrieve first 5 messages. If retrieving more, you'll want * to directly use Zend_Mail_Protocol_Imap and do a batch retrieval, * plus retrieve only the headers */ echo 'First five messages: <ul>'; for ($i = 1; $i <= $storage->countMessages() && $i <= 5; $i++) { echo '<li>' . htmlentities($storage->getMessage($i)->subject) . "</li>\n"; } echo '</ul>'; }
public function testCountFlags() { $mail = new Zend_Mail_Storage_Imap($this->_params); foreach ($mail as $id => $message) { $mail->setFlags($id, array()); } $this->assertEquals($mail->countMessages(Zend_Mail_Storage::FLAG_SEEN), 0); $this->assertEquals($mail->countMessages(Zend_Mail_Storage::FLAG_ANSWERED), 0); $this->assertEquals($mail->countMessages(Zend_Mail_Storage::FLAG_FLAGGED), 0); $mail->setFlags(1, array(Zend_Mail_Storage::FLAG_SEEN, Zend_Mail_Storage::FLAG_ANSWERED)); $mail->setFlags(2, array(Zend_Mail_Storage::FLAG_SEEN)); $this->assertEquals($mail->countMessages(Zend_Mail_Storage::FLAG_SEEN), 2); $this->assertEquals($mail->countMessages(Zend_Mail_Storage::FLAG_ANSWERED), 1); $this->assertEquals($mail->countMessages(array(Zend_Mail_Storage::FLAG_SEEN, Zend_Mail_Storage::FLAG_ANSWERED)), 1); $this->assertEquals($mail->countMessages(array(Zend_Mail_Storage::FLAG_SEEN, Zend_Mail_Storage::FLAG_FLAGGED)), 0); $this->assertEquals($mail->countMessages(Zend_Mail_Storage::FLAG_FLAGGED), 0); }
public function testCopy() { $mail = new Zend_Mail_Storage_Imap($this->_params); $mail->selectFolder('subfolder/test'); $count = $mail->countMessages(); $mail->selectFolder('INBOX'); $message = $mail->getMessage(1); $mail->copyMessage(1, 'subfolder/test'); $mail->selectFolder('subfolder/test'); $this->assertEquals($count + 1, $mail->countMessages()); $this->assertEquals($mail->getMessage($count + 1)->subject, $message->subject); $this->assertEquals($mail->getMessage($count + 1)->from, $message->from); $this->assertEquals($mail->getMessage($count + 1)->to, $message->to); try { $mail->copyMessage(1, 'justARandomFolder'); } catch (Exception $e) { return; // ok } $this->fail('no error while copying to wrong folder'); }
} /** * Generate SASL client request, using base64 encoded * OAuth params */ $initClientRequest = 'GET ' . $urlWithXoauth . ' ' . $oauthParams; $initClientRequestEncoded = base64_encode($initClientRequest); /** * Make the IMAP connection and send the auth request */ $imap = new Zend_Mail_Protocol_Imap('imap.gmail.com', '993', true); $authenticateParams = array('XOAUTH', $initClientRequestEncoded); $imap->requestAndResponse('AUTHENTICATE', $authenticateParams); /** * Print the INBOX message count and the subject of all messages * in the INBOX */ $storage = new Zend_Mail_Storage_Imap($imap); include 'header.php'; echo '<h1>Total messages: ' . $storage->countMessages() . ' for ' . $TWO_LEGGED_EMAIL_ADDRESS . "</h1>\n"; /** * Retrieve first 5 messages. If retrieving more, you'll want * to directly use Zend_Mail_Protocol_Imap and do a batch retrieval, * plus retrieve only the headers */ echo 'First five messages: <ul>'; for ($i = 1; $i <= $storage->countMessages() && $i <= 5; $i++) { echo '<li>' . htmlentities($storage->getMessage($i)->subject) . "</li>\n"; } echo '</ul>'; include 'footer.php';
public function testCountFolder() { $mail = new Zend_Mail_Storage_Imap($this->_params); $mail->selectFolder('subfolder/test'); $count = $mail->countMessages(); $this->assertEquals(1, $count); }
<?php set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/../library'); require 'Zend/Loader/Autoloader.php'; $autoloader = Zend_Loader_Autoloader::getInstance(); $autoloader->registerNamespace('ZendX'); $mailbox = new Zend_Mail_Storage_Imap(array('host' => 'imap.example.org', 'user' => '*****@*****.**', 'password' => '...')); if ($mailbox->countMessages()) { $request = new ZendX_MailControl_Controller_Request_Mail($mailbox->getMessage(3)); $front = Zend_Controller_Front::getInstance(); $front->setControllerDirectory(dirname(__FILE__) . '/../application/controllers')->setRouter(new ZendX_MailControl_Controller_Router_Null())->throwExceptions(true)->dispatch($request); }
/** * Generate SASL client request, using base64 encoded * OAuth params */ $initClientRequest = 'GET ' . $url . ' ' . $oauthParams; $initClientRequestEncoded = base64_encode($initClientRequest); /** * Make the IMAP connection and send the auth request */ $imap = new Zend_Mail_Protocol_Imap('imap.gmail.com', '993', true); $authenticateParams = array('XOAUTH', $initClientRequestEncoded); $imap->requestAndResponse('AUTHENTICATE', $authenticateParams); /** * Print the INBOX message count and the subject of all messages * in the INBOX */ $storage = new Zend_Mail_Storage_Imap($imap); include 'header.php'; echo '<h1>Total messages: ' . $storage->countMessages() . "</h1>\n"; /** * Retrieve first 5 messages. If retrieving more, you'll want * to directly use Zend_Mail_Protocol_Imap and do a batch retrieval, * plus retrieve only the headers */ echo 'First five messages: <ul>'; for ($i = 1; $i <= $storage->countMessages() && $i <= 5; $i++) { echo '<li>' . htmlentities($storage->getMessage($i)->subject) . "</li>\n"; } echo '</ul>'; include 'footer.php'; }