armin/mbox-parser

PHP library to parse mbox files to email messages.

2.0.0 2024-10-16 07:03 UTC

This package is auto-updated.

Last update: 2024-11-16 07:08:34 UTC


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 in Mailbox class
  • Added getMessageById method to Parser class
  • Added getTotalEntries method to Parser class