【发布时间】:2011-11-13 20:28:21
【问题描述】:
我试图拒绝。来自 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 发送新邮件来尝试每次尝试
尝试_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 的输出是“假返回”;
尝试_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封新邮件
尝试_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
尝试_4:再次使用带有参数 NEW 的使用 imap_search()
$recent_emails = imap_search($inbox,'NEW');
if ($recent_emails)
echo count($recent_emails);
else
echo "false return";
imap_close($inbox);
输出 - 错误返回
那么我哪里错了? 如何获取最近的未读邮件数?
【问题讨论】:
-
抱歉,您花了这么长时间才得到答复。他们通常来得更快。这是一个经过深思熟虑且格式正确的问题。 +1
-
是的,自从我发帖以来,我一直在急切地等待答案,感谢您对此的评论,我非常需要解决方案。
标签: php ubuntu imap gmail-imap