armin / mbox-parser
PHP library to parse mbox files to email messages.
Installs: 7 476
Dependents: 1
Suggesters: 0
Security: 0
Stars: 5
Watchers: 2
Forks: 2
Open Issues: 0
Requires
- php: >=7.3
- doctrine/collections: ^1.7 | ^2.1
- zbateson/mail-mime-parser: ^2.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.4
- jangregor/phpstan-prophecy: ^1.0
- phpstan/phpstan: ^1.8
- phpunit/phpunit: ^9.5
README
PHP library to parse mbox files (RFC 4155) to email messages.
The mail messages (RFC 2822) are being parsed using the great library zbateson/mail-mime-parser.
armin/mbox-parser is released under MIT license.
Written by Armin Vieweg. Supported by IW Medien GmbH
Requirements
- PHP 7.3 or higher
Usage
Iterate through mbox file
<?php $page = 1; $itemsPerPage = 10; $parser = new \Armin\MboxParser\Parser(); $mailbox = $parser->parse('path/to/file.mbox', $page, $itemsPerPage); // $mailbox only contains the items from given page foreach ($mailbox as $mailMessage) { // ... }
Get amount of total items in mbox file
<?php $parser = new \Armin\MboxParser\Parser(); $total = $parser->getTotalEntries('path/to/file.mbox');
Get specific mail message
<?php $parser = new \Armin\MboxParser\Parser(); $mailMessage = $parser->getMessageById('path/to/file.mbox', '2026f546d879a98e610829b5dd9d43ba@example.com')
Working with mail message
See tests for more examples of how to work with MailMessage.
Changelog
2.0
In version 2.0 of armin/mbox-parser the syntax of parsing mbox files has changed, in order to support pagination for large mbox files. See usage section for details.
Following changes have been applied:
- Removed
getMessageById
method inMailbox
class - Added
getMessageById
method toParser
class - Added
getTotalEntries
method toParser
class