Php 获取特定的imap文件夹名称

Php 获取特定的imap文件夹名称,php,email,imap,Php,Email,Imap,我需要获取imap文件夹的名称,通常我会这样做 <?php $mbox = imap_open(SERVER,USERNAME,PASSWORD) or die("can't connect: " . imap_last_error()); $list = imap_getmailboxes($mbox, SERVER, "*"); if (is_array($list)) { foreach ($list as $key => $val) {

我需要获取imap文件夹的名称,通常我会这样做

<?php
$mbox = imap_open(SERVER,USERNAME,PASSWORD)
      or die("can't connect: " . imap_last_error());

$list = imap_getmailboxes($mbox, SERVER, "*");
if (is_array($list)) {
    foreach ($list as $key => $val) {
        echo "($key) ";
        echo imap_utf7_decode($val->name) . ",";
        echo "'" . $val->delimiter . "',";
        echo $val->attributes . "<br />\n";
    }
} else {
    echo "imap_getmailboxes failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

这是一个非常棘手的问题。文件夹名称完全取决于服务器的实现。不同的邮件程序有不同的文件夹名称模式。如果您计划将此代码用于通用目的,则没有解决方案。无法通过名称标识文件夹类型

由于以下原因,即使对于特定的邮件收件人,也很难识别“已发送邮件”文件夹:

如果您计划使用正则表达式或模式匹配,那么用户可以自由创建一个名为Sent-Ansh、SentMailAnsh或AnshSentMail的用户文件夹

其次,像Outlook(我想是2010)for IMAP这样的客户端使您能够灵活地将发送的邮件存储在特定文件夹中,因此即使系统有一个名为“Sent mails”的文件夹,用户也可能希望将这些邮件存储在名为“AnshSend”的新文件夹中


因此,我建议您根据自己的需求分析情况。

谢谢,我目前正在做的只是将电子邮件文件夹名称放入配置文件中。用户需要配置文件夹名称。