Exemplo n.º 1
0
 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());
         }
     }
 }
Exemplo n.º 2
0
/**
 * 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>';
}
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
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';
Exemplo n.º 6
0
 public function testCountFolder()
 {
     $mail = new Zend_Mail_Storage_Imap($this->_params);
     $mail->selectFolder('subfolder/test');
     $count = $mail->countMessages();
     $this->assertEquals(1, $count);
 }
Exemplo n.º 7
0
<?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';
}