2016-07-11 3 views
0

Я пытаюсь выполнить поиск с помощью «subject» и «UNSEEN» с помощью imap_search. Он отображает тему и имя, но не сообщение.отображение сообщения с imap_search по теме

Можно ли отобразить сообщение на основе определенного предмета?

мой код:

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

Необходимо указать код. –

+0

да, извините, я просто сделал –

ответ

1

Адрес электронной почты сообщение может содержать большое количество данных в различных формах, поэтому жёстко 2 не будет работать. См. HOW to get mail structure with part number using imap command, а затем обратите внимание, что вам нужно будет отменить Content-Transfer-Encoding и т. Д.

+0

спасибо за ваш ответ, у меня была проблема с невидимыми сообщениями, я просто отмечал сообщение как непрочитанное, это не сработает так –

-1

Попробуйте этот код. Меня устраивает.

+0

Смежные вопросы