У мен возникла необходимость приконектиться к pop серверу и забрать со своего ящика все письма. Для данной задачи я выбрал сокеты, а именно функцию fsockopen(). Пытаюсь авторизироваться с сервером так:
$sock = fsockopen ("pop.mail.ru", 110, $errno, $errstr, 30);
if (!$sock) {
echo "$errstr ($errno)
\n";
}
else {
fputs ($sock, "USER mylogin");
if (!$sock)
{
echo "$errstr ($errno)
\n";
}
else
{
fputs ($sock, "PASS mypass");
if (!$sock)
{
echo "$errstr ($errno)
\n";
}
else
{
fputs ($sock, "LIST");
echo fgets ($sock,128);
}
}
}
И вот в чем проблема! Сокет работает, то есть подсоединение с сервером происходит, но вместо списка коичества писем в виде:
+OK
1 46394
2 20377
3 27074
Мне показывает только +OK
Не пойму в чем дело Помогите а? Надеюсь что хоть кто-нибудь понимает в этом и ответит мне...
sockets в PHP
Проснитесь больной!!!... Пора принимать снотворное.
- берёт одну строчку длинной до 127 битов.fgets ($sock,128);
Так что всё путём. Для того, чтобы прочитать несколько строчек используй fread.
Даже самый дурацкий замысел можно воплотить мастерски
Кстати все получилось у меня, там просто цикл задал чтобы переменную вывести точнее строки в переменной, но вот в чем проблема! не могу получить само письмо Шлю команду RETR 1 и получаю почему то:
+OK
+OK Password required for user stuser@list.ru
+OK stuser@list.ru maildrop has 2 messages (2145 octets)
+OK 2 messages (2145 octets)
1 1075
2 1070
.
В доках почитал и там сказано что:
команда RETR извлекает сообщение с указанным номером и помещает его в буфер местного UA:
CLIENT: RETR 1 SERVER: +OK 120 octets SERVER: <the POPS server sends the entire message here> (РОРЗ-сервер высылает сообщение целиком) SERVER:
И чо с этим буфером делать? Откуда получить этот буфер? Может вопрос глупый но я новичок в этом, второй день тока пишу скрипт. Заранее спасибо за ответ.
+OK
+OK Password required for user stuser@list.ru
+OK stuser@list.ru maildrop has 2 messages (2145 octets)
+OK 2 messages (2145 octets)
1 1075
2 1070
.
В доках почитал и там сказано что:
команда RETR извлекает сообщение с указанным номером и помещает его в буфер местного UA:
CLIENT: RETR 1 SERVER: +OK 120 octets SERVER: <the POPS server sends the entire message here> (РОРЗ-сервер высылает сообщение целиком) SERVER:
И чо с этим буфером делать? Откуда получить этот буфер? Может вопрос глупый но я новичок в этом, второй день тока пишу скрипт. Заранее спасибо за ответ.
Проснитесь больной!!!... Пора принимать снотворное.
Даже самый дурацкий замысел можно воплотить мастерски
нууу... на англицком я не бачу. Шо ты мене предлахаеш???
Проснитесь больной!!!... Пора принимать снотворное.
учить английский
А вообще я клоню к тому, что изобретение велосипедов не самое полезное задание.
Исхдники предложенные посмотри...
А вообще я клоню к тому, что изобретение велосипедов не самое полезное задание.
Исхдники предложенные посмотри...
Даже самый дурацкий замысел можно воплотить мастерски
посмотрю обязательно, только мне это ООП в этом исходнике не понять, да и вообще пока не пнять что там за "->"
Проснитесь больной!!!... Пора принимать снотворное.
Даже если изобретать велосипед, то самому дойти до этого и понять как работает интересней обьсяни что это за класс в этих исходниках и как его реализовать? ну в двух словах, а? Сам исходник я так понял небольшой и находится в разделе SYNOPSIS. О какой понятливый
Проснитесь больной!!!... Пора принимать снотворное.
Ой, блин. Тяжело тебе будет, раз ты ссылку на исходник углядеть не можешь:
http://www.thewebmasters.net/php/class.POP3.phps
http://www.thewebmasters.net/php/class.POP3.phps
Даже самый дурацкий замысел можно воплотить мастерски
Просто все равно хотелось самому написать а не пользоваться классами. Ну а как быть со вложенными письмами??? Как их то получать через протокол pop3? Дай намётку, есть ли это в этом классе? Я поищу тогда данную фишку. Просто ведь письма приходят и вложенные и может вообще картинка
Проснитесь больной!!!... Пора принимать снотворное.