echo "Unable to login! reason:" . $ret->getMessage() . "\n"; exit(); } */ if (PEAR::isError($ret = $imap->login($user, $passwd))) { echo "Unable to login! reason:" . $ret->getMessage() . "\n"; exit; } /********************* *** Let's show the Mailbox related methods *** *********************/ $imap->selectMailbox('inbox'); //$mailboxes=$imap->getMailboxes(''); $mailboxes = $imap->getMailboxes('inbox.INBOX2', 2); $mailboxes = $imap->getMailboxes('inbox'); //$mailboxes=$imap->listsubscribedMailboxes('inbox'); echo "Here is the list of all mailboxes:\n\n"; prettyMailboxList($imap, $mailboxes); $mailboxes = $imap->listsubscribedMailboxes('inbox'); echo "Here is the list of all mailboxes you are subscribed:\n\n"; prettyMailboxList($imap, $mailboxes); //$mailboxes=0; //echo "PITERROR|" . print_r( $imap->_socket->eof()) . "|\n"; //echo $imap->getDebugDialog(); //exit(); $folder_delim = $imap->getHierarchyDelimiter(); echo "Folder Delim:|{$folder_delim}|\n"; $mailbox = 'INBOX' . $folder_delim . 'INBOX2'; echo "Getting the summary of message 1\n";
function getImapFolders(MailAccount $account) { if ($account->getIncomingSsl()) { $imap = new Net_IMAP($ret, "ssl://" . $account->getServer(), $account->getIncomingSslPort()); } else { $imap = new Net_IMAP($ret, "tcp://" . $account->getServer()); } if (PEAR::isError($ret)) { //Logger::log($ret->getMessage()); throw new Exception($ret->getMessage()); } $ret = $imap->login($account->getEmail(), self::ENCRYPT_DECRYPT($account->getPassword())); if ($ret !== true || PEAR::isError($ret)) { //Logger::log($ret->getMessage()); throw new Exception($ret->getMessage()); } $result = array(); if ($ret === true) { $mailboxes = $imap->getMailboxes('', 0, true); if (is_array($mailboxes)) { foreach ($mailboxes as $mbox) { $select = true; $attributes = array_var($mbox, 'ATTRIBUTES'); if (is_array($attributes)) { foreach ($attributes as $att) { if (strtolower($att) == "\\noselect") { $select = false; } if (!$select) { break; } } } $name = array_var($mbox, 'MAILBOX'); if ($select && isset($name)) { $result[] = utf8_encode($name); } } } } $imap->disconnect(); return $result; }
$imapClient->login($username1, $password1, true, false); $imapClient->selectMailbox($testFolder); if (!empty($username2) && !empty($password2)) { $elapsedTime = microtime(true) - $startTime; print "<h1> {$elapsedTime} :: Login as user {$username2} </h1>"; $imapClient2 = new Net_IMAP($host); $imapClient2->setDebug(true); $imapClient2->login($username2, $password2, true, false); } $elapsedTime = microtime(true) - $startTime; print "<h1> {$elapsedTime} :: Getting hierarchy delimiter </h1>"; $delimiter = $imapClient->getHierarchyDelimiter(); print "delimiter is: {$delimiter}<br>"; $elapsedTime = microtime(true) - $startTime; print "<h1> {$elapsedTime} :: List all folders </h1>"; $imapClient->getMailboxes(); $elapsedTime = microtime(true) - $startTime; print "<h1> {$elapsedTime} :: List all subscribed folders </h1>"; $imapClient->listsubscribedMailboxes(); $elapsedTime = microtime(true) - $startTime; print "<h1> {$elapsedTime} :: Checking for ACL support: "; if ($imapClient->hasCapability('ACL')) { print "<span style='color:green;'>supported</span></h1>"; $imapClient->getMyRights($testFolder); $imapClient->getACLRights($username1, $testFolder); if (!empty($username2)) { $imapClient->setACL($testFolder, $username2, 'lrswipcda'); $imapClient->getACLRights($username2, $testFolder); $imapClient->deleteACL($testFolder, $username2); $imapClient->getACLRights($username2, $testFolder); }