Mail/Storage/Imap.php

Show: PublicProtectedPrivateinherited
Table of Contents
Zend Framework
LICENSE This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to [email protected] so we can send you a copy immediately.
Category
Zend  
Copyright
Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_Mail  
Subpackage
Storage  
Version
$Id$  

\Zend_Mail_Storage_Imap

Package: Zend_Mail\Storage
Implements
Parent(s)
\Zend_Mail_Storage_Abstract
Category
Zend  
Copyright
Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Properties

>VPropertyprotectedstring $_currentFolder = ''
name of current folder
Default value''Details
Type
string
>VPropertyprotectedarray $_knownFlags = array('\Passed' => \Zend_Mail_Storage::FLAG_PASSED, '\Answered' => \Zend_Mail_Storage::FLAG_ANSWERED, '\Seen' => \Zend_Mail_Storage::FLAG_SEEN, '\Deleted' => \Zend_Mail_Storage::FLAG_DELETED, '\Draft' => \Zend_Mail_Storage::FLAG_DRAFT, '\Flagged' => \Zend_Mail_Storage::FLAG_FLAGGED)
static
imap flags to constants translation
Default valuearray('\Passed' => \Zend_Mail_Storage::FLAG_PASSED, '\Answered' => \Zend_Mail_Storage::FLAG_ANSWERED, '\Seen' => \Zend_Mail_Storage::FLAG_SEEN, '\Deleted' => \Zend_Mail_Storage::FLAG_DELETED, '\Draft' => \Zend_Mail_Storage::FLAG_DRAFT, '\Flagged' => \Zend_Mail_Storage::FLAG_FLAGGED)Details
Type
array
>VPropertyprotectednull|\Zend_Mail_Protocol_Imap $_protocol
protocol handler
Details
Type
null | \Zend_Mail_Protocol_Imap
>VPropertyprotectedarray $_searchFlags = array('\Recent' => 'RECENT', '\Answered' => 'ANSWERED', '\Seen' => 'SEEN', '\Deleted' => 'DELETED', '\Draft' => 'DRAFT', '\Flagged' => 'FLAGGED')
static
map flags to search criterias
Default valuearray('\Recent' => 'RECENT', '\Answered' => 'ANSWERED', '\Seen' => 'SEEN', '\Deleted' => 'DELETED', '\Draft' => 'DRAFT', '\Flagged' => 'FLAGGED')Details
Type
array

Methods

methodpublic__construct(array $params) : void

create instance with parameters Supported paramters are - user username - host hostname or ip address of IMAP server [optional, default = 'localhost'] - password password for user 'username' [optional, default = ''] - port port for IMAP server [optional, default = 110] - ssl 'SSL' or 'TLS' for secure sockets - folder select this folder [optional, default = 'INBOX']

Parameters
NameTypeDescription
$paramsarray

mail reader specific parameters

Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
\Zend_Mail_Protocol_Exception
methodpublicappendMessage( $message,  $folder = null,  $flags = null) : void

Parameters
NameTypeDescription
$message
$folder
$flags
methodpublicclose() : null

Close resource for mail lib. If you need to control, when the resource is closed. Otherwise the destructor would call this.

Returns
TypeDescription
null
methodpubliccopyMessage(int $id, string | \Zend_Mail_Storage_Folder $folder) : null

copy an existing message

Parameters
NameTypeDescription
$idint

number of message

$folderstring | \Zend_Mail_Storage_Folder

name or instance of targer folder

Returns
TypeDescription
null
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpubliccountMessages( $flags = null) : int

Count messages all messages in current box

Parameters
NameTypeDescription
$flags
Returns
TypeDescription
intnumber of messages
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
\Zend_Mail_Protocol_Exception
methodpubliccreateFolder(string $name, string | \Zend_Mail_Storage_Folder $parentFolder = null) : null

create a new folder

This method also creates parent folders if necessary. Some mail storages may restrict, which folder may be used as parent or which chars may be used in the folder name
Parameters
NameTypeDescription
$namestring

global name of folder, local name if $parentFolder is set

$parentFolderstring | \Zend_Mail_Storage_Folder

parent folder for new folder, else root folder is parent

Returns
TypeDescription
null
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicgetCurrentFolder() : \Zend_Mail_Storage_Folder

get Zend_Mail_Storage_Folder instance for current folder

Returns
TypeDescription
\Zend_Mail_Storage_Folderinstance of current folder
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicgetFolders(string $rootFolder = null) : \Zend_Mail_Storage_Folder

get root folder or given folder

Parameters
NameTypeDescription
$rootFolderstring

get folder structure for given folder, else root

Returns
TypeDescription
\Zend_Mail_Storage_Folderroot or wanted folder
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
\Zend_Mail_Protocol_Exception
methodpublicgetMessage(int $id) : \Zend_Mail_Message

Fetch a message

Parameters
NameTypeDescription
$idint

number of message

Returns
TypeDescription
\Zend_Mail_Message
Throws
ExceptionDescription
\Zend_Mail_Protocol_Exception
methodpublicgetNumberByUniqueId(string $id) : int

get a message number from a unique id

I.e. if you have a webmailer that supports deleting messages you should use unique ids as parameter and use this method to translate it to message number right before calling removeMessage()
Parameters
NameTypeDescription
$idstring

unique id

Returns
TypeDescription
intmessage number
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicgetRawContent( $id,  $part = null) : void

Parameters
NameTypeDescription
$id
$part
methodpublicgetRawHeader( $id,  $part = null,  $topLines = 0) : void

Parameters
NameTypeDescription
$id
$part
$topLines
methodpublicgetSize(int $id = 0) : int | array

get a list of messages with number and size

Parameters
NameTypeDescription
$idint

number of message

Returns
TypeDescription
int | arraysize of given message of list with all messages as array(num => size)
Throws
ExceptionDescription
\Zend_Mail_Protocol_Exception
methodpublicgetUniqueId(int | null $id = null) : array | string

get unique id for one or all messages

if storage does not support unique ids it's the same as the message number
Parameters
NameTypeDescription
$idint | null

message number

Returns
TypeDescription
array | stringmessage number for given message or all messages as array
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicmoveMessage(int $id, string | \Zend_Mail_Storage_Folder $folder) : null

move an existing message

NOTE: imap has no native move command, thus it's emulated with copy and delete
Parameters
NameTypeDescription
$idint

number of message

$folderstring | \Zend_Mail_Storage_Folder

name or instance of targer folder

Returns
TypeDescription
null
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicnoop() : null

Keep the server busy.

Returns
TypeDescription
null
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicremoveFolder(string | \Zend_Mail_Storage_Folder $name) : null

remove a folder

Parameters
NameTypeDescription
$namestring | \Zend_Mail_Storage_Folder

name or instance of folder

Returns
TypeDescription
null
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicremoveMessage(int $id) : null

Remove a message from server. If you're doing that from a web enviroment you should be careful and use a uniqueid as parameter if possible to identify the message.

Parameters
NameTypeDescription
$idint

number of message

Returns
TypeDescription
null
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicrenameFolder(string | \Zend_Mail_Storage_Folder $oldName, string $newName) : null

rename and/or move folder

The new name has the same restrictions as in createFolder()
Parameters
NameTypeDescription
$oldNamestring | \Zend_Mail_Storage_Folder

name or instance of folder

$newNamestring

new global name of folder

Returns
TypeDescription
null
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
methodpublicselectFolder(\Zend_Mail_Storage_Folder | string $globalName) : null

select given folder

folder must be selectable!
Parameters
NameTypeDescription
$globalName\Zend_Mail_Storage_Folder | string

global name of folder or instance for subfolder

Returns
TypeDescription
null
Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
\Zend_Mail_Protocol_Exception
methodpublicsetFlags(int $id, array $flags) : void

set flags for message

NOTE: this method can't set the recent flag.
Parameters
NameTypeDescription
$idint

number of message

$flagsarray

new flags for message

Throws
ExceptionDescription
\Zend_Mail_Storage_Exception
Documentation was generated by phpDocumentor 2.2.0 .