проверка почты

IliaK

Новичок
проверка почты

здравствуйте. написал простейший скрипт проверки почты:

PHP:
<?php
// main settings
$server = 'some.server'; // mail server
$login = 'some.login'; // login on server
$password = 'some.password'; // password on server
print "<pre>\n";
$fp = fsockopen( "$server", 110, $errno, $errdesc, 10);
if ( !$fp )
	die("cannot connect to $server\n$errno\n$errdesc\n\n");
$line = fgets($fp, 1024);
$status = explode(" ", $line);
if ( $status[0] != '+OK' )
	{
	fputs($fp, "quit");
	die("error: $line\n\n");
	}
fputs($fp, "USER $login\n");
$line = fgets($fp, 1024);
$status = explode(" ", $line);
if ( $status[0] != '+OK' )
	{
	fputs($fp, "quit");
	die("error: invalid login, $line\n\n");
	}
fputs($fp, "PASS $password\n");
$line = fgets($fp, 1024);
$status = explode(" ", $line);
if ( $status[0] != '+OK' )
	{
	fputs($fp, "quit");
	die("error: invalid password, $line\n\n");
	}
fputs($fp, "STAT\n");
$line = fgets($fp, 1024);
$status = explode(" ", $line);
if ( $status[0] != '+OK' )
	{
	fputs($fp, "quit");
	die("error: $line\n\n");
	}
if ( $status[1] != '0' )
	{
	// смотрим письма
 	print "новые письма есть<br>";
 	for ( $counter = '1'; $counter<=$status[1]; $counter++ )
		{
		fputs($fp, "RETR $counter\n");
		do
			{
			$line=fgets($fp, 1024);
			print("$line\n");
			}
		while ( $line != '.' );
		print "<hr>";
		
		}
	}
else
	{
	fputs($fp, "quit");
	die("новых писем нет");
	}
?>
если новых писем нет - всё в порядке;
проблемы начинаются если новые письма есть - некоторое время "ничего не происходит", затем отдаётся пустая страница.

в error_log сервера ничего интересного.

подскажите, что я делаю не так?
 

Lews

Новичок
ну так найди строчку, на которой некоторое время "ничего не происходит".
И не забудь включить отображение ошибок.
 
Сверху