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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Получение письма
 
 автор: Alph[p]a   (18.02.2007 в 00:24)   письмо автору
 
 

Никогда с этим не сталкивался..вот интересно стал0..на ф0руме наш0л..
создал ящик на майле тестовый.ну там одно сообщение..)

<?php 
$login
="testphpmail";
$pass="testphpmail";
$fp=fsockopen('pop.mail.ru',110); 
fputs($fp,"USER $login\r\n"); 
echo 
fgets($fp,1024); 
fputs($fp,"PASS $pass\r\n"); 
echo 
fgets($fp,1024); 
fputs($fp,"LIST\r\n"); 
echo 
fread($fp,5000); 
?>

выводит

+OK +OK Password required for user testphpmail +OK testphpmail@mail.ru maildrop has 1 messages (1024 octets)

подскажите чё делать то надо чтоб сообщение прочитать само и затем удалить его.
И еще как сделать чтоб скрипт работал постоянно..или придёться только крон использовать ?
PS imap-ом пользоваться не хочу..

   
 
 автор: kasmanaft   (18.02.2007 в 12:02)   письмо автору
 
   для: Alph[p]a   (18.02.2007 в 00:24)
 

Прочитать сообщение можно командой RETR, удалить - DELE.
Подробнее можно тут почитать.

   
 
 автор: Alph[p]a   (18.02.2007 в 12:17)   письмо автору
 
   для: kasmanaft   (18.02.2007 в 12:02)
 

я там смотрел. что то не читает он всё равно

<?php 
$login
="testphpmail";
$pass="testphpmail";
$fp=fsockopen('pop.mail.ru',110); 
fputs($fp,"USER $login\r\n"); 
echo 
fgets($fp,1024);
echo 
'<hr>';
fputs($fp,"PASS $pass\r\n"); 
echo 
fgets($fp,1024);
echo 
'<hr>';
fputs($fp,"RETR 1\r\n"); 
echo 
fgets($fp128);
echo 
'<hr>';
fwrite($fp"QUIT"); 
echo 
fgets($fp128); 
fclose($fp);
?>

выводит

+OK 
+OK Password required for user testphpmail 
+OK testphpmail@mail.ru maildrop has 2 messages (1024 octets) 
+OK 1 octets

даже и незнаю ч0 делать :(

   
 
 автор: ddhvvn   (18.02.2007 в 12:35)   письмо автору
 
   для: Alph[p]a   (18.02.2007 в 12:17)
 

Как это нечитает?!

Написано же, что имеется 2 сообщения!

   
 
 автор: Alph[p]a   (18.02.2007 в 12:43)   письмо автору
 
   для: ddhvvn   (18.02.2007 в 12:35)
 

Мне нужно содержание..ну хотябы 1-го сообщения..тело письма как достать-то?

   
 
 автор: kasmanaft   (18.02.2007 в 12:44)   письмо автору
 
   для: Alph[p]a   (18.02.2007 в 12:17)
 

Команда RETR отдает многострочный ответ

C: RETR 1
S: +OK 120 octets
S: 
S: .
А ты читаешь только одну строку (+OK 1 octets)
То есть "echo fgets($fp, 128);" нужно заменить на что-то вроде этого:

$message = '';
do
{
    echo $str = fgets($fp);
}
while(trim($str) != '.');


+ Первая строка "+OK " - это приглашение сервера, а не ответ на USER.
++ После QUIT нужно бы добавить \r\n

   
 
 автор: Alph[p]a   (18.02.2007 в 13:48)   письмо автору
 
   для: kasmanaft   (18.02.2007 в 12:44)
 

Всё Ok! Работает. Спасибо kasmanaft.

   
 
 автор: ip027   (23.02.2007 в 21:05)
 
   для: Alph[p]a   (18.02.2007 в 00:24)
 

у меня вообще выдает
+OK
-ERR To few arguments for user command
-ERR Unknown command: "password"

   
 
 автор: ip027   (23.02.2007 в 21:09)
 
   для: ip027   (23.02.2007 в 21:05)
 

сори за 2 поста. в чем проблема?

   
 
 автор: kasmanaft   (24.02.2007 в 07:04)   письмо автору
 
   для: ip027   (23.02.2007 в 21:05)
 

Может быть в имя попал пробел?
А вместо password нужно отсылать PASS.

   
Rambler's Top100
вверх

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