こんにちは:
)PHPの機能に問題があります。なぜうまくいかないのか理解できず、それが私のプロジェクトの問題です。
コンテキスト:
私はJoomlaを持っていて、オプション「SMTPサーバー」を介して電子メールを送信したいと考えています。動作せず、「SMTPホストに接続できません」というメッセージが表示されます。
私はグーグルでその問題を検索しました、そして私が見つけたすべての解決策は私のために働きませんでした。そこで、コードを調べて何が起こったのかを確認することにしました。この問題は、組み込みのPHPメソッドであるメソッド「fsockopen()」をコードで呼び出すときに発生します。このメソッドは、ホストへの接続がタイムアウトしたことを示しています。
面白くなるところ:同じマシン上で、メールクライアント(Evolution)とまったく同じパラメーターを使用して、このホストに接続して電子メールを送信できます(したがって、ポートが開いているなどの問題はありません)。
方法は次のとおりです。
fsockopen($host, $port, $errno, $errstr, $tval);
使用されたパラメータと返されたエラー:
$host : ssl://smtp.laposte.net.
$port : 25
$errno : 110
$errstr : Connection timed out
$tval : 10
いくつかの技術情報:
PHPバージョン:5.2.14
ソケットサポート:有効
OS:仮想マシン(VMWare)でのUbuntu 10.10
ポート:ポート25(smtp)は、仮想マシンと仮想マシンのホストで開いています。
この機能がどのように機能し、なぜ接続できないのかを誰かが知っていれば、それは私を大いに助けてくれます、
よろしくお願いします、
ダミアン