LinuxでNet/POP3を使用したメールサーバーへの接続ができない問題

このQ&Aのポイント
  • Net/POP3を使用してメールを受信する際、Windowsでは正常に接続できるが、Linux(CentOS5)では接続できない現象が発生しています。
  • 接続箇所である$pop3->connect($host, $port)の処理で、LinuxではFalseが返ってきています。
  • コードの差異やホスト・ユーザー・パスワードの違いはなく、Linuxで動作しない原因を教えていただけると幸いです。
回答を見る
  • ベストアンサー

Net/POP3でLinuxだとメールサーバーと接続ができない

Net/POP3を使用して、メールを受信するものを作っていますが、 Windowsだと正常にPOPサーバーとの接続ができるのですが、 Linux(CentOS5)だと接続が出来ない現象が出ています。 接続箇所  $pop3 = new Net_POP3(); $pop3->connect($host , $port) Windowsだと正常に接続が出来ているのですが、 LinuxだとここでFalseが返って来てしまいます。 Windowsで動くphpファイルをそのままLinuxの方にコピーしているだけですのでコードに違いはなく、hostやuser、パスワードに違いはありません。 何か原因が考えられる事がありましたら、教えて下さい。

  • PHP
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

phpで実行させずにローカルで動きますか? Linux上で、いろいろな操作をして原因を切り分けましょう!

usb_memory
質問者

お礼

ブラウザで実行せずに、コマンドで実行したら正常に動きました。 多分パーミッションの関係とかだと思いますが、 元々クーロンで動かす予定のPHPでしたので、解決しました。 ありがとうございました。

その他の回答 (1)

回答No.1

ファイアウォールは調べてみましたか? 最近はLinuxでもセットアップ時に自動でファイアウォールが入ることが多いのでそれでポートがふさがっているのかもしれません。

参考URL:
http://kajuhome.com/security_trouble.shtml

関連するQ&A

  • PEAR--Net_POP3。phpで受信メールの表示

    初めて質問します。 ものすごい初心者ですので、すごい簡単な返答をお願いします。 環境は自分で作ったサーバです。 Lunux centos PEAR Net_POP3 インストール済み(確認済) utf-8 PEARのライブラリで、Net_POP3を使用し、phpで、書いてみたのですが、私が参照したページの見本より、作成したPHPでは、動かないのです。何がいけないのでしょうか? 下記の様にPHPを記入して、サーバ接続は、ドメインを書き換えると接続できなく、しっかり記入すると、接続可能です。 ですが、ログイン部分は、パスワードをわざと間違えて記入しても、ログイン可能と表示されてしまいます。 ログイン部分がおかしいのか。それとも、エンコードの部分もおかしいのか、わかりません!みなさんのお力添えを!! <?php require_once('Net/POP3.php'); $account = array( 'host' => 'mail.私のドメイン', 'port' => '110', 'username' => 'メールアカウント', 'password' => 'メールパスワード', ); $pop3 =& new Net_POP3(); if($pop3->connect($account['host'], $account['port'],LOGIN)){ echo "接続OK!<br>"; }else{ echo "接続NGNGNG!<br>"; } if($pop3->login($account['username'], $account['password'],LOGIN)){ echo "接続OK!<br>"; }else{ echo "接続NGNGNG!<br>"; } $n_msg = $pop3->numMsg(); $header_list = $pop3->getParsedHeaders($n_msg); $body = mb_convert_encoding($pop3->getBody($n_msg), "utf-8", "jis"); $body = htmlspecialchars($body, ENT_QUOTES, "utf-8"); $pop3->disconnect(); echo "<dl>"; echo "<dt>差出人</dt><dd>".mb_decode_mimeheader($header_list['From'])." </dd>"; echo "<dt>件名</dt><dd>".mb_decode_mimeheader($header_list['Subject'])." </dd>"; echo "<dt>本文</dt><dd><pre>".$body."</pre></dd>"; echo "</dl>"; ?>

    • 締切済み
    • PHP
  • メール受信エラー【Net/POP3.php】

    自作blogを作っています。 試行錯誤しているのですが、解決できないので質問します。 モブログを付加させようとまずはメール受信プログラムを 作りましたが、動きません。login errorがでます。 この前にimapも作って走らせたのですが、動きませんでした。 http://nescio.seesaa.net/article/67124976.html を見て、引数も設定し直しましたが、ダメでした。 Net/pop3でなくてもよいのですが、解決法が あったら教えてください。ロリポップを使っています。 <?php require 'Net/POP3.php'; require_once("Mail/mimeDecode.php"); $mail_conf = array( 'host' => 'mail??.lolipop.jp', 'port' => '110', 'user' => 'lolipop.jp-bbbb', 'pass' => 'aaaaa', 'auth' => 'true', ); $pop3 =& new Net_POP3; $con = $pop3->connect( $mail_conf['host'], $mail_conf['port'], $mail_conf['auth']); if(PEAR::isError($con)){ die("接続エラー"); } $login = $pop3->login( $mail_conf['user'], $mail_conf['pass'],$mail_conf['auth']); if(PEAR::isError($login)){ die("login error"); } $maillist = $pop3->getListing(); if ( is_array( $maillist) && 0 < count( $maillist)) { foreach ( $maillist as $mailinfo) { $m_id = $mailinfo[ 'msg_id']; $mail = $pop3->getMsg($m_id); $params['include_bodies'] = true; $params['decode_bodies'] = false; $params['decode_headers'] = true; $params['input'] = $mail; $structure = Mail_mimeDecode::decode( $params); print_r($structure); } } $pop3->disconnect(); ?>

    • ベストアンサー
    • PHP
  • osxからlinuxへshh接続できません

    このカテゴリで良いのか解りませんがお願いします osxからlinuxへshh接続しようと思うのですが うまくいきません。 linuxにはsshdを起動してあります。 linux 192.168.0.1、 ibook 192.168.0.2 をクロスケーブルでつないでます。 双方ともからping ではちゃんと確認できます。 まずは公開暗号鍵を使わずパスワード認証で接続を試しました linuxで自身に ssh -l username 192.168.0.1 で接続できました ibookから ssh -l username 192.168.0.1 すると ssh: connect to host 192.168.0.1 port 22: Operation timed out となってしまいます。 linux でethereal でモニタするとtcp,ssh,sshv2,dnsなどパケットは来ています。 ibook からport scan すると 22 は開いてます。 なにがいけないのでしょうか? ご存知の方よろしくお願いします。

    • 締切済み
    • Mac
  • レンタルサーバーのNET::POP3呼び出し

    NET::POP3を使って空メールシステムで会員登録をするシステムをレンタルサーバーシックスコアで設置しようとしています。 以前までは知り合いの自己サーバーを使用して正常に作動いましたがレンタルサーバーに引越ししようと設定していますが。 返信メール、登録ともにまったく応答がありません。 > #---登録時の自動応答メール情報--- > # POP3ホスト名 > $host_name = 'cacomon.net'; > > # POP3ユーザー名 > $user_name = 'info@cacomon.net'; > > # POP3パスワード > $passwd = '******'; > > 以上のよいうに設定いますがどこかの情報がまちがっているみたいなのですが。 > > #---登録時の自動応答メール情報--- > # POP3ホスト名 > # POP3ユーザー名 > # POP3パスワード > はどの部分が上記の部分に当たるのか教えていただきたいのですが。 > また、それ以外が問題になっていいるのか。 > 見つけ出すことができません。 > 宜しくお願いします。 > > レンタルサーバーにはNET::POP3モジュールなどは入っています。 > レンタルサーバーシックスコアに質問してみましたが。プログラムに関する質問が

  • サーバーに接続できない

    Windowsで自作データベースの操作をしていたところフリーズしてしまい強制終了させたのですが,再起動後再びそのデータベースにアクセスしようとすると以下のようなエラーがでてデータベースにアクセスできなくなってしまいました.pdAdmin IIIでサーバーに接続を試みようとすると「サーバーは閉じています」と表示されてしまいます.どなたか解決策をご存知の方はご教授をお願いします. PHP Warning: pg_connect() [<a href='function.pg-connect'>function.pg-connect</a>]: Unable to connect to PostgreSQL server: could not connect to server: Connection refused (0x0000274D/10061)Is the server running on host "localhost" and acceptingTCP/IP connections on port 5432? 【環境】 Windows XP PostgreSQL8.0.4

  • WindowsからLinuxサーバへの接続

    WindowsノートパソコンにVirtual Boxをインストールし、そこにOracle Linuxをインストールしています。 オラクルは12.1.0です windowsの、SQL Developerバージョン4.1.1.19からオラクルに接続しています ユーザー名 system で接続しています。 その後、hoge という自分で作成したアカウントで接続したいのですが、接続ができません。 conn hoge/****@129.168.***.***:1521/pdb1 などと打つと、 下記のようなエラーメッセージが出てきます。 ---------------------------------------------------------------------------- 接続しました CONNECTスクリプト・コマンドによって作成された接続が切断されました ----------------------------------------------------------------------------- 一度 接続しました とメッセージが出るのですが、すぐに CONNECTスクリプト・コマンドによって作成された接続が切断されました というメッセージが出るので、結局接続されていません。 これはなにか問題があるのでしょうか? Linux 上のオラクルから hoge で接続する場合は問題なく接続ができます。 Linux上のオラクルからは接続できるので、権限は問題ないのかな?と思うのですが、外部windows側からの接続ができないのは、何が原因なのでしょうか? お時間がありましたら、宜しくお願い致します

  • linux(centos) + xampp phpでmailコマンドを利用したい

    linux(centos) + xampp phpでmailコマンドを利用したいのですが mail送信を利用するにはどのような設定(もしくは環境)を行わないといけないのでしょうか? windows xp + xampp php で利用したときには、php.iniの中の [mail function] SMTP = xxxx.xxxx.co.jp smtp_port = 25 を設定することによって利用できました。 お忙しいところ申し訳ございませんがよろしくお願いします。

  • Linux用メールソフトがso-netでは使えない。

    今までISPとしてplalaを使っていて、ubuntu,fedora,centos等のLinuxで distributionのメールソフトは勿論、thunderbird等の外部ソフトも使えて いたのですが、ISPをso-netに代えてから、メールの送受信ができなくなり ました。具体的には、例えば、thunderbird等をインストールは出来て、 メーラーとしてオープンするのですが、最後にパスワードを聞かれて、 登録済みのパスワードを入れても、受け付けてくれません。 これは、ISPのso-netではLinux対応してないので、通じないということ でしょうか?  plalaと同様に使えるようにするためには、何か方法はあるのでしょうか? もし分かったら、教えていただきますようお願いいたします。 よろしくお願いいたします。

  • postgres に接続できない

    PHP4とpostgrs8.0を利用しています。OSはWINDOWS2000です。 $DB_SERVER="localhost"; $Port = "5432"; $DB_NAME="test"; $DB_UID="postgres"; $DB_PASS="abc"; define("DB_CONECT","host=$DB_SERVER port=$Port dbname=$DB_NAME user=$DB_UID password=\"$DB_PASS\""); という設定で pg_connect(DB_CONECT) の接続でエラーが発生します。 Warning: pg_connect(): Unable to connect to PostgreSQL server: FATAL: password authentication failed for user "postgres" in c:\*****.php on line 12 なぜでしょうか? pg_hba.confの設定で host all all 127.0.0.1/32 md5 を host all all 127.0.0.1/32 trust に変更すると接続できるのですが。 それは問題ないのでしょうか? またレンタルサーバーのpostgresを利用する場合、 その設定も個人で変更できるのでしょうか? よろしくお願い致します。

    • ベストアンサー
    • PHP
  • POPメール受信時の表示について

    http://itpro.nikkeibp.co.jp/article/COLUMN/20070827/280400/を参考にPOP3サーバにあるメールをPHPを使って受信しました。 そうした所、2点疑問点があったのですが、どのようにすれば解決できるのかわからなかったので、 アドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします。 1. メールの本文で文字が?になってしまう事があるのですが、どのようにすれば正しく表示されるかがわかりませんでした。 なお、この現象が発生するのは、はしごだか、丸上、丸20、ローマ数字の1、1文字のミリなどとなります。 ■送信時のメール本文 はしごだか(髙) うえ(上) 二十(20) 一I ミリミリ ■受信結果 [本文] はしごだか(?) うえ? 二十? 一? ミリ? 2. HTMLメールを受信時、タグ?のようなものが表示されるのですが、どうすれば普通のメーラーのようにHTMLメールの中身が表示されるかがわかりませんでした。 ■受信結果 [本文] --0016(以下略) Content-Type: multipart/alternative; boundary=0016(以下略) --0016(以下略) Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit *はしごだか(?)* *うえ?* *二十?* 一? ミリ? [image: Blue hills.jpg] --0016(以下略) Content-Type: text/html; charset=ISO-2022-JP Content-Transfer-Encoding: base64 以下略 --0016(以下略)-- --0016(以下略) Content-Type: image/jpeg; name="Blue hills.jpg" Content-Transfer-Encoding: base64 Content-ID: <***> X-Attachment-Id: *** (以下略) --0016(以下略)-- なお、使用したソースは下記となります(host, username, passwordは使用するPOP3サーバにあわせる必要があります)。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>メール受信</title> </head> <body> <?php require_once('Net/POP3.php'); $account = array( 'host' => 'pop.mail.yahoo.co.jp', 'port' => '110', 'username' => 'ユーザ名', 'password' => 'パスワード', ); $pop3 =& new Net_POP3(); $pop3->connect($account['host'], $account['port']); $pop3->login($account['username'], $account['password']); $n_msg = $pop3->numMsg(); $body = mb_convert_encoding($pop3->getBody($n_msg), "utf-8", "jis"); $body = htmlspecialchars($body, ENT_QUOTES, "utf-8"); $pop3->disconnect(); ?> <p>[本文]</p> <pre> <p><?php echo $body; ?></p> </pre> </body> </html> なお、私はYahooのWebメール上で受信したメールを表示して試しましたが、YahooのWebメール上では、1,2共に正常に表示されております。 以上、よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう