我正在研究电子邮件应用程序。我编写的代码可以从服务器上获取电子邮件(我正在gmail服务器上测试)。当我回复特定的时候 电子邮件,我尝试获取电子邮件文本正文,但附加回复消息orignal消息也附加。所以我想得到新消息没有 附加的回复消息。任何帮助将被appricaited。我的代码如下:
/* connect to gmail */
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'mahmoodkk@gmail.com';
$password = 'mahmood';
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());
$emails = imap_search($inbox,'ALL');
/* if emails are returned, cycle through each... */
if($emails) {
$output = '';
rsort($emails);
foreach($emails as $email_number) {
/* get information specific to this email */
$overview = imap_fetch_overview($inbox,$email_number,0);
$message = imap_fetchbody($inbox,$email_number,2);
/* output the email header information */
$output.= '<div class="toggler '.($overview[0]->seen ? 'read' : 'unread').'">';
$output.= '<span class="subject">'.$overview[0]->subject.'</span> ';
$output.= '<span class="from">'.$overview[0]->from.'</span>';
$output.= '<span class="date">on '.$overview[0]->date.'</span>';
$output.= '</div>';
/* output the email body */
$output.= '<div class="body">'.$message.'</div>';
echo $message; // here i want to seperate the appended and new message.
}
}
imap_close($inbox); .
我得到了这个输出: 如果您看到上面的图像,则该行上方是新消息或原始消息,而行下方是附加消息(原始消息附加到新消息)。我想只提取没有附加消息的新消息。提前谢谢
答案 0 :(得分:0)
@Mahmood Rehman你实现了这篇文章:http://davidwalsh.name/gmail-php-imap ???
我希望下一行可以帮到你。
您认为使用它是个好主意:PHP DOM(http://php.net/manual/en/book.dom.php)
更具体的DOMDocument :: loadHTML AND DOMElement :: getElementsByTagName。