【问题标题】:PHP IMAP Mailbox Processing - Loop on MessageNo?PHP IMAP 邮箱处理 - MessageNo 上的循环?
【发布时间】:2013-01-23 11:08:23
【问题描述】:

一个简单的问题,但我似乎无法在任何地方找到可靠的答案。我正在使用 PHP IMAP 来处理邮箱中的消息,但我正在使用基于 imap_num_msg 的循环来处理它们。

$imap = imap_open("{imap.test.com:143}INBOX", "test@test.com", "password");
$message_count = imap_num_msg($imap);
for ($i = 1; $i <= $message_count; ++$i) 
{ "Processing Code using $i" }
imap_expunge($imap);
imap_close($imap);

这是正确的处理方式,还是我应该为每条消息获取一组 UID?如果我坚持这段代码,当有新消息进来时会发生什么,消息的顺序会改变并影响循环吗?

【问题讨论】:

  • 新邮件总是出现在最后。但是,您应该更担心已删除的消息...... RFC 中有一些保护措施可以防止在执行此类任务时重新排序消息序列号。 .. 我的建议是尽可能使用 UID,如果这足以满足您的应用程序。

标签: php email imap


【解决方案1】:

我建议也获取 uid,这有助于记录已下载的邮件。正如 ansh 所问的,您还计划在每次用户登录时执行此提取???

【讨论】:

    【解决方案2】:

    代码运行良好。除非邮箱状态发生更改,否则一旦创建的 UID 将保持不变。 但是您是否打算每次在客户端下载的 bcoz 邮件不需要再次下载时都这样做。

    【讨论】:

      猜你喜欢
      • 2011-09-12
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 2013-03-01
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      相关资源
      最近更新 更多