Как выяснилось способ программной авторизации на почтовом веб-сервисе популярного портала Mail.ru, представленный мною ранее больше не работает. Причина простая и достаточно банальная, — теперь для входа в ящик используется HTTPS вместо HTTP. Плюс вместо POST-запроса теперь можно слать GET. Потому далее я приведу новый пример скрипта на PHP, который учитывает эти особенности.
<?php # Задаем параметры учетной записи: логин, пароль, домен (mail.ru, list.ru, bk.ru и т.п.). $login = 'programmer@mail.ru'; $password = '34738v%FDcv&#fdfe3'; $domain = 'mail.ru'; # Прописываем User Agent "от балды". # Куки сохраняем в папку со скриптом, в одноименный документ *.txt. $user_agent = 'Mozilla/5.0 (compatible; MJ12bot/v1.4.3; http://www.majestic12.co.uk/bot.php?+)'; $cookies = dirname(__FILE__) . '/cookies.txt'; # Начинаем, cURL: $red_book_cms = curl_init(); # Задаем User Agent ("браузер" нашего псевдо пользователя), # Задаем источник перехода - реферера. # cURL будет ждать выполнения функций не более 10 секунд. curl_setopt($red_book_cms, CURLOPT_USERAGENT, $user_agent); curl_setopt($red_book_cms, CURLOPT_REFERER, "http://mail.ru/"); curl_setopt($red_book_cms, CURLOPT_TIMEOUT, 10); # Ссылка с GET-запросом для авторизации на почте mail.ru: curl_setopt($red_book_cms, CURLOPT_URL, "https://auth.mail.ru/cgi-bin/auth?Domain=$domain&Login=$login&Password=$password"); # Не будем проверять SSL сертификат и Host SSL сертификата curl_setopt($red_book_cms, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($red_book_cms, CURLOPT_SSL_VERIFYHOST, false); # Разрешаем возвращать содержимое страницы. # Если понадобится, тогда автоматом переходим по перенаправлениям. curl_setopt($red_book_cms, CURLOPT_RETURNTRANSFER, true); curl_setopt($red_book_cms, CURLOPT_FOLLOWLOCATION, true); # Работаем с куками, cookies: curl_setopt($red_book_cms, CURLOPT_COOKIEFILE, $cookies); curl_setopt($red_book_cms, CURLOPT_COOKIEJAR, $cookies); # Запускаемся: $html = curl_exec($red_book_cms); // print curl_getinfo($red_book_cms, CURLINFO_HTTP_CODE); # Для примера откроем список писем во Входящие: curl_setopt($red_book_cms, CURLOPT_URL, "https://e.mail.ru/messages/inbox/?back=1"); $html = curl_exec($red_book_cms); # Закрываемся: curl_close($red_book_cms); # Выводим содержимое веб-страницы в окошко браузера: print $html; ?>
Пожалуйста не забудьте в заголовке приведенного здесь программного кода вписать данные вашей учетной записи. Cookies будут сохраняться в текстовый файл, в том же каталоге, откуда вы запустите «бота».
не работает больше
Робит всё.