1

我想使用 PHP 的 imap 类从 GMail 获取电子邮件。

我试过了:

$val = date('Y-m-d H:i:s', 1337352811);
$recentMails = imap_search($this->imapInBox, 'SINCE $val', SE_UID);

这没有用。

我试过了<SINCE "4 Jun 2012">。这行得通。

但是当我使用此选项时,我在下载附件时遇到了问题,这也会导致冗余并一次又一次地获取相同的电子邮件。我需要使用准确的时间(例如 Unix 时间戳)来仅获取最新的电子邮件。我怎样才能做到这一点?

4

2 回答 2

2

看一下 RFC 的这段摘录:

  RECENT
     Messages that have the \Recent flag set.

  SINCE <date>
     Messages whose internal date (disregarding time and timezone)
     is within or later than the specified date.

您只能根据日期进行搜索,不能比这更精细。

但是,您可以做的是取消设置Recent标志,然后搜索日期和Recent标志。

于 2012-06-14T19:11:05.017 回答
-1

谷歌“imap phph gmail”,你会发现很多教程和代码。例如: 使用 PHP 和 IMAP 检索您的 Gmail 电子邮件

于 2012-06-14T19:02:05.153 回答