※ ChatGPTを利用し、要約された質問です(原文:さくらインターネットでimap_openができません)
さくらインターネットでimap_openができないエラーの解決方法
このQ&Aのポイント
さくらインターネットでimap_openができないエラーが発生しました。個人用のphp.iniファイルを編集することで解決する可能性があります。
さくらのレンタルサーバではphp.iniの設定を変更できるため、個人用のphp.iniファイルに以下の設定を追加してみてください: extension=php_imap.so、extension=imap.so
また、個人用のphp.iniファイルの文字コードをSJISやEUCに設定してみることも有効な解決策です。
さくらインターネットでimap_openができません
プログラムを実行すると以下のエラーが出てしまいます。
Fatal error: Call to undefined function imap_open() in ****
環境はさくらのレンタルサーバ、スタンダードプランです。
http://www.sakura.ne.jp/rentalserver/matrix.html
個人用の設定ファイルphp.iniに以下をそれぞれ追加してみましたが、phpinfo()の結果を確認してもimapが組み込まれていません。
extension=php_imap.so
extension=imap.so
さくらのレンタルサーバでは個別に php.ini の設定を変更することができるそうなので、
個人用のphp.iniファイルを編集し、以下の様に文字コードをSJIS,EUCそれぞれ試してみたところ、phpinfo()の結果に反映されていました。
default_charset = "SJIS" or EUC
mbstring.internal_encoding = "SJIS"
どうすればimap_open()を使えるようになるでしょうか?
アドバイス宜しくお願い致します。
お礼
ご回答ありがとうございます。 自宅のWindows環境ではphp.iniに extension=php_imap.dll を追加するだけでphpinfo()に反映されimap_openが使えたので、 Linux,BSDサーバでも同じようにすれば使えると思っていました。 が、よく考えればLinuxでパッケージをソースからインストールする際に ./configure --help(prefix,enable) などやっていたのを思い出しました。 おっしゃるとおり、さくらでphpinfo()を確認しましたがConfigure Commandの欄にimapはありませんでした。 PEARについて調べてみます。 どうもありがとうございました。
補足
結果報告 自宅Windows環境にPEARをインストールし以下プログラムでメールを受信する事が出来ました。 <?php require_once("Net/POP3.php"); $pop3=new Net_POP3(); $pop3->connect("pop.mail.yahoo.co.jp","110"); $pop3->login("username","passwd"); echo mb_convert_encoding($pop3->getBody(1),"SJIS","auto"); ?> 参考URL http://pear.php.net/manual/ja/package.networking.net-pop3.php