API Documentation

Zend/Mail/Storage/Mbox.php

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

Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_Mail  
Subpackage
Storage  
Version
$Id: Mbox.php 24594 2012-01-05 21:27:01Z matthew $  

\Zend_Mail_Storage_Mbox

Package: Zend\Mail\Storage

Parent(s)
\Zend_Mail_Storage_Abstract
Children
\Zend_Mail_Storage_Folder_Mbox
Category
Zend  
Copyright
Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Properties

Propertyprotectednull|resource  $_fh= ''

file handle to mbox file

Details
Type
nullresource
Propertyprotectedint  $_filemtime= ''

modification date of mbox file for __wakeup

Details
Type
int
Propertyprotectedstring  $_filename= ''

filename of mbox file for __wakeup

Details
Type
string
Propertyprotectedstring  $_messageClass= ''Zend_Mail_Message_File''

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

Default value'Zend_Mail_Message_File'Details
Type
string
Propertyprotectedarray  $_positions= ''

start and end position of messages as array('start' => start, 'seperator' => headersep, 'end' => end)

Details
Type
array

Methods

methodpublic__construct( array $params ) : void

Create instance with parameters Supported parameters are: - filename filename of mbox file

Parameters
Name Type Description
$params array

mail reader specific parameters

Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublic__sleep( ) : array

magic method for serialize()

with this method you can cache the mbox class

Returns
Type Description
array name of variables
methodpublic__wakeup( ) : null

magic method for unserialize()

with this method you can cache the mbox class for cache validation the mtime of the mbox file is used

Returns
Type Description
null
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodprotected_getPos( int $id ) : array

Get positions for mail message or throw exeption if id is invalid

Parameters
Name Type Description
$id int

number of message

Returns
Type Description
array positions as in _positions
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodprotected_isMboxFile( resource|string $file, bool $fileIsString = true ) : bool

check if given file is a mbox file

if $file is a resource its file pointer is moved after the first line

Parameters
Name Type Description
$file resource|string

stream resource of name of file

$fileIsString bool

file is string or resource

Returns
Type Description
bool file is mbox file
methodprotected_openMboxFile( string $filename ) : null

open given file as current mbox file

Parameters
Name Type Description
$filename string

filename of mbox file

Returns
Type Description
null
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublicclose( ) : void

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

methodpubliccountMessages( ) : int

Count messages all messages in current box

Returns
Type Description
int number of messages
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublicgetMessage( int $id ) : \Zend_Mail_Message_File

Fetch a message

Parameters
Name Type Description
$id int

number of message

Returns
Type Description
\Zend_Mail_Message_File
Throws
Exception Description
\Zend_Mail_Storage_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
Name Type Description
$id string

unique id

Returns
Type Description
int message number
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublicgetRawContent(  $id,  $part = null ) : void

Parameters
Name Type Description
$id
$part
methodpublicgetRawHeader(  $id,  $part = null,  $topLines = 0 ) : void

Parameters
Name Type Description
$id
$part
$topLines
methodpublicgetSize( int|null $id = 0 ) : int|array

Get a list of messages with number and size

Parameters
Name Type Description
$id int|null

number of message or null for all messages

Returns
Type Description
int|array size of given message of list with all messages as array(num => size)
methodpublicgetUniqueId( int|null $id = null ) : array|string

get unique id for one or all messages

Mbox does not support unique ids (yet) - it's always the same as the message number. That shouldn't be a problem, because we can't change mbox files. Therefor the message number is save enough.

Parameters
Name Type Description
$id int|null

message number

Returns
Type Description
array|string message number for given message or all messages as array
Throws
Exception Description
\Zend_Mail_Storage_Exception
methodpublicnoop( ) : void

Waste some CPU cycles doing nothing.

methodpublicremoveMessage(  $id ) : null

stub for not supported message deletion

Parameters
Name Type Description
$id
Returns
Type Description
null
Throws
Exception Description
\Zend_Mail_Storage_Exception
Documentation was generated by DocBlox 0.15.1.