2013-07-19 30 views
0

電子郵件:使用的preg_match刪除郵件原始消息

的Hello World 123 123


From: uSER001 [[email protected]] 
Sent: Thursday, July 19, 2013 11:21 PM 
To: [email protected] 
Subject: Re: Ticketing System 

可以是任何東西,SD ASD ASD ASD ASDA dasdasd ASDA ASD


From: Ticketing System [[email protected]] 
Sent: Thursday, July 19, 2013 11:21 PM 
To: uSER001, uSER002 
Subject: Ticketing System 

內容從售票系統


售票系統http://www.yahoo.com

輸出應該是: 的Hello World 123 123


From: uSER001 [[email protected]] 
Sent: Thursday, July 19, 2013 11:21 PM 
To: [email protected] 
Subject: Re: Ticketing System 

可以是任何東西,SD ASD ASD ASD ASDA dasdasd ASDA asd

- 這可能使用preg_match($pattern,$data, $matches, PREG_OFFSET_CAPTURE)substr

+1

附加到電子郵件的標題可以很長且多種多樣。你不可能用正則表達式來做這件事。相反,您需要使用PHP – 2013-07-19 09:33:28

+0

逐行解析內容謝謝我會嘗試這種方法 – user259061

回答

0

您不能只使用preg_match來可靠地解析郵件消息。爲此任務更好地使用PHP Mime Mail Parser。使用Mime Mail解析器代碼將如此簡單:

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'); 
+0

謝謝,但我使用ews來獲取電子郵件。我需要從textbody中刪除原始郵件 – user259061

+0

您可以繼續使用ews,'PHP Mime Mail Parser'是用於解析個別電子郵件組件的微小PHP代碼。 – anubhava

相關問題