2010-04-07 137 views
3

如何使用Zend_Mail_Storage_Imap检查电子邮件文件夹是否存在,createFOlder,renameFOlder和removeFolder以及getFOlders,但不是确切的任何固定方法来查询某个邮件文件夹是否存在? GetFOlders返回一个以文件夹开头的混杂树。使用Zend邮件检查邮件文件夹是否存在

回答

1

我不Zend_Mail_Storage_Imap合作过,但是从我可以从源搜集,这应该做的伎俩:如果你想通过检查,以保持当前文件夹

/** 
* Checks if a folder exists by name. 
* @param Zend_Mail_Storage_Imap $imapObj Our IMAP object. 
* @param string $folder The name of the folder to check for. 
* @return boolean True if the folder exists, false otherwise. 
*/ 
function folderExists(Zend_Mail_Storage_Imap $imapObj, $folder) { 
    try { 
     $imapObj->selectFolder($folder); 
    } catch (Zend_Mail_Storage_Exception $e) { 
     return false; 
    } 
    return true; 
} 

,它得到有点麻烦,当然,:

/** 
* Checks if a folder exists by name. 
* @param Zend_Mail_Storage_Imap $imapObj Our IMAP object. 
* @param string $folder The name of the folder to check for. 
* @return boolean True if the folder exists, false otherwise. 
* @throws Zend_Mail_Storage_Exception if the current folder cannot be restored. 
*/ 
function folderExists(Zend_Mail_Storage_Imap $imapObj, $folder) { 
    $result = true; 
    $oldFolder = $imapObj->getCurrentFolder(); 
    try { 
     $imapObj->selectFolder($folder); 
    } catch (Zend_Mail_Storage_Exception $e) { 
     $result = false; 
    } 
    $imapObj->selectFolder($oldFolder); 
    return $result; 
} 

(你如何处理这种情况的偏好可能,当然,各不相同,一个是相当草率。)

相关问题