php を使用して、ウェブサイトの smtp がダウンしているかアップしているかを確認したい。fsockopen を使用してサーバーのポート 25 に接続しようとしましたが、smtp サービスが実行されている場合は true を返します。PHPスクリプトを使用してsmtpまたはftpが実行されているかどうかをテストする最良の方法はどれですか.
11178 次
3 に答える
2
あなたはsmtpサーバーについて話しているので、pearフレームワークを有効にする必要があります。役立つリンクhttp://www.authsmtp.com/php-pear-mail/がありました。またはこれを行うことができます:
$f = fsockopen('smtp host', 25) ;
if ($f !== false) {
$res = fread($f, 1024) ;
if (strlen($res) > 0 && strpos($res, '220') === 0) {
echo "Success!" ;
}
else {
echo "Error: " . $res ;
}
}
fclose($f) ;
于 2013-04-23T12:35:32.273 に答える
0
PHP のメール機能を使用します。
http://php.net/manual/en/function.mail.php
実際に、別の安定したアカウント (おそらく gmail?) にメールを送信します。スクリプトは、このアカウントを監視し、予期されたメッセージが受信されたことを確認する必要があります。参照用に読む:
于 2013-04-23T12:27:58.353 に答える
0
smtp の場合、次のようにstream_socket_client()を使用できます。
<?php
$timeout = 30; // your own timeout value
$connection_type = 'tcp'; // may be ssl, sslv2, sslv3 or tls
$host = 'myserver';
$port = 25;
$fp = stream_socket_client("{$connection_type}://{$host}:{$port}", $errno, $errstr, $timeout);
if (!$fp) {
echo "$errstr ($errno)";
}
しかし、FTPの場合はわかりません。
それは確かに最善の解決策ではありませんが、役立つ場合は...
于 2013-04-23T12:34:34.247 に答える