- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
例如,我试图仅显示最近 5 分钟内收到的电子邮件:
$since = date('d-M-Y G\:i', time() - 300); // current time - 5 min
$mb = imap_search ($m_mail, 'UNSEEN SINCE ' . $since . '');
有没有简单的方法来做到这一点?我找到了一种方法:获取当天(例如:2010 年 5 月 9 日)所有未看到的邮件,循环浏览这些电子邮件,然后检查是否有在过去 X 分钟内发送的邮件。如果是,则回显它(使用 imap_headerinfo->udate )。
但是,当我查看 gmail.com 时,一封电子邮件是在 17:08 收到的,而在我的服务器上,这封电子邮件似乎是在 14:08 收到的
更新:我解决了在 gmail.com 中显示电子邮件发送时间为 17:04 而在我的应用程序中显示为 14:04 的问题。我将全局服务器时区更改为 GMT +0 并设置了应用程序时区。现在它可以正确显示时间,但我仍然不知道如何以更短的方式获取最近 X 时间内收到的电子邮件。
最佳答案
由于 PHP 使用不允许按时间搜索的 IMAP2 搜索工具,这可能是唯一的解决方案。或者您可以查看 RECENT 标志,但这仍然需要遍历当天的所有消息。
关于按日期进行 imap_search 的 PHP 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2798206/
我有从邮箱中获取消息的 PHP 脚本。我使用 imap_search 函数:$emails = imap_search($mbox, 'UNSEEN'); 有没有办法限制返回消息的数量。现在在巨大的邮
我正在使用 imap_search 从我的收件箱中获取消息列表。我只想要从地址发送的电子邮件,比如“somemail@gmail.com”。 我是这样的: $headers = imap_search
尝试构建一个 IMAP 搜索查询以通过 php 代码过滤掉特定的邮件...被推到我必须使用“OR”搜索条件的情况。 但是当使用时,php 会抛出错误 PHP Notice: Unknown: Unk
我正在使用以下代码来获取 1 天后的所有邮件 - $yesterday = date("Y-m-d", strtotime ("-1 days")); $searchQuery = 'SINCE "'
我有代码可以扫描我的收件箱并查找发送失败的电子邮件地址。我需要做的是,如果这些电子邮件地址与数据库中现有的电子邮件地址匹配,它应该执行此操作。当我从收件箱中获取电子邮件地址的输出时,它包含一些我无法删
当我在我的 GMail 收件箱上运行一个非常简单的 imap_search 时,搜索返回的邮件少于应有的邮件。 这是任何拥有 GMail 帐户的人都可以运行的脚本。 $host = '{imap.gm
我正在使用 PHP imap_search 来获取自给定日期以来未看到的消息列表,如下所示: imap_search($stream, 'UNSEEN SINCE 20-Sep-2015'); 这工作
例如,我试图仅显示最近 5 分钟内收到的电子邮件: $since = date('d-M-Y G\:i', time() - 300); // current time - 5 min $mb = i
我正在使用 PHP 的 imap 函数并希望检索 UID > n 的电子邮件。这在搜索日期而非 UID 时有效。 $imap = imap_open($host, $username, $passwo
我正在使用 PHP 的 imap 函数并希望检索 UID > n 的电子邮件。这在搜索日期而非 UID 时有效。 $imap = imap_open($host, $username, $passwo
我正在创建个人网络邮件,但在使用 imap_search() 时遇到了一些问题 我使用这段代码,但函数 imap_search() 没有停止: $criteria = 'SINCE "'.date('
我是一名优秀的程序员,十分优秀!