我试图弄清楚如何使用 Horde Imap Client 库在我的 Yii 框架应用程序中导入电子邮件,但我不知道如何安装和加载它。
1 回答
请按照以下步骤操作:
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 面板转到域的 PHP 配置并查找 open_basedir 设置。