如何使用PHP中的imap类从GMail邮箱中单独获取最近的电子邮件?

时间:2012-06-14 18:57:31

标签: php imap gmail-imap

我想使用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时间戳的准确时间来获取最新的电子邮件。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分: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标记。

答案 1 :(得分:-1)

谷歌“imap phph gmail”,你会发现很多教程和代码。例如: Retrieve Your Gmail Emails Using PHP and IMAP