php - 如何获取 Gmail 未读邮件数

标签 php gmail imap gmail-imap

我正在使用以下代码获取 Gmail 中的未读电子邮件数。但是,它返回错误:

can't connect: Too many login failures

我在这里遗漏了什么吗?

(我正在测试的 Gmail 帐户启用了 IMAP 和 POP。)


注意:看起来它正在工作(至少对于大多数请求而言)。但是,它花费的时间太长了——可能需要 2 到 3 分钟才能返回一个号码。有没有办法加快速度?


谢谢!

<?php

$mbox = imap_open ("{imap.gmail.com:993/imap/ssl/novalidate-cert/norsh}Inbox", 
"username", "password", OP_READONLY) 
or die("can't connect: " . imap_last_error()); 
$check = imap_mailboxmsginfo($mbox); 
if ($check) { 
print $check->Unread; //. "/" . $check->Nmsgs; 
} else { 
print "Failed"; 
}

?>

最佳答案

您还可以使用 Gmail Inbox Feed获取未读计数。 只需将经过身份验证的 GET 请求发送到 https://mail.google.com/mail/feed/atom并检查 fullcount 元素的值。

关于php - 如何获取 Gmail 未读邮件数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7003150/

相关文章:

php - 通知 : Use of undefined constant

php - MYSQL/PHP 中的数学

html - 电子邮件 : Gmail change my text in link

java - 使用 Java 通过 gmail 的 SMTP 服务器发送时遇到问题

ruby - 使用 Ruby 检查 Gmail 邮件的未读数量

ruby - 在 Ruby Net::IMAP 中选择邮箱 "sent mail"或 "all mail"

phpFlickr 和从 Flickr 获取图像

php - 如何从 slim Rest API 函数重定向到 codeigniter Controller 函数?

google-api - 调用 "Users.messages: list"时 Gmail API 以什么顺序返回消息

javascript - imap.search 时 Node.js imap 库中出现错误协议(protocol)错误