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()); } } }
public function testSetFlags() { $mail = new Zend_Mail_Storage_Imap($this->_params); $mail->setFlags(1, array(Zend_Mail_Storage::FLAG_SEEN)); $message = $mail->getMessage(1); $this->assertTrue($message->hasFlag(Zend_Mail_Storage::FLAG_SEEN)); $this->assertFalse($message->hasFlag(Zend_Mail_Storage::FLAG_FLAGGED)); $mail->setFlags(1, array(Zend_Mail_Storage::FLAG_SEEN, Zend_Mail_Storage::FLAG_FLAGGED)); $message = $mail->getMessage(1); $this->assertTrue($message->hasFlag(Zend_Mail_Storage::FLAG_SEEN)); $this->assertTrue($message->hasFlag(Zend_Mail_Storage::FLAG_FLAGGED)); $mail->setFlags(1, array(Zend_Mail_Storage::FLAG_FLAGGED)); $message = $mail->getMessage(1); $this->assertFalse($message->hasFlag(Zend_Mail_Storage::FLAG_SEEN)); $this->assertTrue($message->hasFlag(Zend_Mail_Storage::FLAG_FLAGGED)); $mail->setFlags(1, array('myflag')); $message = $mail->getMessage(1); $this->assertFalse($message->hasFlag(Zend_Mail_Storage::FLAG_SEEN)); $this->assertFalse($message->hasFlag(Zend_Mail_Storage::FLAG_FLAGGED)); $this->assertTrue($message->hasFlag('myflag')); try { $mail->setFlags(1, array(Zend_Mail_Storage::FLAG_RECENT)); } catch (Exception $e) { return; // ok } $this->fail('should not be able to set recent flag'); }
} /** * 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 testFetchHeaderFolder() { $mail = new Zend_Mail_Storage_Imap($this->_params); $mail->selectFolder('subfolder/test'); $subject = $mail->getMessage(1)->subject; $this->assertEquals('Message in subfolder', $subject); }
<?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); }
/** * 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>'; }