使用IMAP在php中获取电子邮件

问题描述 投票:0回答:1

我正在使用Imap功能通过雅虎邮件获取电子邮件。然后我在每封电子邮件上设置了标志,因为将来我调用imap搜索时我将无法获取已经提取的电子邮件。这就是我收到电子邮件的方式。

$emails = imap_search($inbox,"UNFLAGGED");

然后我使用代码应用标志:

foreach($emails as $email_number) {
       imap_setflag_full($inbox, $email_number, "\\Flagged \\Seen", ST_UID);

但是,当我打电话给imap_search($inbox,"UNFLAGGED");时,我会收到相同的电子邮件。当我第二次调用imap_search时,已经被标记的电子邮件不应该被提取。

我也尝试了imap_search($inbox,"unflagged")imap_search($inbox,"Unflagged")imap_search($inbox,"UnFlagged"),但仍然提取所有电子邮件。

我试过imap_search($inbox,"UNSEEN")它是有用的,如果电子邮件不是由用户手动读取(登录雅虎邮件,然后阅读)。在我的情况下,我需要使用Imap的所有未被“标记”的电子邮件。

需要帮助。提前致谢

php imap
1个回答
1
投票

您正在搜索消息序列号,但在UID上设置标志。选择一个或另一个。我建议总是使用UID。您是否尝试过将SE_UID添加到搜索中:

$emails = imap_search($inbox, "UNFLAGGED", SE_UID);
© www.soinside.com 2019 - 2024. All rights reserved.