2016-07-11 10 views
0

imap_searchを使用して「件名」と「UNSEEN」で検索しようとしています。件名と名前は表示されますが、メッセージは表示されません。件名に基づいて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

<?php $ imap = imap_open ( '{imap.gmail.com:993/imap/ssl}'、 '*****'、 '******'); if($ imap){ \t $ some = imap_search($ imap、 'UNSEEN SUBJECT "売り手 - 通知購読申請"'、SE_UID); \t print_r($ some); //ストリームを閉じる imap_close($ imap); } ?> –

関連する問題