Zend Framework  1.12
Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
Zend_Mail_Storage_Imap Class Reference

Public Member Functions

 countMessages ($flags=null)
 Count messages all messages in current box.
 
 getSize ($id=0)
 get a list of messages with number and size
 
 getMessage ($id)
 Fetch a message.
 
 getRawHeader ($id, $part=null, $topLines=0)
 
 getRawContent ($id, $part=null)
 
 __construct ($params)
 create instance with parameters Supported paramters are
 
 close ()
 Close resource for mail lib.
 
 noop ()
 Keep the server busy.
 
 removeMessage ($id)
 Remove a message from server.
 
 getUniqueId ($id=null)
 get unique id for one or all messages
 
 getNumberByUniqueId ($id)
 get a message number from a unique id
 
 getFolders ($rootFolder=null)
 get root folder or given folder
 
 selectFolder ($globalName)
 select given folder
 
 getCurrentFolder ()
 get Zend_Mail_Storage_Folder instance for current folder
 
 createFolder ($name, $parentFolder=null)
 create a new folder
 
 removeFolder ($name)
 remove a folder
 
 renameFolder ($oldName, $newName)
 rename and/or move folder
 
 appendMessage ($message, $folder=null, $flags=null)
 append a new message to mail storage
 
 copyMessage ($id, $folder)
 copy an existing message
 
 moveMessage ($id, $folder)
 move an existing message
 
 setFlags ($id, $flags)
 set flags for message
 
- Public Member Functions inherited from Zend_Mail_Storage_Abstract
 __get ($var)
 Getter for has-properties.
 
 getCapabilities ()
 Get a full list of features supported by the specific mail lib and the server.
 
 countMessages ()
 Count messages messages in current box/folder.
 
 getSize ($id=0)
 Get a list of messages with number and size.
 
 getMessage ($id)
 Get a message with headers and body.
 
 getRawHeader ($id, $part=null, $topLines=0)
 Get raw header of message or part.
 
 getRawContent ($id, $part=null)
 Get raw content of message or part.
 
 __construct ($params)
 Create instance with parameters.
 
 __destruct ()
 Destructor calls close() and therefore closes the resource.
 
 close ()
 Close resource for mail lib.
 
 noop ()
 Keep the resource alive.
 
 removeMessage ($id)
 delete a message from current box/folder
 
 getUniqueId ($id=null)
 get unique id for one or all messages
 
 getNumberByUniqueId ($id)
 get a message number from a unique id
 
 count ()
 Countable::count()
 
 offsetExists ($id)
 ArrayAccess::offsetExists()
 
 offsetGet ($id)
 ArrayAccess::offsetGet()
 
 offsetSet ($id, $value)
 ArrayAccess::offsetSet()
 
 offsetUnset ($id)
 ArrayAccess::offsetUnset()
 
 rewind ()
 Iterator::rewind()
 
 current ()
 Iterator::current()
 
 key ()
 Iterator::key()
 
 next ()
 Iterator::next()
 
 valid ()
 Iterator::valid()
 
 seek ($pos)
 SeekableIterator::seek()
 

Protected Attributes

 $_protocol
 
 $_currentFolder = ''
 
- Protected Attributes inherited from Zend_Mail_Storage_Abstract
 $_has
 
 $_iterationPos = 0
 
 $_iterationMax = null
 
 $_messageClass = 'Zend_Mail_Message'
 

Static Protected Attributes

static $_knownFlags
 
static $_searchFlags
 

Constructor & Destructor Documentation

__construct (   $params)

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
array$paramsmail reader specific parameters
Exceptions
Zend_Mail_Storage_Exception
Zend_Mail_Protocol_Exception
See Also
Zend_Mail_Storage_Exception
Zend_Mail_Storage_Exception
Zend_Mail_Storage_Exception

Member Function Documentation

appendMessage (   $message,
  $folder = null,
  $flags = null 
)

append a new message to mail storage

Parameters
string$messagemessage as string or instance of message class
null | string | Zend_Mail_Storage_Folder$folderfolder for new message, else current folder is taken
null | array$flagsset flags for new message, else a default set is used
Exceptions
Zend_Mail_Storage_Exception
See Also
Zend_Mail_Storage_Exception

Implements Zend_Mail_Storage_Writable_Interface.

close ( )

Close resource for mail lib.

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

Returns
null
copyMessage (   $id,
  $folder 
)

copy an existing message

Parameters
int$idnumber of message
string | Zend_Mail_Storage_Folder$foldername or instance of targer folder
Returns
null
Exceptions
Zend_Mail_Storage_Exception
See Also
Zend_Mail_Storage_Exception

Implements Zend_Mail_Storage_Writable_Interface.

countMessages (   $flags = null)

Count messages all messages in current box.

Returns
int number of messages
Exceptions
Zend_Mail_Storage_Exception
Zend_Mail_Protocol_Exception
See Also
Zend_Mail_Storage_Exception
createFolder (   $name,
  $parentFolder = 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
string$nameglobal name of folder, local name if $parentFolder is set
string | Zend_Mail_Storage_Folder$parentFolderparent folder for new folder, else root folder is parent
Returns
null
Exceptions
Zend_Mail_Storage_Exception
See Also
Zend_Mail_Storage_Exception

Implements Zend_Mail_Storage_Writable_Interface.

getCurrentFolder ( )

get Zend_Mail_Storage_Folder instance for current folder

Returns
Zend_Mail_Storage_Folder instance of current folder
Exceptions
Zend_Mail_Storage_Exception

Implements Zend_Mail_Storage_Folder_Interface.

getFolders (   $rootFolder = null)

get root folder or given folder

Parameters
string$rootFolderget folder structure for given folder, else root
Returns
Zend_Mail_Storage_Folder root or wanted folder
Exceptions
Zend_Mail_Storage_Exception
Zend_Mail_Protocol_Exception
See Also
Zend_Mail_Storage_Exception
Zend_Mail_Storage_Exception

Implements Zend_Mail_Storage_Folder_Interface.

getMessage (   $id)

Fetch a message.

Parameters
int$idnumber of message
Returns
Zend_Mail_Message
Exceptions
Zend_Mail_Protocol_Exception
getNumberByUniqueId (   $id)

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
string$idunique id
Returns
int message number
Exceptions
Zend_Mail_Storage_Exception
See Also
Zend_Mail_Storage_Exception
getRawContent (   $id,
  $part = null 
)
getRawHeader (   $id,
  $part = null,
  $topLines = 0 
)
getSize (   $id = 0)

get a list of messages with number and size

Parameters
int$idnumber of message
Returns
int|array size of given message of list with all messages as array(num => size)
Exceptions
Zend_Mail_Protocol_Exception
getUniqueId (   $id = null)

get unique id for one or all messages

if storage does not support unique ids it's the same as the message number

Parameters
int | null$idmessage number
Returns
array|string message number for given message or all messages as array
Exceptions
Zend_Mail_Storage_Exception
moveMessage (   $id,
  $folder 
)

move an existing message

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

Parameters
int$idnumber of message
string | Zend_Mail_Storage_Folder$foldername or instance of targer folder
Returns
null
Exceptions
Zend_Mail_Storage_Exception

Implements Zend_Mail_Storage_Writable_Interface.

noop ( )

Keep the server busy.

Returns
null
Exceptions
Zend_Mail_Storage_Exception
See Also
Zend_Mail_Storage_Exception
removeFolder (   $name)

remove a folder

Parameters
string | Zend_Mail_Storage_Folder$namename or instance of folder
Returns
null
Exceptions
Zend_Mail_Storage_Exception
See Also
Zend_Mail_Storage_Exception

Implements Zend_Mail_Storage_Writable_Interface.

removeMessage (   $id)

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
int$idnumber of message
Returns
null
Exceptions
Zend_Mail_Storage_Exception
See Also
Zend_Mail_Storage_Exception
Zend_Mail_Storage_Exception
renameFolder (   $oldName,
  $newName 
)

rename and/or move folder

The new name has the same restrictions as in createFolder()

Parameters
string | Zend_Mail_Storage_Folder$oldNamename or instance of folder
string$newNamenew global name of folder
Returns
null
Exceptions
Zend_Mail_Storage_Exception
See Also
Zend_Mail_Storage_Exception

Implements Zend_Mail_Storage_Writable_Interface.

selectFolder (   $globalName)

select given folder

folder must be selectable!

Parameters
Zend_Mail_Storage_Folder | string$globalNameglobal name of folder or instance for subfolder
Returns
null
Exceptions
Zend_Mail_Storage_Exception
Zend_Mail_Protocol_Exception
See Also
Zend_Mail_Storage_Exception

Implements Zend_Mail_Storage_Folder_Interface.

setFlags (   $id,
  $flags 
)

set flags for message

NOTE: this method can't set the recent flag.

Parameters
int$idnumber of message
array$flagsnew flags for message
Exceptions
Zend_Mail_Storage_Exception
See Also
Zend_Mail_Storage_Exception

Implements Zend_Mail_Storage_Writable_Interface.

Member Data Documentation

$_currentFolder = ''
protected
$_knownFlags
staticprotected
$_protocol
protected
$_searchFlags
staticprotected
Initial value:
= array('\Recent' => 'RECENT',
'\Answered' => 'ANSWERED',
'\Seen' => 'SEEN',
'\Deleted' => 'DELETED',
'\Draft' => 'DRAFT',
'\Flagged' => 'FLAGGED')