За последние 24 часа нас посетили 17536 программистов и 1310 роботов. Сейчас ищут 1148 программистов ...

Ошибка при подключении через fsockopen.

Тема в разделе "Работа с почтой", создана пользователем Mihon_kri, 10 окт 2013.

  1. Mihon_kri

    Mihon_kri Новичок

    С нами с:
    10 окт 2013
    Сообщения:
    19
    Симпатии:
    0
    Всем добрый день!
    Столкнулся со следующей задачей: есть e-mail на google. Нужно считать оттуда письма. Пытаюсь установить соединение через fsockopen:
    $pop_conn = fsockopen("pop.gmail.com", 995, $errno, $errstr, 10);
    print fgets($pop_conn,1024);

    После минутной паузы появляется следующая ошибка: Fatal error: Maximum execution time of 30 seconds exceeded in Z:\home\callcentr1111.ru\www\gmail.php on line 22

    Пробовал менять порт на 110:
    $pop_conn = fsockopen("pop.gmail.com", 110,$errno, $errstr, 10);
    print fgets($pop_conn,1024);
    Опять ошибка: Warning: fsockopen() [function.fsockopen]: unable to connect to pop.gmail.com:110 (Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. ) in Z:\home\callcentr1111.ru\www\gmail.php on line 21

    Warning: fgets() expects parameter 1 to be resource, boolean given in Z:\home\callcentr1111.ru\www\gmail.php on line 22
    В чем может быть тут дело? Может порт не тот? Соединиться пытаюсь с локального хостинга
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.099
    Симпатии:
    1.243
    Адрес:
    там-сям
    чувак, а ты смотрел что у тебя в строке 22? сдается мне это не fsockopen

    Добавлено спустя 4 минуты 49 секунд:
    похоже тебе надо сначало что-то послать в сокет, только потом читать. гугль тебя ждет ;)
    https://www.google.ru/search?q=pop3%20php%20example
     
  3. Mihon_kri

    Mihon_kri Новичок

    С нами с:
    10 окт 2013
    Сообщения:
    19
    Симпатии:
    0
    С нумерацией по строкам:
    21 $pop_conn = fsockopen("pop.gmail.com", 995, $errno, $errstr, 10);
    22 print fgets($pop_conn,1024);


    по идее должен придти ответ что то типа +OK и по идее функция print должна его вывести... Или я не прав?
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.099
    Симпатии:
    1.243
    Адрес:
    там-сям
    нет не прав. как правило, сначала вопрошающий должен послать запрос. открой соединение терминалом и попытайся потеребить ручками.
    короче, нужны доки по протоколу с примерами. без этого никак.
     
  5. Mihon_kri

    Mihon_kri Новичок

    С нами с:
    10 окт 2013
    Сообщения:
    19
    Симпатии:
    0
    Спасибо, буду пробовать...
     
  6. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41