如何在Yii Framework中使用Horde / Imap_Client

时间:2015-03-16 00:57:01

标签: yii imap plesk horde

我试图找出如何使用Horde Imap客户端库来导入我的Yii Framework应用程序中的电子邮件,但我不知道如何安装和加载它。

1 个答案:

答案 0 :(得分:0)

请按照以下步骤操作:

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

2)安装部落horde_imap_client,因为文档说http://dev.horde.org/imap_client/install.php

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

3)安装Horde Autoloader,因为默认情况下不安装

pear install horde/horde_autoloader

4)在加载Yii之前需要自动加载器

require_once 'Horde/Autoloader/Default.php';

如果您计划使用Yii控制台命令中的库,则可以在入口脚本index.php和yiic.php中执行此操作。

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 Panel进入域名' s PHP配置并寻找open_basedir设置。