Помимо проверки авторизационных данных через SMTP, можно использовать безопасный HTTPS гейт auth.mail.ru. Также авторизация может проводиться через небезопасные гейты. Они существуют практически на всех поддоменах, например: win.mail.ru и my.mail.ru. Но мы рассматриваем безопасную передачу данных. Итак, запрос идёт по адресу https://auth.mail.ru/cgi-bin/auth. Он может быть передан как методом GET, так и методом POST.
Передаются следующие переменные:
Login - логин или адрес электронной почты
Domain - домен (необходим в случае, если в Login не указан домен)
Password - пароль
Образец:
Во втором случае переменная домена не используется, поскольку в качестве логина передаётся адрес почтового ящика полностью.
При неудачной авторизации гейт выдаёт следующее:
Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head><title>@MAIL.RU: авторизация</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<script language="JavaScript"><!--
window.location.replace("http://win.mail.ru/cgi-bin/login?email=vasya@mail.ru&fail=1");
// --></script>
<meta http-equiv="refresh" content="0;url=http://win.mail.ru/cgi-bin/login?email=vasya@mail.ru&fail=1">
</head>
<body></body>
</html>
А при удачной выдаёт это:
Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head><title>@MAIL.RU: авторизация</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<script language="JavaScript"><!--
window.location.replace("http://win.mail.ru/cgi-bin/checkcookie?id=***&page=http%3A%2F%2Fwin.mail.ru%2Fcgi-bin%2Fstart");
// --></script>
<meta http-equiv="refresh" content="0;url=http://win.mail.ru/cgi-bin/checkcookie?id=***&page=http%3A%2F%2Fwin.mail.ru%2Fcgi-bin%2Fstart">
</head>
<body></body>
</html>
По такому ответу не трудно разобрать, что при неудачной авторизации нужно проверять ответ от сервера на предмет содержания в нём текста "fail=1", а в случае удачной авторизации - "checkcookie?id=".