Mail.ru вход на страницу электронной почты средствами cURL

Далее в текущей заметке представлен пример работоспособного программного кода на PHP для автоматической авторизации на сайте почтового веб-сервиса mail.ru.

Замечание от 10 октября 2013 года. Данный вариант авторизации на mail.ru более не является актуальным, устарел — мэйлрушники что-то там поменяли у себя (обновился протокол HTTP — стало c HTTPS). Новый рабочий вариант реализации смотрите вот здесь.

<?php
# Задаем параметры учетной записи: логин, пароль, домен (mail.ru, list.ru, bk.ru и т.п.).
$login = 'moyo-milo';
$password = 'moi-parolik';
$domain = 'mail.ru';

# Задаем правдоподобный User Agent.
# Cookies сохраним в папку с нашим скриптом в одноименный текстовый файл.
$user_agent = 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11';
$cookies = dirname(__FILE__) . '/cookies.txt';

# Инициализация cURL:
$robot = curl_init();

# Устанавливаем переменную User Agent ("браузер" пользователя),
# Устанавливаем источник перехода - реферрера.
# cURL будет ждать выполнения функций не более 10 секунд.
curl_setopt($robot, CURLOPT_USERAGENT, $user_agent);
curl_setopt($robot, CURLOPT_REFERER, "http://mail.ru/");
curl_setopt($robot, CURLOPT_TIMEOUT, 10);

# Целевая ссылка для авторизации на mail.ru:
curl_setopt($robot, CURLOPT_URL, "http://e.mail.ru/cgi-bin/auth");

# Разрешаем возвращать содержимое страницы.
# +Если необходимо, тогда переходим по редиректам.
curl_setopt($robot, CURLOPT_RETURNTRANSFER, true);
curl_setopt($robot, CURLOPT_FOLLOWLOCATION, true);

# Устанавливаем POST-запрос:
curl_setopt($robot, CURLOPT_POST, true);
curl_setopt($robot, CURLOPT_POSTFIELDS, "Domain=$domain&Login=$login&Password=$password");

# Работаем с куками, cookies:
curl_setopt($robot, CURLOPT_COOKIEFILE, $cookies);
curl_setopt($robot, CURLOPT_COOKIEJAR, $cookies);

# Запускаем авторизацию:
curl_exec($robot);

# Для примера откроем письмо по представленной ниже ссылке:
curl_setopt($robot, CURLOPT_URL,"https://e.mail.ru/cgi-bin/readmsg?id=13513862710000000343&folder=0");
$html = curl_exec($robot);

# Закрываем cURL:
curl_close($robot);

# Выводим страничку на экран:
print $html;
?>

Краткие пояснения:

Итак, наш мини-бот зайдет на http://e.mail.ru/cgi-bin/auth и передаст POST-запросом логин и пароль для ящика moyo-milo@mail.ru. Далее он «прочитает» одно письмецо. Cookies при этом будут сохраняться в одноименный текстовый файл, который должен быть расположен в папке с представленным выше скриптом.

Опубликовано 13-01-2013 в 07:56


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>











Свежие комментарии

  • krasnov8953: к записи Не работает как мне кажется строчка $newTvId = $ »
  • Dimanski: к записи ничего не понимаю. Ставлю ModX на хостинг r01.ru »
  • Дмитрий: к записи Спасибо! Очень выручили. С битриксом беда, а прав »
  • леонид: к записи как сделать что были в ряд? у меня получается по о »
  • Администратор: к записи Статический IP. »
  • Steel: к записи Администратор, вы данную проблему решили подключен »
  • Дмитрий: к записи Хотел узнать как прикрутить данное окно (http://re »

Blogroll:

Последние твиты