Definition at line 48 of file Mbox.php.
◆ __construct()
Create instance with parameters Supported parameters are:
- filename filename of mbox file
- Parameters
-
array | $params | mail reader specific parameters |
- Exceptions
-
- See also
- Zend_Mail_Storage_Exception
Definition at line 222 of file Mbox.php.
228 if (!isset(
$params->filename) ) {
232 #require_once 'Zend/Mail/Storage/Exception.php'; 237 $this->_has[
'top'] =
true;
238 $this->_has[
'uniqueid'] =
false;
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
◆ __sleep()
magic method for serialize()
with this method you can cache the mbox class
- Returns
- array name of variables
Definition at line 416 of file Mbox.php.
418 return array(
'_filename',
'_positions',
'_filemtime');
◆ __wakeup()
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
- null
- Exceptions
-
- See also
- Zend_Mail_Storage_Exception
Definition at line 430 of file Mbox.php.
432 if ($this->_filemtime != @filemtime($this->_filename)) {
436 $this->_fh = @
fopen($this->_filename,
'r');
441 #require_once 'Zend/Mail/Storage/Exception.php';
◆ _getPos()
Get positions for mail message or throw exeption if id is invalid
- Parameters
-
- Returns
- array positions as in _positions
- Exceptions
-
- See also
- Zend_Mail_Storage_Exception
Definition at line 121 of file Mbox.php.
123 if (!isset($this->_positions[
$id - 1])) {
127 #require_once 'Zend/Mail/Storage/Exception.php'; 131 return $this->_positions[
$id - 1];
◆ _isMboxFile()
_isMboxFile |
( |
|
$file, |
|
|
|
$fileIsString = true |
|
) |
| |
|
protected |
check if given file is a mbox file
if $file is a resource its file pointer is moved after the first line
- Parameters
-
resource | string | $file | stream resource of name of file |
bool | $fileIsString | file is string or resource |
- Returns
- bool file is mbox file
Definition at line 250 of file Mbox.php.
253 $file = @
fopen($file,
'r');
263 $line = fgets($file);
264 if (strpos($line,
'From ') === 0) {
◆ _openMboxFile()
_openMboxFile |
( |
|
$filename | ) |
|
|
protected |
open given file as current mbox file
- Parameters
-
string | $filename | filename of mbox file |
- Returns
- null
- Exceptions
-
- See also
- Zend_Mail_Storage_Exception
-
Zend_Mail_Storage_Exception
Definition at line 282 of file Mbox.php.
288 $this->_fh = @
fopen($filename,
'r');
293 #require_once 'Zend/Mail/Storage/Exception.php'; 296 $this->_filename = $filename;
297 $this->_filemtime = filemtime($this->_filename);
304 #require_once 'Zend/Mail/Storage/Exception.php'; 308 $messagePos = array(
'start' => ftell($this->_fh),
'separator' => 0,
'end' => 0);
309 while (($line = fgets($this->_fh)) !==
false) {
310 if (strpos($line,
'From ') === 0) {
311 $messagePos[
'end'] = ftell($this->_fh) - strlen($line) - 2;
312 if (!$messagePos[
'separator']) {
313 $messagePos[
'separator'] = $messagePos[
'end'];
315 $this->_positions[] = $messagePos;
316 $messagePos = array(
'start' => ftell($this->_fh),
'separator' => 0,
'end' => 0);
318 if (!$messagePos[
'separator'] && !trim($line)) {
319 $messagePos[
'separator'] = ftell($this->_fh);
323 $messagePos[
'end'] = ftell($this->_fh);
324 if (!$messagePos[
'separator']) {
325 $messagePos[
'separator'] = $messagePos[
'end'];
327 $this->_positions[] = $messagePos;
_isMboxFile($file, $fileIsString=true)
◆ close()
Close resource for mail lib. If you need to control, when the resource is closed. Otherwise the destructor would call this.
- Returns
- void
Definition at line 336 of file Mbox.php.
339 $this->_positions = array();
◆ countMessages()
Count messages all messages in current box
- Returns
- int number of messages
- Exceptions
-
Definition at line 86 of file Mbox.php.
88 return count($this->_positions);
◆ getMessage()
Fetch a message
- Parameters
-
- Returns
- Zend_Mail_Message_File
- Exceptions
-
Definition at line 142 of file Mbox.php.
145 if (strtolower($this->_messageClass) ==
'zend_mail_message_file' ||
is_subclass_of($this->_messageClass,
'zend_mail_message_file')) {
148 return new $this->_messageClass(array(
'file' => $this->_fh,
'startPos' => $messagePos[
'start'],
149 'endPos' => $messagePos[
'end']));
158 while ($bodyLines-- && ftell($this->_fh) < $this->_positions[
$id - 1][
'end']) {
163 return new $this->_messageClass(array(
'handler' => $this,
'id' =>
$id,
'headers' =>
$message));
is_subclass_of($obj, $className)
getRawHeader($id, $part=null, $topLines=0)
◆ getNumberByUniqueId()
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
-
- Returns
- int message number
- Exceptions
-
Definition at line 402 of file Mbox.php.
◆ getRawContent()
getRawContent |
( |
|
$id, |
|
|
|
$part = null |
|
) |
| |
- See also
- Zend_Mail_Storage_Exception
Definition at line 200 of file Mbox.php.
202 if ($part !==
null) {
207 #require_once 'Zend/Mail/Storage/Exception.php'; 211 return stream_get_contents($this->_fh, $messagePos[
'end'] - $messagePos[
'separator'], $messagePos[
'separator']);
◆ getRawHeader()
getRawHeader |
( |
|
$id, |
|
|
|
$part = null , |
|
|
|
$topLines = 0 |
|
) |
| |
- See also
- Zend_Mail_Storage_Exception
Definition at line 176 of file Mbox.php.
178 if ($part !==
null) {
183 #require_once 'Zend/Mail/Storage/Exception.php'; 188 return stream_get_contents($this->_fh, $messagePos[
'separator'] - $messagePos[
'start'], $messagePos[
'start']);
◆ getSize()
Get a list of messages with number and size
- Parameters
-
int | null | $id | number of message or null for all messages |
- Returns
- int|array size of given message of list with all messages as array(num => size)
Definition at line 98 of file Mbox.php.
101 $pos = $this->_positions[
$id - 1];
106 foreach ($this->_positions as $num =>
$pos) {
◆ getUniqueId()
getUniqueId |
( |
|
$id = null | ) |
|
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
-
int | null | $id | message number |
- Returns
- array|string message number for given message or all messages as array
- Exceptions
-
Definition at line 380 of file Mbox.php.
389 return array_combine($range, $range);
◆ noop()
Waste some CPU cycles doing nothing.
- Returns
- void
Definition at line 348 of file Mbox.php.
◆ removeMessage()
stub for not supported message deletion
- Returns
- null
- Exceptions
-
- See also
- Zend_Mail_Storage_Exception
Definition at line 360 of file Mbox.php.
365 #require_once 'Zend/Mail/Storage/Exception.php';
◆ $_fh
◆ $_filemtime
◆ $_filename
◆ $_messageClass
◆ $_positions
The documentation for this class was generated from the following file:
- vendor/magento/zendframework1/library/Zend/Mail/Storage/Mbox.php