如何在 Yii 框架中使用 Horde/Imap_Client



我正在尝试弄清楚如何使用Horde Imap客户端库在我的Yii框架应用程序中导入电子邮件,但我不知道如何安装和加载它。

请按照以下步骤操作:

1) 确保在您的机器/服务器中安装了 PEAR

2)按照文档 http://dev.horde.org/imap_client/install.php 安装部落horde_imap_client

pear channel-discover pear.horde.org
pear install horde/horde_imap_client

3)安装部落自动加载机,因为它默认未安装

pear install horde/horde_autoloader

4) 加载 Yii 前需要自动加载

require_once 'Horde/Autoloader/Default.php';

你可以在入口脚本索引中执行此操作.php也可以选择在 yiic 中执行此操作.php如果您打算使用 Yii 控制台命令中的库。

5)现在你应该能够从控制器或Yii命令执行此操作:

try {
    $imap = new Horde_Imap_Client_Socket(array(
        'username' => 'user@example.com',
        'password' => 'pwd',
        'hostspec' => 'mail.example.com',
        'port' => 993,
        'secure' => 'ssl',
    ));
    $query = new Horde_Imap_Client_Search_Query();
    $results = $imap->search('INBOX', $query);
    var_dump($results['match']);
} catch (Horde_Imap_Client_Exception $e) {
    // Any errors will cause an Exception.
    die($e->getMessage());
}

6)结语:

如果您在服务器上使用 Plesk 面板,由于open_basedir限制,您将在加载 PEAR 库时遇到问题,因此您必须将 PEAR 路径 (/usr/share/pear) 添加到open_basedir设置中。根据 Plesk 的版本,对于旧版本,您必须使用 vhost.conf 文件执行此操作,例如 这篇文章说: http://www.smerret.com/computers/linux/control-panels/using-pear-with-plesk,对于较新的 Plesk 版本,您可以直接从 Plesk 面板转到域的 PHP 配置并查找open_basedir设置。

最新更新