2016-07-11 19 views
0

Ich versuche mit "subject" und "UNSEEN" mit imap_search zu suchen. Es zeigt den Betreff und den Namen, aber nicht die Nachricht an.Anzeige einer Nachricht mit imap_search basierend auf einem Betreff

Ist es möglich, die Nachricht basierend auf einem bestimmten Thema anzuzeigen?

mein Code:

set_time_limit(4000); 

$imapPath = '{imap.gmail.com:993/imap/ssl}INBOX'; 
$username = '[email protected]'; 
$password = '*****'; 

$inbox = imap_open($imapPath,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error()); 

$emails = imap_search($inbox,'UNSEEN SUBJECT "aaa"'); 

$output = ''; 

if($emails) { 
$output = ''; 
rsort($emails); 
foreach($emails as $email_number) { 
    $overview = imap_fetch_overview($inbox,$email_number,0); 
    $message = imap_fetchbody($inbox,$email_number,2); 
    $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.= '<div class="body">'.$message.'</div>'; 
} 

echo $output; 
} 
imap_expunge($inbox); 
imap_close($inbox); 
+0

Sie müssen Code anzeigen. –

+0

ja es tut mir leid, ich habe gerade –

Antwort

1

Eine E-Mail-Nachricht eine Menge Daten in verschiedenen Formen enthalten kann, so dass eine hartkodierte 2 wird nicht funktionieren. Weitere Informationen finden Sie unter HOW to get mail structure with part number using imap command. Dann müssen Sie Content-Transfer-Encoding usw. rückgängig machen.

+0

danke für deine antwort, ich hatte ein problem mit ungesehenen nachrichten, ich war nur eine nachricht als ungelesen markieren, wird es nicht so funktionieren –

-1

Versuchen Sie diesen Code. Für mich geht das.

+0