Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Сокеты и получение почты с помощью php

Сообщения:  [1-10]   [11-11] 

 
 автор: Trianon   (13.10.2006 в 13:08)   письмо автору
 
   для: kasmanaft   (13.10.2006 в 12:35)
 

Да, действительно. Почти наверняка сервер ожидает конца строки.
Только не \n а \r\n

fwrite($fp, "USER ziq@list.ru\r\n"); 

   
 
 автор: kasmanaft   (13.10.2006 в 12:35)   письмо автору
 
   для: Ziq   (12.10.2006 в 23:01)
 

>> закрыть соединение и ....
я имел ввиду QUIT послать ...

а LIST можно читать до тех пор, пока не встретим точку:

while (trim($str) != '.')
    $str = fgets($fp, 128);


еще вы забыли про " \n " ... "Maximum execution time" тут наверное из-за етого
fwrite($fp, "USER ziq@list.ru\n");

(аналогично в остальных случаях)

   
 
 автор: Trianon   (13.10.2006 в 09:45)   письмо автору
 
   для: Ziq   (12.10.2006 в 23:01)
 

Уберите команду LIST
Это команда с многострочным ответом, и его Вы до конца не считываете. Отсюда и проблемы.
Кроме того, Вы переусердствовали с ограничением: 4 секунды на всю сессию может и не хватить.

   
 
 автор: Ziq   (12.10.2006 в 23:01)   письмо автору
 
   для: kasmanaft   (12.10.2006 в 22:40)
 

изменил код на

<?
$fp 
fsockopen("pop.list.ru"110$errno$errstr);
if(!
$fp) echo $errstr.'dd';

fwrite($fp"USER ziq@list.ru");
echo 
fgets($fp128)."a";
fwrite($fp"PASS sdfdsfdsf");
echo 
fgets($fp128)."s";
fwrite($fp"LIST");
echo 
fgets($fp128)."d";
fwrite($fp"QUIT");
echo 
fgets($fp128)."f";

fclose($fp);
?>

ответ

+OK a
Fatal error: Maximum execution time of 4 seconds exceeded in D:\www\lab\index.php on line 11


Вы говорили закрыть соединение и читать уже while (!feof($fp)). Если закрыть соединение (fclose()), то feof() выдает ошибку.

   
 
 автор: Ziq   (12.10.2006 в 22:40)   письмо автору
 
   для: kasmanaft   (12.10.2006 в 22:40)
 

...

   
 
 автор: kasmanaft   (12.10.2006 в 22:40)   письмо автору
 
   для: Ziq   (12.10.2006 в 22:36)
 

while (!feof($fp)) здесь не пройдет ..
в данном случае можно попробовать просто fgets($fp);

или послать кучу команд, закрыть соединение и читать уже while (!feof($fp))

   
 
 автор: Ziq   (12.10.2006 в 22:36)   письмо автору
 
   для: Trianon   (12.10.2006 в 09:29)
 

попытался что-то сделать короче вот

<?
$fp 
fsockopen("pop.list.ru"110$errno$errstr);
if(!
$fp) echo $errstr.'dd';

fwrite($fp"USER ziq@list.ru");
while (!
feof($fp)) {
  echo 
fgets($fp128);
}

f
  
echo fgets($fp128);
}

fclose($fp);
?>

ответ такой

+OK 
Fatal error: Maximum execution time of 30 seconds exceeded in D:\www\lab\index.php on line 7

Что не так делаю? Помогите, пожалуйста.

   
 
 автор: Trianon   (12.10.2006 в 09:29)   письмо автору
 
   для: Ziq   (11.10.2006 в 22:42)
 

порт сервера POP3 - 110.
В остальном Вы идете в верном направлении.
Устанавливать соединение нужно с помощью fsockopen
Отправлять команды - с помощью fwrite
Принимать ответы - с помощью fgets
Обратите внимание на то, что некоторые команды выдают ответ одной строкой,
а некоорые другие - многострочный ответ, заканчивающийся строкой с точкой.

   
 
 автор: Ziq   (11.10.2006 в 22:42)   письмо автору
 
   для: cheops   (11.10.2006 в 22:37)
 

Честно говоря я не знаю просто что лучше. Где-то читал на форуме, что самый простой способ это POP3 вот и решил начать с простого.

   
 
 автор: cheops   (11.10.2006 в 22:37)   письмо автору
 
   для: Ziq   (11.10.2006 в 21:47)
 

Хм... почту лучше с помощью IMAP получать - она всё равно на сервере хранится.

   

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования