Скритп прочтения писем

Тема в разделе "PHP", создана пользователем LEXAlForpostl, 3 апр 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Здравствуйте.
    Решил написать скрипт прочтения писем на сервере маил.ру. Но только те письма, которые пришли с определённого адреса.
    Чего-то не выходит авторизация в маиле. Подскажите пожалуйста,как авторизовать скрипт.
     
  2. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    PHP:
    $url "http://win.mail.ru/cgi-bin/auth";   
    $ch curl_init(); 
    curl_setopt($chCURLOPT_VERBOSE1);
    curl_setopt($chCURLOPT_HEADER0);   
    curl_setopt($chCURLOPT_URL$url);     
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);   
    curl_setopt($chCURLOPT_POST1);   
    curl_setopt($chCURLOPT_POSTFIELDS"Login=$login&Domain=$domain&Password=$password");   
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_USERAGENT'Mozilla/4.0.' .'(compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)');
      
    $result curl_exec($ch);
    echo 
    $result;
    Вместо $login, $domain и $password подставляешь свои значения
     
  3. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Что подcтавлять в переменную $domain?
    И как сохранять полученные куки?
     
  4. Acidrayne

    Acidrayne

    Регистр.:
    30 сен 2007
    Сообщения:
    296
    Симпатии:
    20
    для сохранения coockie

     
  5. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    почтовый домен, @mail.ru, @list.ru или какой-то еще. Включайте соображалку раз уж взялись программировать
     
  6. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    708
    Симпатии:
    225
    Включил соображалку. Пробовал.
    Выкидывает на страницу авторизации.
    Пробовал в домен подставлять mail, mail.ru,mailru Не помогает.
     
  7. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
    Скрипт выдёргивает с ящиков @mail.ru ссылку для подверждения анкеты в loveplanet:

    PHP:
    <?php
    $cookie_path 
    "D:\WORK\Server\www\loveplanet\cookies.txt";
    if (empty(
    $mails)) {
    ?>
    <center>
    <br><br><br>
    <form method="post">
    <textarea rows="30" cols="45" name="mails"></textarea><br><br>
    <input type="submit" value="Submit">
    </form>
    </center>
    <?
    } else {
    $mails = explode("\n", $mails);
    foreach ($mails as $mail) {
            unlink($cookie_path);
            $mail = trim($mail);
            $mail = explode(":", $mail);
            $login = substr($mail[0], 0, strpos($mail[0], "@"));
            $pass = $mail[1];
            $post = "Login=$login&Domain=mail.ru&Password=$pass";
            $ch = curl_init("http://win.mail.ru/cgi-bin/auth");
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_REFERER, "http://mail.ru/");
            curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
            curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_path);
            curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_path);
            $data = curl_exec($ch);
            curl_close($ch);
            $ch = curl_init("http://win.mail.ru/cgi-bin/msglist?folder=0");
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_REFERER, "http://win.mail.ru/cgi-bin/start?back=1");
            curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
            curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_path);
            curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_path);
            $data = curl_exec($ch);
            curl_close($ch);
            preg_match("|sup@loveplanet.ru\"><a href=\"readmsg\?id=(.*?)\">sup@loveplanet.ru|s", $data, $matches);
            $id = $matches[1];
            $url = 'http://win.mail.ru/cgi-bin/readmsg?id='.$id;
            $ch = curl_init($url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_REFERER, "http://win.mail.ru/cgi-bin/msglist?folder=0");
            curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
            curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_path);
            curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_path);
            $data = curl_exec($ch);
            curl_close($ch);
            preg_match("|<a href=\"(http://loveplanet.ru/\?a=confirm_reg&uid=.*?)\" target=\"_blank\">|s", $data, $matches);
            $link = $matches[1];
            echo $link.'<br>';
    }
    }
    ?>
    Мыла скармливать в формате login@mail.ru:password, по одному на строку. Измени $cookie_path на свой, ну и регулярки подправить нужно для твоего адреса.
     
  8. potuga

    potuga

    Регистр.:
    22 сен 2009
    Сообщения:
    376
    Симпатии:
    91
    Народ, вы че с дуба упали через веб-интерфейс письма читать на мэйле? Вам трафа и времени не жалко? Чем pop3 не подходит? Вот статья http://webi.ru/webi_articles/6_12_f.html
     
Статус темы:
Закрыта.