いいえを取得しようとしています。gmail アカウントからの最近の未読メールについて。このために、Ubuntu システムに IMAP をインストールし、いくつかの PHP iMAP 関数を試しました。これが私が今まで試したことです。
/* connect to gmail */
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'user@gmail.com';
$password = 'user_password';
/* try to connect */
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());
今、私はすべての試みを述べています。注意 - テスト用の電子メール ID に新しいメールを送信して、各試行を試みました。
Attempt_1: imap_search() の使用
$recent_emails = imap_search($inbox,'RECENT');
if ($recent_emails)
echo count($recent_emails);
else
echo "false return";
imap_close($inbox);
Attempt_1 の出力は "false return" になりました。
Attempt_2: imap_mailboxmsginfo() の使用
$check = imap_mailboxmsginfo($inbox);
if ($check)
echo "Recent: " . $check->Recent . "<br />\n" ;
else
echo "imap_check() failed: " . imap_last_error() . "<br />\n";
imap_close($inbox);
ここで、出力はRecent:0で、このIDに2つの新しいメールを送信しました
Attempt_3: imap_status() の使用
$status = imap_status($inbox, $hostname, SA_ALL);
if ($status)
echo "Recent: " . $status->recent . "<br />\n";
else
echo "imap_status failed: " . imap_last_error() . "\n";
//最近の出力:0
Attempt_4: パラメータ NEW を使用して imap_search() を再度使用する
$recent_emails = imap_search($inbox,'NEW');
if ($recent_emails)
echo count($recent_emails);
else
echo "false return";
imap_close($inbox);
出力 - false リターン
では、どこが間違っているのでしょうか? 最近の未読メール数を取得するにはどうすればよいですか?