Skip to content

surebert/MailMimeParser

 
 

Repository files navigation

zbateson/mail-mime-parser

Standalone, testable and PSR-compliant mail mime parser alternative to PHP's imap* functions and pear libraries for reading messages in Internet Message Format (RFC-5322, RFC-2822 and RFC-822).

Build Status Scrutinizer Code Quality

The goals of this project are to be:

  • Well written
  • Standards-compliant but forgiving
  • Includable via composer
  • Tested where possible

To include it for use in your project, please install via composer:

composer require zbateson/mail-mime-parser

Requirements

MailMimeParser requires PHP 5.4 or newer. Tested on PHP 5.4, 5.5, 5.6 and 7. HHVM is not currently supported.

Usage

$mailParser = new ZBateson\MailMimeParser();

$handle = fopen('file.mime', 'r');
$message = $mailParser->parse($handle);         // returns a ZBateson\MailMimeParser\Message
fclose($handle);

echo $message->getHeaderValue('from');          // user@example.com
echo $message->getHeader('from')->getName();    // Person Name
echo $message->getHeaderValue('subject');       // The email's subject

$res = $message->getTextStream();               // or getHtmlStream
echo stream_get_contents($res);

$att = $message->getAttachmentPart(0);          // first attachment
echo $att->getHeaderValue('Content-Type');      // text/plain for instance
echo $att->getHeaderParameter(                  // value of "charset" part
    'content-type',
    'charset'
);
echo stream_get_contents(
    $att->getContentResourceHandle()
);

Documentation

License

BSD licensed - please see license agreement.

About

A PHP mail mime parser

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%