package Default
inherited_from \Zend\Mail\Storage\AbstractStorage

 Methods

create instance with parameters Supported parameters 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']

__construct(array $params) 
inherited_from \Zend\Mail\Storage\AbstractStorage::__construct()

Parameters

$params

array

mail reader specific parameters

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException
\Zend\Mail\Storage\Exception\InvalidArgumentException
\Zend\Mail\Protocol\Exception\RuntimeException

Create instance with parameters

__construct(array $params) 
Inherited

Parameters

$params

array

mail reader specific parameters

Exceptions

\Zend\Mail\Storage\Exception\ExceptionInterface

Destructor calls close() and therefore closes the resource.

__destruct() 
Inherited

Getter for has-properties. The standard has properties are: hasFolder, hasUniqueid, hasDelete, hasCreate, hasTop

__get(string $var) : boolean
Inherited

The valid values for the has-properties are:

  • true if a feature is supported
  • false if a feature is not supported
  • null is it's not yet known or it can't be know if a feature is supported

Parameters

$var

string

property name

Exceptions

\Zend\Mail\Storage\Exception\InvalidArgumentException

Returns

booleansupported or not

append a new message to mail storage

appendMessage(string $message, null|string|\Zend\Mail\Storage\Folder $folder = null, null|array $flags = null
inherited_from \Zend\Mail\Storage\Writable\WritableInterface::appendMessage()

Parameters

$message

string

message as string or instance of message class

$folder

nullstring\Zend\Mail\Storage\Folder

folder for new message, else current folder is taken

$flags

nullarray

set flags for new message, else a default set is used

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException

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

close() 
inherited_from \Zend\Mail\Storage\AbstractStorage::close()

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

close() 
Inherited

copy an existing message

copyMessage(integer $id, string|\Zend\Mail\Storage\Folder $folder) 
inherited_from \Zend\Mail\Storage\Writable\WritableInterface::copyMessage()

Parameters

$id

integer

number of message

$folder

string\Zend\Mail\Storage\Folder

name or instance of target folder

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException

Countable::count()

count() : integer
Inherited

Returns

integer

Count messages all messages in current box

countMessages(null $flags = null) : integer
inherited_from \Zend\Mail\Storage\AbstractStorage::countMessages()

Parameters

$flags

null

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException
\Zend\Mail\Protocol\Exception\RuntimeException

Returns

integernumber of messages

Count messages messages in current box/folder

countMessages() : integer
Inherited

Exceptions

\Zend\Mail\Storage\Exception\ExceptionInterface

Returns

integernumber of messages

create a new folder

createFolder(string $name, string|\Zend\Mail\Storage\Folder $parentFolder = null

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

inherited_from \Zend\Mail\Storage\Writable\WritableInterface::createFolder()

Parameters

$name

string

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

$parentFolder

string\Zend\Mail\Storage\Folder

parent folder for new folder, else root folder is parent

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException

Iterator::current()

current() : \Zend\Mail\Storage\Message
Inherited

Returns

\Zend\Mail\Storage\Messagecurrent message

Get a full list of features supported by the specific mail lib and the server

getCapabilities() : array
Inherited

Returns

arraylist of features as array(feature_name => true|false[|null])

get \Zend\Mail\Storage\Folder instance for current folder

getCurrentFolder() : \Zend\Mail\Storage\Folder
inherited_from \Zend\Mail\Storage\Folder\FolderInterface::getCurrentFolder()

Returns

\Zend\Mail\Storage\Folderinstance of current folder

get root folder or given folder

getFolders(string $rootFolder = null) : \Zend\Mail\Storage\Folder
inherited_from \Zend\Mail\Storage\Folder\FolderInterface::getFolders()

Parameters

$rootFolder

string

get folder structure for given folder, else root

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException
\Zend\Mail\Storage\Exception\InvalidArgumentException
\Zend\Mail\Protocol\Exception\RuntimeException

Returns

\Zend\Mail\Storage\Folderroot or wanted folder

Fetch a message

getMessage(integer $id) : \Zend\Mail\Storage\Message
inherited_from \Zend\Mail\Storage\AbstractStorage::getMessage()

Parameters

$id

integer

number of message

Exceptions

\Zend\Mail\Protocol\Exception\RuntimeException

Returns

\Zend\Mail\Storage\Message

Get a message with headers and body

getMessage($id) : \Zend\Mail\Storage\Message
Inherited

Parameters

$id

int number of message

Returns

\Zend\Mail\Storage\Message

get a message number from a unique id

getNumberByUniqueId(string $id) : integer

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()

inherited_from \Zend\Mail\Storage\AbstractStorage::getNumberByUniqueId()

Parameters

$id

string

unique id

Exceptions

\Zend\Mail\Storage\Exception\InvalidArgumentException

Returns

integermessage number

get a message number from a unique id

getNumberByUniqueId(string $id) : integer
Inherited

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

$id

string

unique id

Exceptions

\Zend\Mail\Storage\Exception\ExceptionInterface

Returns

integermessage number

Get raw content of message or part

getRawContent(integer $id, null|array|string $part = null
inherited_from \Zend\Mail\Storage\AbstractStorage::getRawContent()

Parameters

$id

$part

Get raw content of message or part

getRawContent(integer $id, null|array|string $part = null) : string
Inherited

Parameters

$id

integer

number of message

$part

nullarraystring

path to part or null for message content

Returns

stringraw content

Get raw header of message or part

getRawHeader(integer $id, null|array|string $part = null, integer $topLines = 0
inherited_from \Zend\Mail\Storage\AbstractStorage::getRawHeader()

Parameters

$id

$part

$topLines

Get raw header of message or part

getRawHeader(integer $id, null|array|string $part = null, integer $topLines = 0) : string
Inherited

Parameters

$id

integer

number of message

$part

nullarraystring

path to part or null for message header

$topLines

integer

include this many lines with header (after an empty line)

Returns

stringraw header

get a list of messages with number and size

getSize(integer $id = 0) : integer | array
inherited_from \Zend\Mail\Storage\AbstractStorage::getSize()

Parameters

$id

integer

number of message

Exceptions

\Zend\Mail\Protocol\Exception\RuntimeException

Returns

integerarraysize of given message of list with all messages as array(num => size)

Get a list of messages with number and size

getSize(integer $id = 0) : integer | array
Inherited

Parameters

$id

integer

number of message

Returns

integerarraysize of given message of list with all messages as array(num => size)

get unique id for one or all messages

getUniqueId(integer|null $id = null) : array | string

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

inherited_from \Zend\Mail\Storage\AbstractStorage::getUniqueId()

Parameters

$id

integernull

message number

Exceptions

\Zend\Mail\Protocol\Exception\RuntimeException

Returns

arraystringmessage number for given message or all messages as array

get unique id for one or all messages

getUniqueId(integer|null $id = null) : array | string
Inherited

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

Parameters

$id

integernull

message number

Exceptions

\Zend\Mail\Storage\Exception\ExceptionInterface

Returns

arraystringmessage number for given message or all messages as array

Iterator::key()

key() : integer
Inherited

Returns

integerid of current position

move an existing message

moveMessage(integer $id, string|\Zend\Mail\Storage\Folder $folder) 

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

inherited_from \Zend\Mail\Storage\Writable\WritableInterface::moveMessage()

Parameters

$id

integer

number of message

$folder

string\Zend\Mail\Storage\Folder

name or instance of target folder

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException

Iterator::next()

next() 
Inherited

Keep the server busy.

noop() 
inherited_from \Zend\Mail\Storage\AbstractStorage::noop()

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException

Keep the resource alive.

noop() 
Inherited

ArrayAccess::offsetExists()

offsetExists(integer $id) : boolean
Inherited

Parameters

$id

integer

Returns

boolean

ArrayAccess::offsetGet()

offsetGet(integer $id) : \Zend\Mail\Storage\Message
Inherited

Parameters

$id

integer

Returns

\Zend\Mail\Storage\Messagemessage object

ArrayAccess::offsetSet()

offsetSet(mixed $id, mixed $value) 
Inherited

Parameters

$id

mixed

$value

mixed

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException

ArrayAccess::offsetUnset()

offsetUnset(integer $id) : boolean
Inherited

Parameters

$id

integer

Returns

booleansuccess

remove a folder

removeFolder(string|\Zend\Mail\Storage\Folder $name) 
inherited_from \Zend\Mail\Storage\Writable\WritableInterface::removeFolder()

Parameters

$name

string\Zend\Mail\Storage\Folder

name or instance of folder

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException

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

removeMessage(integer $id) 
inherited_from \Zend\Mail\Storage\AbstractStorage::removeMessage()

Parameters

$id

integer

number of message

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException

delete a message from current box/folder

removeMessage($id) 
Inherited

Parameters

$id

rename and/or move folder

renameFolder(string|\Zend\Mail\Storage\Folder $oldName, string $newName) 

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

inherited_from \Zend\Mail\Storage\Writable\WritableInterface::renameFolder()

Parameters

$oldName

string\Zend\Mail\Storage\Folder

name or instance of folder

$newName

string

new global name of folder

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException

Iterator::rewind()

rewind() 
Inherited

Rewind always gets the new count from the storage. Thus if you use the interfaces and your scripts take long you should use reset() from time to time.

SeekableIterator::seek()

seek(integer $pos) 
Inherited

Parameters

$pos

integer

Exceptions

\Zend\Mail\Storage\Exception\OutOfBoundsException

select given folder

selectFolder(\Zend\Mail\Storage\Folder|string $globalName) 

folder must be selectable!

inherited_from \Zend\Mail\Storage\Folder\FolderInterface::selectFolder()

Parameters

$globalName

\Zend\Mail\Storage\Folderstring

global name of folder or instance for subfolder

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException
\Zend\Mail\Protocol\Exception\RuntimeException

set flags for message

setFlags(integer $id, array $flags) 

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

inherited_from \Zend\Mail\Storage\Writable\WritableInterface::setFlags()

Parameters

$id

integer

number of message

$flags

array

new flags for message

Exceptions

\Zend\Mail\Storage\Exception\RuntimeException

Iterator::valid()

valid() : boolean
Inherited

Returns

boolean

 Properties

 

name of current folder

$currentFolder : string

Default

''
 

class capabilities with default values

$has : array

Default

array('uniqueid' => true, 'delete' => false, 'create' => false, 'top' => false, 'fetchPart' => true, 'flags' => false)
 

maximum iteration position (= message count)

$iterationMax : null | integer

Default

null
 

current iteration position

$iterationPos : integer

Default

0
 

IMAP flags to constants translation

$knownFlags : array

Default

array('\Passed' => \Zend\Mail\Storage::FLAG_PASSED, '\Answered' => \Zend\Mail\Storage::FLAG_ANSWERED, '\Seen' => \Zend\Mail\Storage::FLAG_SEEN, '\Unseen' => \Zend\Mail\Storage::FLAG_UNSEEN, '\Deleted' => \Zend\Mail\Storage::FLAG_DELETED, '\Draft' => \Zend\Mail\Storage::FLAG_DRAFT, '\Flagged' => \Zend\Mail\Storage::FLAG_FLAGGED)
Static
 

used message class, change it in an extended class to extend the returned message class

$messageClass : string

Default

'Zend\Mail\Storage\Message'
 

protocol handler

$protocol : null | \Zend\Mail\Protocol\Imap

Default

 

IMAP flags to search criteria

$searchFlags : array

Default

array('\Recent' => 'RECENT', '\Answered' => 'ANSWERED', '\Seen' => 'SEEN', '\Unseen' => 'UNSEEN', '\Deleted' => 'DELETED', '\Draft' => 'DRAFT', '\Flagged' => 'FLAGGED')
Static