2011-07-26 24 views
0

右の紳士、私は一日中これまで完璧だった今私は必死です!ここに状況があります。 imap_openを使用しようとすると、私は無料のWebホスティングを使用しています。致命的なエラー:未定義の関数imap_open()を呼び出します。私はobioslyサーバー設定へのアクセス権を持っていないと私は私のプロバイダ(web000)に直接質問で連絡したにもかかわらず、phpには、imapモジュールがインストールされていないように見えます:あなたはimap関数をサポートしていますか?彼ははいと答えた。私は彼にエラーメッセージが書かれたメールを送りました。 Haventは彼からまだ聞いた。とにかく、私はGmailのコンテンツにアクセスすることができました。imap関数が定義されていないと仮定して、この機能を得るためにダウンロードできるライブラリはありますか? あなたの時間のおかげでありがとう。致命的なエラー:定義されていない関数を呼び出すimap_open()

+2

** PHP IMAP **をサポートしていますか?彼らは非常によくIMAPメールサーバーを持っているかもしれません、そしてそれは技術が "はい"の意味であることです。 'phpinfo()'関数を使って、phpにロードされているものを見ることができます。 –

+0

Im IMAPメールサーバを持っていると確信していますが、なぜIMAP機能を使えないのか理解できません。私は彼らが無料のユーザのために吹き飛ばしていると思います。お返事ありがとうございました – stringCode

+0

IMAP server!= PHPのIMAPモジュール。彼らはサーバを持っているかもしれません、あなたが述べたように自由なホスティングであるので、モジュールを持っていないかもしれません。 – jacek

答えて

3

IMAPプロトコルの純粋なphp実装(ソケットを使用してメールサーバに接続するため)のため、imap拡張を必要としないimapメールボックスを読むにはZend_Mailを使用できます。

ホスト上でZend Frameworkを使用するための特別な要件はありません。パッケージをダウンロードし、展開してホスティングにアップロードしてください。私はあなたにお勧めしますthe minimal editionそれは次のコードを実行するための大丈夫です。

Gmailアカウントに接続するには、このコードから始めてアカウントに接続し、サーバーに保存されている最初のメッセージを取得し、その件名を出力してから展開します。

<? 
// Ensure Zend folder is on include_path 
set_include_path(implode(PATH_SEPARATOR, array(
    '/home/tachyon/public_html/zend/library/', 
    get_include_path(), 
))); 

// require the ZF autoloader file if you have it in your include path 
require_once 'Zend/Loader/Autoloader.php'; 
// if ZF is not in your path you can specify the full path 
// otherwise if it's in a subdir (most likely if you're on a web hosting) 
// you can do something like this 
//require_once dirname(__FILE__) . '/Zend/Loader/AutoLoader.php'; 

// laod the autoloader so you don't need to require any ZF file 
Zend_Loader_Autoloader::getInstance(); 

// connecting with Imap to gmail 
$mail = new Zend_Mail_Storage_Imap(
    array(
     'host'  => 'imap.gmail.com', 
     'port'  => '993', 
     'ssl'  => true, 
     'user'  => '[email protected]', 
     'password' => 'secret', 
    ) 
); 

// get the message object 
$message = $mail->getMessage(1); 
// output subject of message 
echo $message->subject . "\n"; 
// dump message headers 
Zend_Debug::dump($message->getHeaders()); 

私はこれを私のGmailアカウントで個人的にテストしました。そのため、動作しているコードです。

+0

ありがとう、私もそれを試みた、私は一日中だったと言ったように...あなたはzendを設定すると個人的なexperiancesがありますか?私はそうしようとした。私のプロバイダは、彼らがzendをサポートしていることをtrierのウェブサイトで述べています。私はそれを使用しようとしましたが運がない...あなたはそれをどのように含めるか知っていますか?私はそれをダウンロードして私のサーバーにコピーしようとしましたが、それをサポートするhtaccessファイルを書く必要がありますか?魔女私はしようと失敗しました... – stringCode

+0

私はいくつかのコードで私の答えを更新しました、それはあなたのホスティングで動作するはずです。 ZFクラスだけを使用している場合は、.htaccessファイルを変更する必要はありません。フレームワークのMVC部分を使用する場合は、その必要があります。 – Fabio

+0

メイトは皆さんのお手伝いをしてくれてありがとう、本当に感謝していますが、それでも実行することはできません。/home/tachyon/public_html/zend/library/Zend/Loader /には、このようなファイルやディレクトリはありません。警告:require_once(Zend/Loader.php)[function.require-once] Autoloader.php on line 24 Autoloader.phpが実際に呼び出されていますが、問題は、autoloader.phpがloader.phpを不正なパスで呼び出すことです。 – stringCode

関連する問題