

現在PHPでメールを受信するプログラムを作ろうと思っています。素人ですので、いつもつまづきながらなんとか乗り越えてきています。どうしても解決できないときは、時々こちらのサイトを利用させていただき大変助かっております。
サーバーは、「お名前comのVPS」を使っています。使用できる関数には「IMAP」とありますので、PHPを使ってのメール受信は可能と思われます。PHPのバージョンは、「5.16」です。手元にある、PHPの教則本を頼りに、shhで php.iniのextension=php_imap.dll のコメントを外そうとしましたところ、 extension=php_imap.dll なるものがありませんでした。散々php.iniを見ましたがやはりありませんでした。それでは、localにあるxamppのphp.iniはどうなのかと調べてみますと、そこにはきちんと extension=php_imap.dll という一行がありました。再度「お名前com」のphp.iniを眺めていますと、なにやら
If you wish to have an extension loaded automatically, use the following
; syntax:
; extension=modulename.extension
; For example:
; extension=msql.so
このような文面を見つけ、さらに 拡張ファイルが php.dというフォルダにあるようなことが書いてあったので、php.dフォルダにアクセスしてみたところ、imap.iniとうファイルがありました。そこで、そのファイルを開いてみますと、
; Enable imap extension module
extension=imap.so
このような記述がありました。
そこで、php.iniに extension=imap.so を書き足してみました。
これで、どうにかなるのかなと思い、次のphpファイルでテストをしました。
<?php
ini_set('display_errors', 'on');
ini_set('error_reporting', E_ALL ^ E_NOTICE);
$MAILSERVER="****";
$MAILUSER="*****";
$MAILPASSWORD="****";
if($mbox=imap_open("{".$MAILSERVER.":110/pop3}INBOX",$MAILUSER,$MAILPASSWORD)){
print "メールサーバーに接続しました。";
}
else{
print "接続失敗";
}
print "test";
?>
***の部分は実際には、必要な情報をいれております。
しかし、その結果は、
Warning: imap_open() [function.imap-open]: Couldn't open stream {localhost:110/pop3}INBOX in /var/www/****/****/***/****/****.php
接続失敗
上のように接続はできませんでした。
php(バージョン5.16)ではphp.iniは、以前のものとは変わってしまって、どうもアチコチを検索して物まねをして、書き換えているだけの私では、どう設定してよいかわかりません。
また、imap関数を使うには、何かインストールする必要があるのでしょうか?
phpinfo()でも見てみましたが、よくわかりませんでした。
phpinfo()ではConfigure Command のところには、
./configure' '--host=x86_64-redhat-linux-gnu' '--build=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/usr/share/file/magic.mime' '--with-libxml-dir=/usr' '--with-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--without-sqlite' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter'
additional .ini files parsedのところには
/etc/php.d/bcmath.ini, /etc/php.d/dba.ini, /etc/php.d/dbase.ini, /etc/php.d/dom.ini, /etc/php.d/gd.ini, /etc/php.d/imap.ini, /etc/php.d/mbstring.ini, /etc/php.d/mcrypt.ini, /etc/php.d/mysql.ini, /etc/php.d/mysqli.ini, /etc/php.d/ncurses.ini, /etc/php.d/pdo.ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/pdo_pgsql.ini, /etc/php.d/pdo_sqlite.ini, /etc/php.d/pgsql.ini, /etc/php.d/soap.ini, /etc/php.d/sqlite.ini, /etc/php.d/xmlreader.ini, /etc/php.d/xmlrpc.ini, /etc/php.d/xmlwriter.ini, /etc/php.d/xsl.ini
この中には、imap.iniという文字が見えました。
と書いてあります。
どなたか、ご専門の方ご教授宜しくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
あ、imapは143でした…。
なので先日私がかいたコードは正しくは
if($mbox=imap_open("{".$MAILSERVER.":143/imap}INBOX",$MAILUSER,$MAILPASSWORD)){
でした。失礼しました。
エラーメッセージを見る限り、imap_openの関数自体は使えていると思います。
※そもそも使えない場合は「そんな関数ないよ」的なメッセージがでたはずです。
あと確認すべき点としては
・メールサーバ側でIMAPの通信は許可されているのか
・メールサーバ側のログに何かでていないか
・他のメールサーバを指定してみる
・INBOXではなくMaildirを指定してみる
ですかね。
No.1
- 回答日時:
if($mbox=imap_open("{".$MAILSERVER.":110/imap}INBOX",$MAILUSER,$MAILPASSWORD)){
でどうでしょうか。
ありがとうございます。
if($mbox=imap_open("{".$MAILSERVER.":110/pop3/notis}INBOX",$MAILUSER,$MAILPASSWORD))
if($mbox=imap_open("{".$MAILSERVER.":110/imap}INBOX",$MAILUSER,$MAILPASSWORD))
if($mbox=imap_open("{".$MAILSERVER.":143/imap}INBOX",$MAILUSER,$MAILPASSWORD)){
と3つ試してみましたが、どれも接続できませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- PHP PHP ページング データベース 1 2022/06/16 10:30
- その他(SNS・コミュニケーションサービス) 爆サイやっていたら、下のような文字が出ました! これは何なのでしょうか? nginx error! 1 2023/06/09 12:27
- 英語 この3つの文をeven ifを使って書き換えるとどうなりますか? ① My best endeavo 1 2022/10/02 11:03
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP PHPの変わった閉じタグの必要性と意味を教えてください。 1 2022/08/28 15:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpの中でphpを書けないか
-
.htaccessにphp_valueが使用できな
-
*.php、*.php3、*.phtmlの違い
-
<A href ~ と一緒に値を渡すには
-
PHPINFOが見えない
-
PHPファイルが表示されない
-
gdとgd2の違い
-
functions.phpに書くものindex....
-
フォームで戻った際に入力済み...
-
iframeで読み込んだ別のphpファ...
-
ここ以外のお助けサイト
-
require_once()でファイルが読...
-
PHPでできたサイトのフォルダや...
-
Image Magickの関数が使えない
-
【PHP】ファイルの内容を文字列...
-
「teratail」での回答内容がい...
-
レンタルサーバでPHPの実装がで...
-
パラメータの渡し方
-
シェルスクリプト処理に時間や...
-
FTPコマンドでディレクトリごと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォームで戻った際に入力済み...
-
*.php、*.php3、*.phtmlの違い
-
.htaccessにphp_valueが使用できな
-
phpの中でphpを書けないか
-
さくらインターネットでメール...
-
Apache 2.4でphp-5.3を使いたい...
-
複数のファイルで同じ定数を定...
-
PHP PDOライブラリが読み込まれ...
-
【PHP】tmp_nameの命名規約につ...
-
HYのAM11:00のラップの部分の歌...
-
Apache 2.4.0でphp5.3を使うには?
-
phpのextension_dirを複数指定...
-
header(Location:~)で$_SESS...
-
PHPからMSSQLへの接続結果の文...
-
<A href ~ と一緒に値を渡すには
-
libphp5.so がないと?
-
PHPが動作できてないと思われる...
-
php.iniの見方
-
PHPINFOが見えない
-
PHPファイルが表示されない
おすすめ情報