使用preg_match删除邮件原始邮件

Email:

Hello World 123 123


From: uSER001 [user001@yahoo.com]
Sent: Thursday, July 19, 2013 11:21 PM
To: ts@yahoo.com
Subject: Re: Ticketing System

Can be anything sd asd asd asd asda dasdasd asda asd


From: Ticketing System [ts@yahoo.com]
Sent: Thursday, July 19, 2013 11:21 PM
To: uSER001, uSER002
Subject: Ticketing System

Content From Ticketing System


Ticketing System http://www.yahoo.com

Output Should be: Hello World 123 123


From: uSER001 [user001@yahoo.com]
Sent: Thursday, July 19, 2013 11:21 PM
To: ts@yahoo.com
Subject: Re: Ticketing System

Can be anything sd asd asd asd asda dasdasd asda asd

-- Is this possible using preg_match($pattern,$data, $matches, PREG_OFFSET_CAPTURE) and substr?

You cannot just use preg_match to parse mail message reliably. Better use a PHP Mime Mail Parser for this task. Using Mime Mail Parser code will be as simple as:

require_once('MimeMailParser.class.php');

$path = 'path/to/mail.txt';

$Parser = new MimeMailParser();
$Parser->setPath($path);

$to       = $Parser->getHeader('to');
$from     = $Parser->getHeader('from');
$subject  = $Parser->getHeader('subject');
$textBody = $Parser->getMessageBody('text');
$htmlBody = $Parser->getMessageBody('html');