【问题标题】:How to switch folders of pop3 mailboxes using PHP IMAP如何使用 PHP IMAP 切换 pop3 邮箱的文件夹
【发布时间】:2011-04-07 08:55:05
【问题描述】:

我很确定 PHP IMap 库中完全支持 pop3 收件箱,但我无法找到收件箱以外的文件夹。是否可以使用 php imap 库为 pop3 电子邮件收集其他文件夹?

这是我用来测试的函数

function allFolderMailCount($connection,$server)
{
    $list = imap_getmailboxes($connection, $server, "*");
    if (is_array($list)) 
    {
        foreach ($list as $key => $val) 
        {
            $folderEmails .= $val->name . '  ---- ' . email_folder_count($connection, $val->name);
        }
    } 
    else 
    {
       $folderEmails .= "imap_getmailboxes failed: " . imap_last_error() . "\n";
    }
    return $folderEmails;
}

【问题讨论】:

    标签: php imap pop3


    【解决方案1】:

    POP3 没有“文件夹”的概念。因此,您想做的事情是不可能的。如果您需要对文件夹的支持,请切换到 IMAP 协议。

    【讨论】:

    • 让我更具体一些 - 我在我的 Hotmail 帐户中创建了一个名为 Bob's Folder 的文件夹,并且可以将电子邮件放在那里 - 这是如何工作的?
    • 当我连接到服务器时,我在那个“文件夹”(或实际上是什么)中的电子邮件,不显示(在 # 条消息计数中或在所有消息的显示中)使用 php imap 库。
    • POP3 没有文件夹的概念。您看到的只是收件箱文件夹,因为协议不支持所有其他文件夹。 POP3 是一种传递机制,您可以在其中从服务器下载消息,然后将它们本地保存在客户端中。它并不是一个在线协议,您可以在云中保存您的消息。因此,几乎所有 POP3 的现代用途都是徒劳的,因为它无法处理您期望从现代邮件服务器获得的功能。
    • 谢谢 Emil - 这非常有帮助 - 我试图了解 Hotmail 将电子邮件存储在这些非“文件夹”中的位置 - 我猜他们称它们为文件夹是为了用户体验 - 他们只是将它们存储在一个数据库并创建一个文件夹的幌子?
    • 我认为你混合了两种不同的连接。他们如何存储邮件无关紧要。 POP3、IMAP 甚至 Web 界面只是同一个存储的不同视图。他们可以根据需要使用文件夹,因为它们至少有两种支持它们的协议(IMAP 和 Web),但是他们必须从 POP3 中删除不受支持的功能,就像 IMAP 不支持地址簿一样。 Hotmail 可以很好地将邮件存储在文件夹、数据库或其他解决方案中,但这对您来说并不重要 - 您应该只关心通过可用协议可见的内容。
    猜你喜欢
    • 2015-01-23
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 2011-10-05
    • 2011-03-31
    • 1970-01-01
    相关资源
    最近更新 更多