Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Port of the cool GitHub's EmailReplyParser library in PHP 5.3

tag: 0.0.1

Fetching latest commit…

Cannot retrieve the latest commit at this time


Build Status

EmailReplyParser is a port of the GitHub's EmailReplyParser library written in Ruby. This is a small PHP 5.3 library to parse plain text email content.


If you don't use a ClassLoader in your application, just require the provided autoloader:


require_once 'src/autoload.php';

You're done.


Instanciate an Email object and you're done:


$email = new \EmailReplyParser\Email();

$reply = $email->read($emailContent);
// same as:
$reply = $email->getFragments();

Alternatively, you can use the static way:

$reply = \EmailReplyParser\EmailReplyParser::read($emailContent);

$reply is an array of Fragment objects. To get the content of each fragment, just call the getContent() method.

A Fragment can be a signature, a quoted text, or an hidden text. Here is the API:


// Get the content

// Whether the fragment is a signature or not

// Whether the fragment is quoted or not

// Whether the fragment is hidden or not

// Whether the fragment is empty or not

Known Issues

Quoted Headers

Quoted headers aren't picked up if there's an extra line break:

On <date>, <author> wrote:

> blah

Also, they're not picked up if the email client breaks it up into multiple lines. GMail breaks up any lines over 80 characters for you.

On <date>, <author>
> blah

Not to mention that we're search for "on" and "wrote". It won't work with other languages.

Possible solution: Remove "" lines...

Weird Signatures

Lines starting with - or _ sometimes mark the beginning of signatures:



Not everyone follows this convention:


Mr Rick Olson
Galactic President Superstar Mc Awesomeville

* Note: blah blah blah                                            *

Strange Quoting

Apparently, prefixing lines with > isn't universal either:



From: Bob []
Sent: Monday, March 14, 2011 6:16 PM
To: Rick

Unit Tests

To run the test suite, run Composer first to setup the autoloader:

php composer.phar install

Then run the following command:




EmailReplyParser is released under the MIT License. See the bundled LICENSE file for details.

Something went wrong with that request. Please try again.