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 license@zend.com so we can send you a copy immediately.

__construct(
array $params
)
:
void
Create instance with parameters Additional parameters are (see parent for more): - create if true a new maildir is create if none exists
Name | Type | Description |
---|---|---|
$params | array | mail reader specific parameters |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |

_calculateMaildirsize(
)
:
void

_calculateQuota(
$forceRecalc
=
false
)
:
void
Name | Type | Description |
---|---|---|
$forceRecalc |

_createTmpFile(
string $folder
=
'INBOX'
)
:
array
open a temporary maildir file
makes sure tmp/ exists and create a file with a unique name you should close the returned filehandle!
Name | Type | Description |
---|---|---|
$folder | string | name of current folder without leading . |
Type | Description |
---|---|
array | array('dirname' => dir of maildir folder, 'uniq' => unique id, 'filename' => name of create file 'handle' => file opened for writing) |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |

_createUniqueId(
)
:
string
create a uniqueid for maildir filename
This is nearly the format defined in the maildir standard. The microtime() call should already create a uniqueid, the pid is for multicore/-cpu machine that manage to call this function at the exact same time, and uname() gives us the hostname for multiple machines accessing the same storage.
If someone disables posix we create a random number of the same size, so this method should also work on Windows - if you manage to get maildir working on Windows. Microtime could also be disabled, altough I've never seen it.
Type | Description |
---|---|
string | new uniqueid |

_getInfoString(
array $flags
)
:
string
create an info string for filenames with given flags
Name | Type | Description |
---|---|---|
$flags | array | wanted flags, with the reference you'll get the set flags with correct key (= char for flag) |
Type | Description |
---|---|
string | info string for version 2 filenames including the leading colon |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |

appendMessage(
string|\stream $message, null|string|\Zend_Mail_Storage_Folder $folder
=
null, null|array $flags
=
null, bool $recent
=
false
)
:
void
append a new message to mail storage
Name | Type | Description |
---|---|---|
$message | string|\stream | message as string or stream resource |
$folder | null|string|\Zend_Mail_Storage_Folder | folder for new message, else current folder is taken |
$flags | null|array | set flags for new message, else a default set is used |
$recent | bool | handle this mail as if recent flag has been set, should only be used in delivery |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |

checkQuota(
bool $detailedResponse
=
false, $forceRecalc
=
false
)
:
bool|array
check if storage is currently over quota
Name | Type | Description |
---|---|---|
$detailedResponse | bool | return known data of quota and current size and message count @see _calculateQuota() |
$forceRecalc |
Type | Description |
---|---|
bool|array | over quota state or detailed response |

copyMessage(
int $id, string|\Zend_Mail_Storage_Folder $folder
)
:
null
copy an existing message
Name | Type | Description |
---|---|---|
$id | int | number of message |
$folder | string|\Zend_Mail_Storage_Folder | name or instance of targer folder |
Type | Description |
---|---|
null |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |

createFolder(
string $name, string|\Zend_Mail_Storage_Folder $parentFolder
=
null
)
:
string
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
Name | Type | Description |
---|---|---|
$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 |
Type | Description |
---|---|
string | only used internally (new created maildir) |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |

getQuota(
$fromStorage
=
false
)
:
bool|array
get currently set quota
Name | Type | Description |
---|---|---|
$fromStorage |
Type | Description |
---|---|
bool|array |

initMaildir(
string $dir
)
:
null
create a new maildir
If the given dir is already a valid maildir this will not fail.
Name | Type | Description |
---|---|---|
$dir | string | directory for the new maildir (may already exist) |
Type | Description |
---|---|
null |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |

moveMessage(
int $id, string|\Zend_Mail_Storage_Folder $folder
)
:
null
move an existing message
Name | Type | Description |
---|---|---|
$id | int | number of message |
$folder | string|\Zend_Mail_Storage_Folder | name or instance of targer folder |
Type | Description |
---|---|
null |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |

removeFolder(
string|\Zend_Mail_Storage_Folder $name
)
:
null
remove a folder
Name | Type | Description |
---|---|---|
$name | string|\Zend_Mail_Storage_Folder | name or instance of folder |
Type | Description |
---|---|
null |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |

removeMessage(
$id
)
:
null
stub for not supported message deletion
Name | Type | Description |
---|---|---|
$id |
Type | Description |
---|---|
null |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |

renameFolder(
string|\Zend_Mail_Storage_Folder $oldName, string $newName
)
:
null
rename and/or move folder
The new name has the same restrictions as in createFolder()
Name | Type | Description |
---|---|---|
$oldName | string|\Zend_Mail_Storage_Folder | name or instance of folder |
$newName | string | new global name of folder |
Type | Description |
---|---|
null |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |

setFlags(
int $id, array $flags
)
:
void
set flags for message
NOTE: this method can't set the recent flag.
Name | Type | Description |
---|---|---|
$id | int | number of message |
$flags | array | new flags for message |
Exception | Description |
---|---|
\Zend_Mail_Storage_Exception |

setQuota(
bool|array $value
)
:
null
enable/disable quota and set a quota value if wanted or needed
You can enable/disable quota with true/false. If you don't have a MDA or want to enforce a quota value you can also set this value here. Use array('size' => SIZE_QUOTA, 'count' => MAX_MESSAGE) do define your quota. Order of these fields does matter!
Name | Type | Description |
---|---|---|
$value | bool|array | new quota value |
Type | Description |
---|---|
null |